Processing Apple Pay Transactions

This section provides information about the different kinds of Apple Pay transactions that you can submit:
Authorizing a Payment Using
Cybersource
Decryption or Merchant Decryption
You can request the authorization service using these decryption methods:
  • Cybersource
    decryption: Within this integration,
    Cybersource
    facilitates all of the encryption key generation and decryption processes associated with implementing Apple Pay. This method reduces the exposure of the sensitive payment data to your system.
  • Merchant decryption: Within this integration, you manage all aspects of the Apple Pay integration, from generation of the payment encryption keys to decryption of the Apple Pay payload response. As a merchant, you submit the Apple Pay payment token and other payment information to
    Cybersource
    for processing.
Reversing an Authorization
This service uses the request ID returned from the previous authorization. An authorization reversal releases the hold that the authorization placed on the customer’s credit card funds. Use this service to reverse an unnecessary or undesired authorization.
Capturing a Payment
This service uses the request ID returned from the previous authorization. The request ID links the capture to the authorization. Use this service to transfer funds from the customer’s account to your bank. The transaction typically completes in two to four days.
Authorizing and Capturing a Payment
A bundled authorization and capture is called a
sale
. Request the authorization and capture services at the same time.
Cybersource
processes the capture immediately.

Follow-on Services

This section provides information about and procedures for requesting these follow-on services:
  • Authorization Reversal:
    A follow-on service that uses the request ID returned from the previous authorization. An authorization reversal releases the hold that the authorization placed on the customer’s credit card funds. Use this service to reverse an unnecessary or undesired authorization.
  • Capture:
    A follow-on service that uses the request ID returned from the previous authorization. The request ID links the capture to the authorization. This service transfers funds from the customer’s account to your bank and usually takes two to four days to complete.
  • Sale:
    A sale is a bundled authorization and capture. Request the authorization and capture services at the same time.
    Cybersource
    processes the capture immediately.

Authorization Reversals

Use this service to reverse an unnecessary or undesired authorization.

Processor-Specific Information

This section provides processor-specific information about authorization reversals.
Processor-Specific Information About Authorization Reversals
Payment Processor
Authorization Reversal Information
Barclays
You are responsible for complying with the processor’s specific requirements for full authorization reversals. Contact the processor for more information.
Enhanced authorization reversals are supported on this processor; therefore, extra data is included in the authorization reversal request. It is not necessary to process or monitor the extra data.

Overview

The full authorization reversal service releases the hold that the authorization placed on the customer’s payment card funds.
Each card-issuing financial institution has its own rules for deciding whether a full authorization reversal succeeds or fails. When a reversal fails, contact the card-issuing financial institution to learn whether there is a different way to reverse the authorization.
If your processor supports authorization reversal after void (ARAV), you can reverse an authorization after you void the associated capture. If your processor does not support ARAV, you can use the full authorization reversal service only for an authorization that has not been captured and settled.
A full authorization reversal is a follow-on transaction that uses the request ID returned from an authorization. The main purpose of a follow-on transaction is to link two transactions. The request ID links the follow-on transaction to the original transaction. The authorization request ID is used to look up the customer’s billing and account information in the
Cybersource
database. You are not required to include those fields in the full authorization reversal request. The original transaction and follow-on transaction are linked in the database and in the
Business Center
.
For processors that support debit cards and prepaid cards, the full authorization reversal service works for debit cards and prepaid cards in addition to credit cards.

Required Fields for an Authorization Reversal

These fields are required in a request for an authorization reversal:
id
Set the
id
URL parameter to the request ID that was included in the authorization response message.
clientReferenceInformation.code
reversalInformation.amountDetails.currency
reversalInformation.amountDetails.totalAmount
Either
orderInformation.amountDetails.totalAmount
or
orderInformation.lineItems[].unitPrice
must be included in the request.
The amount of the reversal must be the same as the amount that was authorized:
  • You can reverse an authorization only for its full amount.
  • When you use a debit card or prepaid card and only a partial amount was approved, the amount of the reversal must be the amount that was authorized, not the amount that was requested.

