On This Page
Authorize an Apple Pay Payment with Merchant Decryption
The topics in this section show to how to authorize an Apple Pay payment transaction
with the
merchant decryption
implementation of Apple Pay- Basic Steps: Authorizing a Payment with Merchant Decryption
- Fields Required to Authorize a Payment with Merchant Decryption
- REST Example: Authorize an American Express Payment
- REST Example: Authorize a Discover Payment
- REST Example: Authorize a JCB Payment
- REST Example: Authorize a mada Payment
- REST Example: Authorize a Mastercard Payment
- REST Example: Authorize a Visa Payment
IMPORTANT
Support for cards varies by partner and processor.
For a list of processors and cards supported with Apple Pay, see
Processors and Cards Supported with Apple Pay.
For general information about basic authorizations, see the "Standard
Payments Processing" section of the .
Basic Steps: Authorizing a Payment with Merchant Decryption
- Follow these steps to request an Apple Pay payment authorization with merchant decryption:
- Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Authorize a Payment with Merchant Decryption.
- Refer to the example for your payment card type:IMPORTANTIn these code examples, any test card numbers that contain zeroes are formatted with Xs replacing the zeroes. When you test using one of these reformatted card numbers, replace each X with a 0 (zero).
- Send the message to one of these endpoints:
- Production:POSThttps://api.cybersource.com/pts/v2/payments
- Test:POSThttps://apitest.cybersource.com/pts/v2/payments
- Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the .
Fields Required to Authorize a Payment with Merchant Decryption
As a best practice,
include these
decryption implementation of Apple Pay.
REST API
fields
in your request for an authorization transaction with the
Cybersource
Depending on your processor, your geographic location, and whether
the relaxed address verification system (RAVS) is enabled for your account,
some of these fields might not be required.
It is your responsibility to determine whether an API field can be omitted
from the transaction you are requesting.
For information about the relaxed requirements for address data and expiration
dates in payment transactions, see the .- Universal cardholder authentication field (UCAF) data. For Apple Pay, this field is available (but optional) only for merchant decryption of Mastercard transactions onFDC CompassandVisa Platform Connectprocessors.
- consumerAuthenticationInformation.ucafCollectionIndicator
- Universal cardholder authentication field (UCAF) collection indicator used for Mastercard Identity Check. For Apple Pay, this field is available and required only for merchant decryption of Mastercard transactions on theVisa Platform Connectprocessor.
- Set the value to2.
- Token authentication verification value cryptogram.
- The value for this field must be a 28-character, Base64-encoded string (the encoding method for Apple Pay transactions).
- Set the value to month in which the token expires. Format:MMPossible values:01through12.
- Set the value to the year in which the token expires. Format:yyyy.
- Set the value to customer's payment network token value that contains the customer's credit card number.
- ForElavon Americas,FDC Compass,Visa Platform Connect, andGPXprocessors, set this field to the value that indicates the type of transaction that provided the payment network token data. Possible values:
- 1: In-app transaction.
- 2: Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction.
- 3: A transaction using stored customer credentials onVisa Platform Connect, whether for merchant-initiated transactions (MITs) or customer-initiated transactions (CITs).
- IMPORTANTThis value does not specify the token service provider. It specifies the entity that provided you with information about the token.
- Three-digit value that indicates the card type. Possible values:
- 001: Visa (excluding mada co-badged cards issued in the Kingdom of Saudi Arabia.)
- 002: Mastercard (excluding mada co-badged cards issued in the Kingdom of Saudi Arabia)
- 003: American Express
- 004: Discover
- 007: JCB
- 060: mada debit cards and prepaid cards issued in the Kingdom of Saudi Arabia (including mada co-badged Mastercard and Visa cards)
- Type of transaction. Some payment card companies use this information when determining discount rates. Possible values:
- aesk: American Express SafeKey authentication.
- dipb: Discover card type.
- internet: Default value for authorizations. E-commerce order placed from a website.
- js: JCB J/Secure authentication.
- mada: mada authentication.
- spa: Mastercard Identity Check authentication. When the transaction type field is set to this value, you must also include theconsumerAuthenticationInformation. ucafCollectionIndicatorfield with the value set to2.
- vbv: Visa Secure authentication
- For a transaction on a mada co-badged Mastercard, set the value tomadaorspa.
- For a transaction on a mada co-badged Visa card, set the value tomadaorvbv
- Set the value to001to identify Apple Pay as the digital payment solution.
REST Example: Authorize an American Express Payment with Merchant
Decryption
American Express Auth Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "aesk", "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "37828224631XXX5", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "003" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "003" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "003" }, "card": { "type": "003" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }
REST Example: Authorize a Discover Payment with Merchant
Decryption
Discover Auth Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "dipb", "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "6X11111111111117", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "004" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "004" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "004" }, "card": { "type": "004" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }
REST Example: Authorize a JCB Payment with Merchant Decryption
JCB Auth Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "js", "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "3566xxxxxxxxxxx3", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "007" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "007" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "007" }, "card": { "type": "007" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }
REST Example: Authorize a mada Payment with Merchant Decryption
Apple Pay supports mada Pay mobile app transactions
with
Visa Platform Connect
only
and only for these payment cards issued in the Kingdom of Saudi Arabia:- mada
- Mastercard co-badged with mada
- Visa co-badged with mada
To authorize an Apple Pay payment with the mada Pay
mobile app—whether for a mada card or for a mada co-badged Mastercard or Visa
card—specify the mada card type (value
060
) in the
paymentInformation.tokenizedCard.type
REST API field. For
more information, see Co-Badged Cards in the
Payments Developer Guide
for Visa Platform Connect
.mada Auth Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "mada", "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "5X696819161XX419", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "060" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "SAR" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "Al Dariyah Dist", "locality": "Riyadh", "administrativeArea": "01", "postalCode": "22028", "country": "SA", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "SAR" } }, "paymentAccountInformation": { "card": { "type": "060" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "060" }, "card": { "type": "060" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }
REST Example: Authorize a Mastercard Payment with Merchant Decryption
Mastercard Auth Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "spa", "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "5555555555554444", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "002" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } }, "consumerAuthenticationInformation": { "ucafAuthenticationData": "ABCDEFabcdefABCDEFabcdef0987654321234567", "ucafCollectionIndicator": "2" } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "002" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "002" }, "card": { "type": "002" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }
REST Example: Authorize a Visa Payment with Merchant Decryption
Visa Auth Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "vbv", "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }