Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
PaymentMethodTokenizationRequest Class
Namespace
Usage
The constructor of this class takes no arguments. For example:
CommercePayments.PaymentMethodTokenizationRequest pmtr = new CommercePayments.PaymentMethodTokenizationRequest();This class holds all the required details about the tokenize request. Gateway adapters read the information in this class while constructing a tokenization JSON request, which is sent to the payment gateway.
Example
The following code is used within your payment gateway adapter Apex class.
1global commercepayments.GatewayResponse processRequest(commercepayments.paymentGatewayContext gatewayContext) {
2 commercepayments.RequestType requestType = gatewayContext.getPaymentRequestType();
3 commercepayments.GatewayResponse response;
4 try
5 {
6 if (requestType == commercepayments.RequestType.Tokenize) {
7 response = createTokenizeResponse((commercepayments.PaymentMethodTokenizationRequest)gatewayContext.getPaymentRequest());
8 }
9 //Add other else if statements for different request types as needed.
10 return response;
11 }
12 catch(SalesforceValidationException e)
13 {
14 commercepayments.GatewayErrorResponse error = new commercepayments.GatewayErrorResponse('400', e.getMessage());
15 return error;
16 }
17 }Configure the createTokenizeResponse method to accept an instance of PaymentMethodTokenizationRequest. Then, build an instance of PaymentMethodTokenizationResponse based on the values received from the payment gateway.
1public commercepayments.GatewayResponse createTokenizeResponse(commercepayments.PaymentMethodTokenizationRequest tokenizeRequest) {
2 commercepayments.PaymentMethodTokenizationResponse tokenizeResponse = new commercepayments.PaymentMethodTokenizationResponse();
3 tokenizeResponse.setGatewayTokenEncrypted(encryptedValue);
4 tokenizeResponse.setGatewayTokenDetails(tokenDetails);
5 tokenizeResponse.setGatewayAvsCode(avsCode);
6 tokenizeResponse.setGatewayMessage(gatewayMessage);
7 tokenizeResponse.setGatewayResultCode(resultcode);
8 tokenizeResponse.setGatewayResultCodeDescription(resultCodeDescription);
9 tokenizeResponse.setSalesforceResultCodeInfo(resultCodeInfo);
10 tokenizeResponse.setGatewayDate(system.now());
11 return tokenizeResponse;
12 }The tokenizeResponse contains the results of the gateway's tokenization process, and if successful, the tokenized value.
PaymentMethodTokenizationRequest Constructors
The following are constructors for PaymentMethodTokenizationRequest.
PaymentMethodTokenizationRequest(paymentGatewayId)
Signature
global PaymentMethodTokenizationRequest(String paymentGatewayId)
Parameters
-
paymentGatewayId:
Type: String
The payment method’s payment gateway ID that will be tokenized.
PaymentMethodTokenizationRequest Properties
The following are properties for PaymentMethodTokenizationRequest.
address
Signature
global commercepayments.AddressRequest address {get; set;}
Property Value
Type: AddressRequest
bankPaymentMethod
Signature
public commercepayments.BankPaymentMethodRequest bankPaymentMethod {get; set;}
Property Value
Type: commercepayments.BankPaymentMethodRequest
cardPaymentMethod
Signature
global commercepayments.CardPaymentMethodRequest cardPaymentMethod {get; set;}
Property Value
Type: CardPaymentMethodRequest
savedByMerchant
Signature
public Boolean savedByMerchant {get; set;}
Property Value
Type: Boolean
PaymentMethodTokenizationRequest Methods
The following are methods for PaymentMethodTokenizationRequest.
equals(obj)
Signature
global Boolean equals(Object obj)
Parameters
-
obj:
Type:
Object External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Signature
global Integer hashCode()
Return Value
Type: Integer