Reversing an Authorization

  1. Send the service request to:

    ADDITIONAL INFORMATION

    POST https://<
    url_prefix
    >/v2/payments/{id}/reversals
    Use one of these URL prefixes:
    • Test:
      apitest.cybersource.com
    • Production:
      api.cybersource.com
    • Production in India:
      api.in.cybersource.com
    Where
    id
    is the authorization ID returned in the authorization response.
    { "id": "6481692924466004003001" }
    The URL with the
    id
    value is included in the authorization response:
    {     "_links": {         "authReversal": {             "method": "POST",             "href": "/pts/v2/payments/6481692924466004003001/reversals"         },
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example: Authorization Reversal

Request
{ "clientReferenceInformation": { "code": "482046C3A7E94F5BD1FE3C66C" }, "reversalInformation": { "amountDetails": { "totalAmount": "49.95" "currency": "USD" }, "reason": "testing" } }
Response
{ "_links" : { "void" : { "method" : "POST", "href" : "/pts/v2/credits/1019827520348290570293/voids" }, "self" : { "method" : "GET", "href" : "/pts/v2/credits/1019827520348290570293" } }, "clientReferenceInformation": { "code": "482046C3A7E94F5BD1FE3C66C" }, "id": "1019827520348290570293", "creditAmountDetails" : { "currency" : "USD", "creditAmount" : "49.95" }, "orderInformation": { "amountDetails": { "totalAmount": "49.95", "currency": "USD" } }, "reconciliationId": "02850840187309570", "status" : "REVERSED", "submitTimeUtc" : "2021-07-20T21:06:59Z" }

Sales

Sales are supported for all processors and acquirers.

Overview

A sale is a bundled authorization and capture. Some processors and acquirers require a sale transaction instead of separate authorization and capture requests. For other processors and acquirers, you can request a sale instead of a separate authorization and capture when you ship a customer’s goods immediately after taking the order. A sale is typically used for electronic goods and for services that you can turn on immediately.

Dual-Message Processing

Dual-message processing is supported for all processors and acquirers.
To perform a sale, request the authorization and capture services at the same time. When the authorization is successful, the capture is processed immediately and the response message includes results for the authorization and for the capture. When the authorization is declined, the capture is not processed and the response message includes results only for the authorization.
For debit cards and prepaid cards, the issuing bank can approve a partial amount when the balance on the card is less than the requested authorization amount and when the transaction is enabled for partial authorization. When this happens, the capture is not processed. However, you can submit a capture request for the approved amount. For a limited number of processors and card types, partial authorizations are supported for credit cards in addition to debit cards and prepaid cards.

Required Fields for a Sale

The following fields are required in a request for a sale:
clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
Either
orderInformation.amountDetails.totalAmount
or
orderInformation.lineItems[]
and
orderInformation.lineItems[].unitPrice
must be included in the request.
orderInformation.billTo.address1
Required except when your account is configured for relaxed requirements for address data and expiration date.
orderInformation.billTo.administrativeArea
Required when the billing country is the U.S. or Canada except when your account is configured for relaxed requirements for address data and expiration date.
orderInformation.billTo.country
Required except when your account is configured for relaxed requirements for address data and expiration date.
orderInformation.billTo.email
Required except when your account is configured for relaxed requirements for address data and expiration date.
orderInformation.billTo.firstName
Required except when your account is configured for relaxed requirements for address data and expiration date.
orderInformation.billTo.LastName
Required except when your account is configured for relaxed requirements for address data and expiration date.
orderInformation.billTo.locality
Required except when your account is configured for relaxed requirements for address data and expiration date.
orderInformation.billTo.postalCode
Required when the billing country is the U.S. or Canada except when your account is configured for relaxed requirements for address data and expiration date.
orderInformation.lineItems[].productName
Required when the product code is not
default
or one of the values for shipping or handling. Otherwise, this field is optional.
orderInformation.lineItems[].quantity
Required when the product code is not
default
or one of the values for shipping or handling. Otherwise, this field is optional.
orderInformation.lineItems[].productSku
Required when the product code is not
default
or one of the values for shipping or handling. Otherwise, this field is optional.
orderInformation.shipTo.address1
Required when any shipping address information is included in the request. Otherwise, this field is optional.
orderInformation.shipTo.administrativeArea
Required when any shipping address information is included in the request and shipping to the U.S. or Canada. Otherwise, this field is optional.
orderInformation.shipTo.country
Required when any shipping address information is included in the request. Otherwise, this field is optional.
orderInformation.shipTo.locality
Required when any shipping address information is included in the request and shipping to the U.S. or Canada. Otherwise, this field is optional.
orderInformation.shipTo.postalCode
Required when any shipping address information is included in the request and shipping to the U.S. or Canada. Otherwise, this field is optional.
paymentInformation.card.expirationMonth
Required except when your account is configured for relaxed requirements for address data and expiration date.
paymentInformation.card.expirationYear
Required except when your account is configured for relaxed requirements for address data and expiration date.
paymentInformation.card.number
paymentInformation.card.type
Required on
Visa Platform Connect
for all card types. On other processors, required for certain card types. It is strongly recommended that you send the card type even if it is optional for your processor. Omitting the card type can cause the transaction to be processed with the wrong card type.
processingInformation.commerceIndicator
Required for requests that include payer authentication data. Otherwise, it is optional.

Performing a Sale

  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example: Sale

Request
{ "clientReferenceInformation": { "code": "482046C3A7E94F5BD1FE3C66C" }, "processingInformation": { "capture": true }, "paymentInformation": { "card": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "type": "001", "securityCode": "999" <!-- Required only for Visa Platform ConnectChina UnionPayChina UnionPay. --> "useAs": "DB", <!-- Required only for Visa Platform ConnectChina UnionPayChina UnionPay. --> "typeSelectionIndicator": "1" <!-- Required only for Visa Platform ConnectChina UnionPayChina UnionPay. --> } }, "orderInformation": { "amountDetails": { "totalAmount": "49.95", "currency": "USD" }, "lineItems": [ { "quantity": "1", "unitPrice": "49.95", "totalAmount": "49.94" } ], "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1295 Charleston Rd.", "locality": "Mountain View", "administrativeArea": "CA", "postalCode": "94043", "country": "US", "email": "jdoe@example.com", "phoneNumber": "650-965-6000" } } }
Response
Most processors do not return all of the fields in this example.
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/030578265000016790508/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/030578265000016790508" } }, "clientReferenceInformation": { "code": "482046C3A7E94F5BD1FE3C66C" }, "id": "030578265000016790508", "orderInformation": { "amountDetails": { "totalAmount": "49.95", "authorizedAmount": "49.95", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "card": { "type": "001" }, "accountFeatures": { "category": "CN", "group": "0" } }, "processingInformation": { "reconciliationId": "02850840187309570" }, "processorInformation": { "approvalCode": "123456", "networkTransactionId": "3312345", "transactionId": "123456789619999", "responseCode": "A", "avs": { "code": "Y", "codeRaw": "YYY" } }, "reconciliationId": "ABCDE12345FGHIJ67890", "status": "AUTHORIZED", "submitTimeUtc": "2021-07-30T15:07:53Z" }

