Payment Method Tokenization
Overview
Payment Method Tokenization is the exchange of payment data for a token representation provided by the payment gateway for PCI Compliance. This is an initial step in the payments lifecycle.
Prerequisites
There is one prerequisite resource that must be created before creating a Payment Method Tokenization.
Object | Definition |
---|---|
Payment Gateway | Payment Gateways track all the configuration settings that Chargent will use to proccess the payments and send requests to the gateway. |
Create Methods
There are four methods for creating payment methods and tokens.
Method | Definition |
---|---|
Create Payment Method | Create a new Payment Method Tokenization with the Payment Gateway. |
Import Payment Method Tokens | Import existing tokens with a Payment Gateway into Chargent. |
Multiple Gateway Tokenization | Create multiple Payment Method Tokenizations across multiple MIDs or multiple Payment Gateways. |
Headless Tokenization | Create Payment Method Tokenizations without storing response data in Salesforce. |
Picklist Values
The following values may be sent for the picklist types.
Picklist | Values |
---|---|
paymentMethodType | Credit Card Bank Account |
cardType | Visa , Mastercard , Discover , American Express , MC Eurocard , UK Maestro , JCB Card , Diners Card |
bankAccountType | Checking , Savings , Business Checking |
Create Payment Method
Resource URL
HTTP Request | URL |
---|---|
POST | /services/apexrest/ChargentBase/payments/payment-methods |
Credit Card
Request
JSON Example
{
"address": { // optional
"city": "San Francisco",
"companyName": "Salesforce",
"country": "US",
"postalcode": "94105",
"state": "California",
"street": "415 Mission St."
},
"cardPaymentMethod": {
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "Test",
"cardHolderName": "Chargent Test",
"cardNumber": "{{cardNumber}}",
"cardType": "{{cardType}}",
"cvv": "{{cvv}}",
"expiryMonth": "{{expiryMonth}}",
"expiryYear": "{{expiryYear}}",
"nickName": "Chargent Test's Business Visa"
},
"paymentGatewayId": "{{gatewayId}}",
"phone": "{{$randomPhoneNumber}}", // optional
"email": "{{$randomEmail}}" // optional
}
Response
JSON Example
{
"paymentMethod": {
"tokens": [
{
"token": "47444425",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
}
],
"status": "Created",
"id": "{{paymentMethodId}}"
},
"logs": [
{
"id": "{{logId}}",
"gatewayResultCode": "200",
"createdDate": "2023-09-18T21:34:43.131Z"
}
],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-09-18T21:34:43.131Z",
"gatewayAvsCode": ""
}
}
Bank Account
Request
JSON Example
{
"address": { // optional
"companyName": "Salesforce",
"street": "415 Mission St.",
"state": "CA",
"postalcode": "94105",
"country": "US",
"city": "San Francisco"
},
"bankAccountPaymentMethod": {
"bankAccountType": "Checking",
"bankInstitutionName": "{{$randomBankAccountName}}",
"bankAccountNumber": "{{bankAccountNumber}}",
"routingNumber": "{{routingNumber}}",
"bankAccountHolderName": "Chargent Test",
"bankAccountHolderLastName": "Test",
"bankAccountHolderFirstName": "Chargent",
"nickName": "Chargent Test's Business Checking"
},
"paymentGatewayId": "{{gatewayId}}",
"phone": "{{$randomPhoneNumber}}", // optional
"email": "{{$randomEmail}}" // optional
}
Response
JSON Example
{
"paymentMethod": {
"tokens": [
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
}
],
"status": "Created",
"id": "{{paymentMethodId}}"
},
"logs": [
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayResultCode": "200",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T21:44:44.881Z"
}
],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-12-06T21:44:44.882Z"
}
}
Payment Method List
Request
JSON Example
[
{
"address": { // optional
"city": "San Francisco",
"companyName": "Salesforce",
"country": "US",
"postalcode": "94105",
"state": "California",
"street": "415 Mission St."
},
"cardPaymentMethod": {
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "Test",
"cardHolderName": "Chargent Test",
"cardNumber": "{{cardNumber}}",
"cardType": "{{cardType}}",
"cvv": "{{cvv}}",
"expiryMonth": "{{expiryMonth}}",
"expiryYear": "{{expiryYear}}",
"nickName": "Chargent Test's Business Visa"
},
"paymentGatewayId": "{{gatewayId}}",
"phone": "{{$randomPhoneNumber}}", // optional
"email": "{{$randomEmail}}" // optional
},
{
"address": { // optional
"companyName": "Salesforce",
"street": "415 Mission St.",
"state": "CA",
"postalcode": "94105",
"country": "US",
"city": "San Francisco"
},
"bankAccountPaymentMethod": {
"bankAccountType": "Checking",
"bankInstitutionName": "{{$randomBankAccountName}}",
"bankAccountNumber": "{{bankAccountNumber}}",
"routingNumber": "{{routingNumber}}",
"bankAccountHolderName": "Chargent Test",
"bankAccountHolderLastName": "Test",
"bankAccountHolderFirstName": "Chargent",
"nickName": "Chargent Test's Business Checking"
},
"paymentGatewayId": "{{gatewayId}}",
"phone": "{{$randomPhoneNumber}}", // optional
"email": "{{$randomEmail}}" // optional
}
]
Response
JSON Example
[
{
"paymentMethod": {
"tokens": [
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
}
],
"status": "Created",
"id": "{{paymentMethodId}}"
},
"logs": [
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayResultCode": "200",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T21:52:48.625Z"
}
],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-12-06T21:52:48.625Z"
}
},
{
"paymentMethod": {
"tokens": [
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
}
],
"status": "Created",
"id": "{{paymentMethodId}}"
},
"logs": [
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayResultCode": "200",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T21:52:48.625Z"
}
],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-12-06T21:52:48.625Z"
}
}
]
JSForce Example
Node.js Example
function createPaymentMethod(conn, iterationNumber, gatewayId) {
const relativeUrl = "/services/apexrest/ChargentBase/payments/payment-methods"
var paymentMethod = {
address: {
"city": "San Francisco",
"companyName": "Salesforce",
"country": "US",
"postalcode": "94105",
"state": "California",
"street": "415 Mission St."
},
cardPaymentMethod: {
"cardCategory": "CreditCard",
"cardHolderFirstName": `Chargent ${iterationNumber}`,
"cardHolderLastName": `Test ${iterationNumber}`,
"cardHolderName": `Chargent Test ${iterationNumber}`,
"cardNumber": "{{cardNum}}",
"cardType": "Visa",
"cvv": "123",
"expiryMonth": "12",
"expiryYear": "25",
"nickName": `Nickname ${iterationNumber}`
},
paymentGatewayId: gatewayId,
phone: "{{phoneNumber}}",
email: "{{emailAddress}}"
}
console.log(JSON.stringify(paymentMethod))
return new Promise((resolve, reject) => {
conn.request({
method: 'POST',
url: relativeUrl,
body: JSON.stringify(paymentMethod),
headers: { 'Content-Type': 'application/json' }
}, function(error, result) {
if (error) {
reject(error)
} else {
resolve(result)
}
})
})
}
module.exports = createPaymentMethod
Import Payment Method Tokens
Resource URL
HTTP Request | URL |
---|---|
POST | /services/apexrest/ChargentBase/payments/payment-methods/tokens |
Request List
JSON Example
[
{
"cardPaymentMethod": {
"cardPaymentMethodName": "Braintree Credit Card",
"paymentMethodType": "Credit Card",
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "Test",
"cardHolderName": "Chargent Test",
"cardType": "Visa",
"cardExpirationMonth": "12",
"cardExpirationYear": "2025",
"cardLast4": "1234",
"company": "Salesforce",
"nickName": "Chargent Test's Business Visa",
"billing": {
"billingAddress": "415 Mission St.",
"billingCity": "San Francisco",
"billingCountry": "US",
"billingEmail": "{{emailAddress}}",
"billingPhone": "123-456-7890",
"billingState": "California",
"billingPostalCode": "94105"
},
"token" : {
"token": "{{token}}",
"paymentGatewayId" : "{{gatewayId}}"
}
}
},
{
"bankAccountPaymentMethod": {
"bankAccountPaymentMethodName": "Braintree Bank Account",
"paymentMethodType": "Bank Account",
"bankAccountHolderFirstName": "Chargent",
"bankAccountHolderLastName": "Test",
"bankAccountHolderName": "Chargent Test",
"routingNumber": "123456789",
"accountLast4": "1234",
"bankAccountType": "Checking",
"bankAccountValidatedOn": "2023-05-30T18:25:43.511Z",
"bankInstitutionName": "{{bankName}}",
"company": "Salesforce",
"billing": {
"billingAddress": "415 Mission St.",
"billingCity": "San Francisco",
"billingCountry": "US",
"billingEmail": "{{emailAddress}}",
"billingPhone": "123-456-7890",
"billingState": "California",
"billingPostalCode": "94105"
},
"token" : {
"token": "{{token}}",
"paymentGatewayId" : "{{gatewayId}}"
}
}
},
{
"cardPaymentMethod": {
"cardPaymentMethodName": "Cybersource Credit Card",
"paymentMethodType": "Credit Card",
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "Test",
"cardHolderName": "Chargent Test",
"cardType": "Visa",
"cardExpirationMonth": "12",
"cardExpirationYear": "2025",
"cardLast4": "1234",
"company": "Salesforce",
"nickName": "Chargent Test's Personal Visa",
"billing": {
"billingAddress": "415 Mission St.",
"billingCity": "San Francisco",
"billingCountry": "US",
"billingEmail": "{{emailAddress}}",
"billingPhone": "123-456-7890",
"billingState": "California",
"billingPostalCode": "94105"
},
"token" : {
"token": "{{token}}",
"paymentGatewayId" : "{{gatewayId2}}"
}
}
}
]
Response List
JSON Example
{
"paymentMethodsResponse": {
"totalSuccess": 3,
"totalErrors": 0,
"records": [
{
"tokenId": "{{token}}",
"message": "Braintree Credit Card was created;",
"id": "{{paymentMethodId}}"
},
{
"tokenId": "{{token}}",
"message": "Braintree Bank Account was created;",
"id": "{{paymentMethodId}}"
},
{
"tokenId": "{{token}}",
"message": "Cybersource Credit Card was created;",
"id": "{{paymentMethodId}}"
}
],
"message": "Imported payment methods successfully"
}
}
Multiple Gateway Tokenization
Resource URL
HTTP Request | URL |
---|---|
POST | /services/apexrest/ChargentBase/payments/payment-methods |
Request
JSON Example
{
"address": { // optional
"city": "San Francisco",
"companyName": "Salesforce",
"country": "US",
"postalcode": "94105",
"state": "California",
"street": "415 Mission St."
},
"cardPaymentMethod": {
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "MGT Test",
"cardHolderName": "Chargent MGT Test",
"cardNumber": "{{cardNumber}}",
"cardType": "{{cardType}}",
"cvv": "{{cvv}}",
"expiryMonth": "{{expiryMonth}}",
"expiryYear": "{{expiryYear}}",
"nickName": "Chargent MGT Test's Business Visa"
},
"paymentGatewayId": "{{gatewayId}}",
"multipleTokenization": true,
"paymentGatewayIds": ["{{gatewayId2}}", "{{gatewayId3}}", "{{gatewayId4}}"],
"phone": "{{$randomPhoneNumber}}", //optional
"email": "{{$randomEmail}}" //optional
}
Response
JSON Example
{
"paymentMethod": {
"tokens": [
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
},
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
},
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
},
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
}
],
"status": "Created",
"id": "{{paymentMethodId}}"
},
"logs": [
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T23:35:08.588Z"
},
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayResultCode": "201",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T23:35:08.588Z"
},
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayResultCode": "100",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T23:35:08.588Z"
},
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayResultCode": "200",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T23:35:08.588Z"
}
],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-12-06T23:35:08.588Z"
}
}
Request List
JSON Example
[
{
"address": { // optional
"city": "San Francisco",
"companyName": "Salesforce",
"country": "US",
"postalcode": "94105",
"state": "California",
"street": "415 Mission St."
},
"cardPaymentMethod": {
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "MGT Test",
"cardHolderName": "Chargent MGT Test",
"cardNumber": "{{cardNumber}}",
"cardType": "{{cardType}}",
"cvv": "{{cvv}}",
"expiryMonth": "{{expiryMonth}}",
"expiryYear": "{{expiryYear}}",
"nickName": "Chargent MGT Test's Business Visa"
},
"paymentGatewayId": "{{gatewayId}}",
"multipleTokenization": true,
"paymentGatewayIds": ["{{gatewayId2}}"],
"phone": "{{$randomPhoneNumber}}", //optional
"email": "{{$randomEmail}}" //optional
},
{
"address": { // optional
"city": "San Francisco",
"companyName": "Salesforce",
"country": "US",
"postalcode": "94105",
"state": "California",
"street": "415 Mission St."
},
"cardPaymentMethod": {
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "MGT Test",
"cardHolderName": "Chargent MGT Test",
"cardNumber": "{{cardNumber}}",
"cardType": "{{cardType}}",
"cvv": "{{cvv}}",
"expiryMonth": "{{expiryMonth}}",
"expiryYear": "{{expiryYear}}",
"nickName": "Chargent MGT Test's Business Visa"
},
"paymentGatewayId": "{{gatewayId}}",
"multipleTokenization": true,
"paymentGatewayIds": ["{{gatewayId2}}"],
"phone": "{{$randomPhoneNumber}}", //optional
"email": "{{$randomEmail}}" //optional
}
]
Response List
JSON Example
[
{
"paymentMethod": {
"tokens": [
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
},
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
}
],
"status": "Created",
"id": "{{paymentMethodId}}"
},
"logs": [
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T23:40:20.309Z"
},
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayResultCode": "200",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T23:40:20.309Z"
}
],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-12-06T23:40:20.310Z"
}
},
{
"paymentMethod": {
"tokens": [
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
},
{
"token": "{{token}}",
"id": "{{tokenId}}",
"gatewayId": "{{gatewayId}}"
}
],
"status": "Created",
"id": "{{paymentMethodId}}"
},
"logs": [
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayId": "{{gatewayId}}",
"createdDate": "2023-12-06T23:40:20.310Z"
},
{
"interactionStatus": "APPROVED",
"id": "{{logId}}",
"gatewayResultCode": "200",
"gatewayId": "{{gatewayid}}",
"createdDate": "2023-12-06T23:40:20.310Z"
}
],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-12-06T23:40:20.310Z"
}
}
]
Headless Tokenization
HTTP Header
HTTP Header | Value |
---|---|
Chargent-Headless | true |
Headless Create Payment Method
Request
JSON Example
{
"address": { // optional
"city": "San Francisco",
"companyName": "Salesforce",
"country": "US",
"postalcode": "94105",
"state": "California",
"street": "415 Mission St."
},
"cardPaymentMethod": {
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "Test",
"cardHolderName": "Chargent Test",
"cardNumber": "{{cardNumber}}",
"cardType": "{{cardType}}",
"cvv": "{{cvv}}",
"expiryMonth": "{{expiryMonth}}",
"expiryYear": "{{expiryYear}}",
"nickName": "Chargent Test's Business Visa"
},
"paymentGatewayId": "{{gatewayId}}",
"phone": "{{$randomPhoneNumber}}", // optional
"email": "{{$randomEmail}}" // optional
}
Response
JSON Example
{
"logs": [],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...",
"gatewayDate": "2023-12-07T00:12:54.139Z"
}
}
Headless Create Payment Method List
Request
JSON Example
[
{
"address": { // optional
"city": "San Francisco",
"companyName": "Salesforce",
"country": "US",
"postalcode": "94105",
"state": "California",
"street": "415 Mission St."
},
"cardPaymentMethod": {
"cardHolderFirstName": "Chargent",
"cardHolderLastName": "Test",
"cardHolderName": "Chargent Test",
"cardNumber": "{{cardNumber}}",
"cardType": "{{cardType}}",
"cvv": "{{cvv}}",
"expiryMonth": "{{expiryMonth}}",
"expiryYear": "{{expiryYear}}",
"nickName": "Chargent Test's Business Visa"
},
"paymentGatewayId": "{{gatewayId}}",
"phone": "{{$randomPhoneNumber}}", // optional
"email": "{{$randomEmail}}" // optional
},
{
"address": {
"companyName": "Salesforce",
"street": "415 Mission St.",
"state": "CA",
"postalcode": "94105",
"country": "US",
"city": "San Francisco"
},
"bankAccountPaymentMethod": {
"bankAccountType": "Checking",
"bankInstitutionName": "{{$randomBankAccountName}}",
"bankAccountNumber": "{{bankAccountNumber}}",
"routingNumber": "{{routingNumber}}",
"bankAccountHolderName": "Chargent Test",
"bankAccountHolderLastName": "Test",
"bankAccountHolderFirstName": "Chargent",
"nickName": "Chargent Test's Business Checking"
},
"paymentGatewayId": "{{gatewayId}}",
"phone": "{{$randomPhoneNumber}}", // optional
"email": "{{$randomEmail}}" // optional
}
]
Response
JSON Example
[
{
"logs": [],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-12-07T00:18:31.700Z"
}
},
{
"logs": [],
"gatewayResponse": {
"gatewayToken": "{{token}}",
"gatewayResultCodeDescription": "",
"gatewayResultCode": "200",
"gatewayMessage": "{...}",
"gatewayDate": "2023-12-07T00:18:31.701Z"
}
}
]