Authorization Reversals

Reversing an authorization releases the hold on the customer’s payment card funds that the issuing bank placed when processing the authorization.
Each card-issuing financial institution has its own rules for deciding whether an authorization reversal succeeds or fails. When a reversal fails, contact the card-issuing financial institution to learn whether there is a different way to reverse the authorization.
If your processor supports authorization reversal after void (ARAV), you can reverse an authorization after you void the associated capture. If your processor does not support ARAV, you can use the full authorization reversal service only for an authorization that has not been captured and settled.
An authorization reversal is a follow-on transaction that uses the request ID returned from an authorization transaction to link the transactions together. The authorization request ID is used to look up the customer’s billing and account information in the
Cybersource
database. You are not required to include those fields in the full authorization reversal request. The original transaction and follow-on transaction are linked in the database and in
the
Business Center
.
For processors that support debit cards and prepaid cards, the full authorization reversal service works for debit cards and prepaid cards in addition to credit cards.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}/reversals
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}/reversals
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Processing Authorization Reversals Using the
REST API

These fields are required in a request for an authorization reversal:
id
Set the
id
URL parameter to the request ID that was included in the authorization response message.
reversalInformation.amountDetails.totalAmount
The amount of the reversal must be the same as the authorization amount that was included in the authorization response message. Do not use the amount that was requested in the authorization request message.

REST Example: Processing an Authorization Reversal

Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments/{id}/reversals
Request
{ "reversalInformation" : { "amountDetails" : { "totalAmount" : "100.00" } } }
Response
{ "_links" : { "self" : { "method" : "GET", "href" : "/pts/v2/reversals/6522010713906068903093" } }, "authorizationInformation" : { "approvalCode" : "100" }, "clientReferenceInformation" : { "code" : "1652201071257" }, "id" : "6522010713906068903093", "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "processorInformation" : { "responseCode" : "0" }, "reversalAmountDetails" : { "reversedAmount" : "100.00", "currency" : "USD" }, "status" : "REVERSED", "submitTimeUtc" : "2022-05-10T16:44:31Z" }

Captures

This section shows you how to capture an authorized transaction.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments/
{id}
/captures
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/
{id}
/captures
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Capturing a Payment Using the
REST API

REST Interactive Example: Capturing a Payment

Live Console URL:

REST Example: Capturing an Authorization

Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments/
{id}
/captures
Request
{ "orderInformation": { "amountDetails": { "totalAmount": "100.00" } }
Response
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6662994431376681303954" } }, "clientReferenceInformation": { "code": "1666299443215" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2022-10-20T20:57:23Z" }

Multiple Partial Captures

This feature enables you to request multiple partial captures for one authorization. A multiple partial capture allows you to incrementally settle authorizations over time. Ensure that the total amount of all the captures does not exceed the authorized amount.

Endpoint

POST
https://api.cybersource.com
/pts/v2/payments/
{id}
/captures
id
is the transaction ID returned in the authorization response.

Required Fields for Multiple Partial Captures

These fields are required in a request for a capture when you are requesting multiple partial captures:
processingInformation.captureOptions.captureSequenceNumber
processingInformation.captureOptions.totalCaptureCount
When you do not know the total number of captures that you are going to request, set the capture total count to an estimated value or 99 for all capture requests except the final one. For the final capture request, set the capture total count and the capture sequence to the same value.
REST Example: Processing Multiple Partial Captures
Request
Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments/
{id}
/captures
id
is the transaction ID returned in the authorization response.
{ { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "captureOptions": { "captureSequenceNumber": null, "totalCaptureCount": null } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }
Response
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6742496815656503003954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6742496815656503003954" } }, "clientReferenceInformation": { "code": "TC50171_3" }, "id": "6742496815656503003954", "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "reconciliationId": "67332020GD2G1OO1", "status": "PENDING", "submitTimeUtc": "2023-01-20T21:21:21Z" }

Sales

This section shows you how to process a sale transaction.
A sale transaction combines an authorization and a capture into a single transaction.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

Required Fields for Processing a Sale Using the
REST API

The following fields are required in a request for a sale:
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.LastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.expirationMonth
paymentInformation.card.expirationYear
paymentInformation.card.number
paymentInformation.card.type
processingInformation.capture
Set to
true
.

REST Example: Requesting a Sale

Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments
Request
{ "processingInformation": { "capture": true }, "orderInformation" : { "billTo" : { "country" : "US", "lastName" : "VDP", "address1" : "201 S. Division St.", "postalCode" : "48104-2201", "locality" : "Ann Arbor", "administrativeArea" : "MI", "firstName" : "RTS", "email" : "test@cybs.com" }, "amountDetails" : { "totalAmount" : "100.00", "currency" : "usd" } }, "paymentInformation" : { "card" : { "expirationYear" : "2031", "number" : "4111111111111111", "expirationMonth" : "12", "type" : "001" } } }
Response
Most processors do not return all of the fields shown in this example.
{ "_links" : { "void" : { "method" : "POST", "href" : "/pts/v2/payments/6485004068966546103093/voids" }, "self" : { "method" : "GET", "href" : "/pts/v2/payments/6485004068966546103093" } }, "clientReferenceInformation" : { "code" : "RTS-Auth" }, "id" : "6485004068966546103093", "orderInformation" : { "amountDetails" : { "totalAmount" : "100.00", "authorizedAmount" : "100.00", "currency" : "usd" } }, "paymentAccountInformation" : { "card" : { "type" : "001" } }, "paymentInformation" : { "tokenizedCard" : { "type" : "001" }, "card" : { "type" : "001" } }, "processorInformation" : { "systemTraceAuditNumber" : "841109", "approvalCode" : "831000", "merchantAdvice" : { "code" : "01", "codeRaw" : "M001" }, "responseDetails" : "ABC", "networkTransactionId" : "016153570198200", "retrievalReferenceNumber" : "208720841109", "consumerAuthenticationResponse" : { "code" : "2", "codeRaw" : "2" }, "transactionId" : "016153570198200", "responseCode" : "00", "avs" : { "code" : "Y", "codeRaw" : "Y" } }, "reconciliationId" : "6485004068966546103093", "status" : "AUTHORIZED", "submitTimeUtc" : "2022-03-28T20:46:47Z" }

Authorization Service

This section provides the information that you need for requesting the authorization service using these methods which determine the request fields that are required to request the authorization service. In addition, different request fields are required in order to request the authorization service. The type of card used to process the transaction determines which request fields are used.
After you send the request, verify the response messages to make sure that the request was successful.
A 200-level HTTP response code indicates success.
For information about response codes, see
Transaction Response Codes
.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Discover

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.expirationMonth
paymentInformation.card.expirationYear
paymentInformation.card.number
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
processingInformation.paymentSolution
Set this field to
001
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.

Authorizing a Payment Using
Cybersource
Decryption for Discover

Follow these steps to authorize a payment using
Cybersource
decryption for Discover:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example:
Cybersource
Decryption and Discover

Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "004", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world", "phoneNumber": "6504327113" } } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "601111", "expirationMonth": "12", "suffix": "1117", "type": "004" }, "card": { "type": "004" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Mastercard

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.expirationMonth
paymentInformation.card.expirationYear
paymentInformation.card.number
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
processingInformation.paymentSolution
Set this field to
001

Authorizing a Payment Using
Cybersource
Decryption for Mastercard

Follow these steps to authorize a payment using
Cybersource
decryption for Mastercard:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example:
Cybersource
Decryption and Mastercard

Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "002", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world", "phoneNumber": "6504327113" } } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Visa

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.expirationMonth
paymentInformation.card.expirationYear
paymentInformation.card.number
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
processingInformation.paymentSolution
Set this field to
001

Authorizing a Payment Using
Cybersource
Decryption for Visa

Follow these steps to authorize a payment using
Cybersource
decryption for Visa:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example:
Cybersource
Decryption and Visa

Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "001", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world", "phoneNumber": "6504327113" } } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using Merchant Decryption for Discover

clientReferenceInformation.code
consumerAuthenticationInformation.cavv
For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
consumerAuthenticationInformation.ecommerceIndicator
For a transaction that does not use 3-D Secure, set this field to
internet
.
For a transaction that uses 3-D Secure, set this field to
dipb
.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using Merchant Decryption for Discover

Follow these steps to authorize a payment using merchant decryption for Discover:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example: Merchant Decryption and Discover

Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "dipb" }, "paymentInformation": { "tokenizedCard": { "number": "601111111111xxxx", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "004" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world", "phoneNumber": "6504327113" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "601111", "expirationMonth": "12", "suffix": "0842", "type": "003" }, "card": { "type": "003" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using Merchant Decryption for Mastercard

clientReferenceInformation.code
consumerAuthenticationInformation.ecommerceIndicator
For a transaction that does not use 3-D Secure, set this field to
internet
.
For a transaction that uses 3-D Secure, set this field to
spa
.
consumerAuthenticationInformation.ucafAuthenticationData
For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
consumerAuthenticationInformation.ucafCollectionIndicator
Set this field to
2
.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using Merchant Decryption for Mastercard

Follow these steps to authorize a payment using merchant decryption for Mastercard:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example: Merchant Decryption and Mastercard

Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "spa" }, "paymentInformation": { "tokenizedCard": { "number": "5432543254325432", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "ABCDEFabcdefABCDEFabcdef0987654321234567", "transactionType": "1" "type": "002" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world", "phoneNumber": "6504327113" } }, "consumerAuthenticationInformation": { "ucafAuthenticationData": "ABCDEFabcdefABCDEFabcdef0987654321234567", "ucafCollectionIndicator": "2" } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "543254", "expirationMonth": "12", "suffix": "5432", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using Merchant Decryption for Visa

clientReferenceInformation.code
consumerAuthenticationInformation.cavv
For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
consumerAuthenticationInformation.ecommerceIndicator
For a transaction that does not use 3-D Secure, set this field to the ECI value contained in the Apple Pay response payload.
For a transaction that uses 3-D Secure, set this field to
5
(
vbv
).
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using Merchant Decryption for Visa

Follow these steps to authorize a payment using merchant decryption for Visa:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example: Merchant Decryption and Visa

Request
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "internet" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world", "phoneNumber": "6504327113" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Discover

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using
Cybersource
Decryption for Discover

Follow these steps to authorize a payment using
Cybersource
decryption for Discover:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example:
Cybersource
Decryption and Discover

Request
Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "004", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "601111", "expirationMonth": "12", "suffix": "1117", "type": "004" }, "card": { "type": "004" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Mastercard

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using
Cybersource
Decryption for Mastercard

Follow these steps to authorize a payment using
Cybersource
decryption for Mastercard:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example:
Cybersource
Decryption and Mastercard

Request
Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "002", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Visa

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using
Cybersource
Decryption for Visa

Follow these steps to authorize a payment using
Cybersource
decryption for Visa:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example:
Cybersource
Decryption for Visa

Request
Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "001", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using Merchant Decryption for Discover

clientReferenceInformation.code
consumerAuthenticationInformation.cavv
For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
consumerAuthenticationInformation.ecommerceIndicator
For a transaction that does not use 3-D Secure, set this field to
internet
.
For a transaction that uses 3-D Secure, set this field to
dipb
.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using Merchant Decryption for Discover

Follow these steps to authorize a payment using merchant decryption for Discover:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example: Merchant Decryption and Discover

Request
Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "dipb" }, "paymentInformation": { "tokenizedCard": { "number": "601111111111xxxx", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "004" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "601111", "expirationMonth": "12", "suffix": "0842", "type": "003" }, "card": { "type": "003" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using Merchant Decryption for Mastercard

clientReferenceInformation.code
consumerAuthenticationInformation.ecommerceIndicator
For a transaction that does not use 3-D Secure, set this field to
internet
.
For a transaction that uses 3-D Secure, set this field to
spa
.
consumerAuthenticationInformation.ucafAuthenticationData
For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
consumerAuthenticationInformation.ucafCollectionIndicator
Set this field to
2
.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using Merchant Decryption for Mastercard

Follow these steps to authorize a payment using merchant decryption for Mastercard:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example: Merchant Decryption and Mastercard

Request
Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "spa" }, "paymentInformation": { "tokenizedCard": { "number": "5432543254325432", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "ABCDEFabcdefABCDEFabcdef0987654321234567", "transactionType": "1" "type": "002" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } }, "consumerAuthenticationInformation": { "ucafAuthenticationData": "ABCDEFabcdefABCDEFabcdef0987654321234567", "ucafCollectionIndicator": "2" } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "543254", "expirationMonth": "12", "suffix": "5432", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Required Fields for Authorizing a Payment Using Merchant Decryption for Visa

clientReferenceInformation.code
consumerAuthenticationInformation.cavv
For a transaction that uses 3-D Secure, set this field to the 3-D Secure cryptogram.
consumerAuthenticationInformation.ecommerceIndicator
For a transaction that does not use 3-D Secure, set this field to the ECI value contained in the Apple Pay response payload.
For a transaction that uses 3-D Secure, set this field to
5
(
vbv
).
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

Authorizing a Payment Using Merchant Decryption for Visa

Follow these steps to authorize a payment using merchant decryption for Visa:
  1. Send the service request to:

    ADDITIONAL INFORMATION

    https://api.cybersource.com
    /pts/v2/payments
  2. Check the response message to make sure that the request was successful. A 200-level HTTP response code indicates success. For information about response codes, see Transaction Response Codes.

Example: Merchant Decryption and Visa

Request
Endpoint:
POST
https://api.cybersource.com
/pts/v2/payments
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "internet" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }

Authorizations Using
Cybersource
Decryption for Discover

This section provides the information you need in order to process an authorization using
Cybersource
decryption for Discover.

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Discover

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

REST Example:
Cybersource
Decryption and Discover

Authorizations Using
Cybersource
Decryption for Mastercard

This section provides the information you need in order to process an authorization using
Cybersource
decryption for Mastercard.

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Mastercard

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

REST Example:
Cybersource
Decryption and Mastercard

Authorizations Using
Cybersource
Decryption for Visa

This section provides the information you need in order to process an authorization using
Cybersource
decryption for Visa.

Required Fields for Authorizing a Payment Using
Cybersource
Decryption for Visa

clientReferenceInformation.code
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.fluidData.descriptor
Set this field to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
.
paymentInformaton.fluidData.value
Set this field to the Base64-encoded value obtained from the
paymentData
property of the
PKPaymentToken
object.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

REST Example:
Cybersource
Decryption for Visa

Authorizations Using Merchant Decryption for Discover

This section provides the information you need in order to process an authorization using merchant decryption for Discover.

Required Fields for Authorizing a Payment Using Merchant Decryption for Discover

clientReferenceInformation.code
consumerAuthenticationInformation.cavv
Set this field to the network token cryptogram.
consumerAuthenticationInformation.ecommerceIndicator
Set this field to
internet
.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.card.type
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

REST Example: Merchant Decryption and Discover

Authorizations Using Merchant Decryption for Mastercard

This section provides the information you need in order to process an authorization using merchant decryption for Mastercard.

Required Fields for Authorizing a Payment Using Merchant Decryption for Mastercard

clientReferenceInformation.code
consumerAuthenticationInformation.ecommerceIndicator
Set this field to
internet
.
consumerAuthenticationInformation.ucafAuthenticationData
Set this field to the network token cryptogram.
consumerAuthenticationInformation.ucafCollectionIndicator
Set this field to
2
.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

REST Example: Merchant Decryption and Mastercard

Authorizations Using Merchant Decryption for Visa

This section provides the information you need in order to process an authorization using merchant decryption for Visa.

Required Fields for Authorizing a Payment Using Merchant Decryption for Visa

clientReferenceInformation.code
consumerAuthenticationInformation.cavv
Set this field to the network token cryptogram.
consumerAuthenticationInformation.ecommerceIndicator
Set this field to the ECI value contained in the Apple Pay response payload.
orderInformation.amountDetails.currency
orderInformation.amountDetails.totalAmount
orderInformation.billTo.address1
orderInformation.billTo.administrativeArea
orderInformation.billTo.country
orderInformation.billTo.email
orderInformation.billTo.firstName
orderInformation.billTo.lastName
orderInformation.billTo.locality
orderInformation.billTo.postalCode
paymentInformation.tokenizedCard.cryptogram
Set this field to the network token cryptogram.
paymentInformation.tokenizedCard.expirationMonth
Set this field to the value from the payment network token expiration month.
paymentInformation.tokenizedCard.expirationYear
Set this field to the value from the payment network token expiration year.
paymentInformation.tokenizedCard.number
Set this field to the payment network token value.
paymentInformation.tokenizedCard.transactionType
Set this field to
1
.
processingInformation.paymentSolution
Set this field to
001
.

REST Example: Merchant Decryption and Visa

Authorization Reversals

This section provides the information you need in order to process an authorization reversal.
Reversing an authorization releases the hold on the customer’s payment card funds that the issuing bank placed when processing the authorization.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments/
{id}
/reversals
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/
{id}
/reversals
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Processing an Authorization Reversal

Cybersource
provides the value for this field.
Set the
id
URL parameter to the transaction ID that was included in the authorization response message.
The amount of the reversal must be the same as the authorization amount that was included in the authorization response message. Do not use the amount that was requested in the authorization request message.

REST Example: Processing an Authorization Reversal

Captures

This section provides the information you need in order to capture an authorized transaction.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}/captures
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}/captures
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Capturing an Authorization

Use these required fields for capturing an authorization.
This field value maps from the original authorization, sale, or credit transaction.
Cybersource
provides the value for this field.

REST Example: Capturing an Authorization

Sales

This section provides the information you need in order to process a sale transactions.
A sale combines an authorization and a capture into a single transaction.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

REST Example: Processing a Sale

Light Dark
Request
1234567891011121314151617181920212223242526272829303132333435
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "004", "transactionType": "1", } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } } }
Response to a Successful Request
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "601111", "expirationMonth": "12", "suffix": "1117", "type": "004" }, "card": { "type": "004" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Light Dark
Request
1234567891011121314151617181920212223242526272829303132333435
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "002", "transactionType": "1" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } } }
Response to a Successful Request
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "128945", "expirationMonth": "12", "suffix": "2398", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Light Dark
Request
1234567891011121314151617181920212223242526272829303132333435
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "001", "transactionType": "1" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } } }
Response to a Successful Request
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Light Dark
Request
1234567891011121314151617181920212223242526272829303132333435363738
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "dipb" }, "paymentInformation": { "tokenizedCard": { "number": "601111111111xxxx", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "004" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response to a Successful Request
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "601111", "expirationMonth": "12", "suffix": "0842", "type": "003" }, "card": { "type": "003" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Light Dark
Request
12345678910111213141516171819202122232425262728293031323334353637383940
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "spa" }, "paymentInformation": { "tokenizedCard": { "number": "5432543254325432", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "ABCDEFabcdefABCDEFabcdef0987654321234567", "transactionType": "1", "type": "002" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } }, "consumerAuthenticationInformation": { "ucafAuthenticationData": "ABCDEFabcdefABCDEFabcdef0987654321234567", "ucafCollectionIndicator": "2" } }
Response to a Successful Request
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "543254", "expirationMonth": "12", "suffix": "5432", "type": "002" }, "card": { "type": "002" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Light Dark
Request
1234567891011121314151617181920212223242526272829303132333435363738
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001", "commerceIndicator": "internet" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1" "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" }, "billTo": { "firstName": "Maya", "lastName": "Lee", "address1": "123 Main St", "locality": "SomeCity", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "maya.lee@email.world" } }, "consumerAuthenticationInformation": { "cavv": "AceY+igABPs3jdwNaDg3MAACAAA=" } }
Response to a Successful Request
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6234236182176225003004" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6234236182176225003004/captures" } }, "clientReferenceInformation": { "code": "1234567890" }, "id": "6234236182176225003004", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "75729760OPN67ZFV", "status": "AUTHORIZED", "submitTimeUtc": "2021-06-11T15:00:18Z" }
Light Dark
Request
123456789101112131415
{ "clientReferenceInformation": { "code": "test123" } "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "reversalInformation" : { "amountDetails" : { "totalAmount" : "100.00" } } }
Light Dark
Response to a Successful Request
123456789101112131415161718192021222324252627
{ "_links" : { "self" : { "method" : "GET", "href" : "/pts/v2/reversals/6869460219566537303955" } }, "clientReferenceInformation" : { "code" : "RTS-Auth-Reversal" }, "id" : "6869460219566537303955", "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "processorInformation" : { "responseCode" : "200" }, "reconciliationId" : "82kBK3qDNtls", "reversalAmountDetails" : { "reversedAmount" : "100.00", "currency" : "USD" }, "status" : "REVERSED", "submitTimeUtc" : "2023-06-16T20:07:02Z" }
Light Dark
Request
12345678910111213
{ "clientReferenceInformation": { "code": "ABC123", "partner": { "thirdPartyCertificationNumber": "123456789012" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }
Light Dark
Response to a Successful Request
12345678910111213141516171819202122232425
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6662994431376681303954" } }, "clientReferenceInformation": { "code": "1666299443215" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2022-10-20T20:57:23Z" }
Light Dark
Request
1234567891011121314151617181920212223242526272829
{ "processingInformation": { "capture": true }, "orderInformation" : { "billTo" : { "country" : "US", "lastName" : "VDP", "address1" : "201 S. Division St.", "postalCode" : "48104-2201", "locality" : "Ann Arbor", "administrativeArea" : "MI", "firstName" : "RTS", "email" : "test@cybs.com" }, "amountDetails" : { "totalAmount" : "100.00", "currency" : "usd" } }, "paymentInformation" : { "card" : { "expirationYear" : "2031", "number" : "4111111111111111", "expirationMonth" : "12", "type" : "001 } } }
Light Dark
Light Dark
Light Dark
Light Dark
Response to a Successful Request
Most processors do not return all of the fields that are shown in this example.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
{ "_links" : { "void" : { "method" : "POST", "href" : "/pts/v2/payments/6485004068966546103093/voids" }, "self" : { "method" : "GET", "href" : "/pts/v2/payments/6485004068966546103093" } }, "clientReferenceInformation" : { "code" : "RTS-Auth" }, "id" : "6485004068966546103093", "orderInformation" : { "amountDetails" : { "totalAmount" : "100.00", "authorizedAmount" : "100.00", "currency" : "usd" } }, "paymentAccountInformation" : { "card" : { "type" : "001" } }, "paymentInformation" : { "tokenizedCard" : { "type" : "001" }, "card" : { "type" : "001" } }, "processorInformation" : { "systemTraceAuditNumber" : "841109", "approvalCode" : "831000", "merchantAdvice" : { "code" : "01", "codeRaw" : "M001" }, "responseDetails" : "ABC", "networkTransactionId" : "016153570198200", "retrievalReferenceNumber" : "208720841109", "consumerAuthenticationResponse" : { "code" : "2", "codeRaw" : "2" }, "transactionId" : "016153570198200", "responseCode" : "00", "avs" : { "code" : "Y", "codeRaw" : "Y" } }, "reconciliationId" : "6485004068966546103093", "status" : "AUTHORIZED", "submitTimeUtc" : "2022-03-28T20:46:47Z" }
Light Dark