On This Page
Recent Revisions to This Document
24.02
Clarified Apple Pay requirements. See Requirements for Using Apple Pay.
24.01
This revision contains only editorial changes and no technical updates.
23.04
This revision contains only editorial changes and no technical updates.
23.03
This revision contains only editorial changes and no technical updates.
23.02
This revision contains only editorial changes and no technical updates.
About This Guide
This section describes the audience and purpose of this guide and the conventions used in
this guide.
Audience and Purpose
This document is written for merchants who want to use Apple Pay in an iOS application
and use information from Apple to process payments through
Cybersource
. This
document provides an overview for integrating Apple and
Cybersource
services into an
order management system.Conventions
The following special statement is used in this document:
IMPORTANT
An
Important
statement contains information essential to
successfully completing a task or learning a concept.Customer Support
For support information about any service, visit the Support Center:
Introduction to Apple Pay
You can use the
Cybersource
platform
to process and manage Apple Pay transactions.Apple Pay is a digital payment solution that allows customers to
maake secure and convenient transactions using their Apple devices.
By adding Apple Pay to your web page, you can offer your customers
a faster and easier way to pay online,
without requiring them to enter their card details or shipping information.
Apple Pay also reduces the exposure of sensitive payment data to your system,
as the payment information is encrypted and tokenized by Apple.
Requirements for Using Apple Pay
In order to use the
Cybersource
platform to process Apple Pay
transactions, you must have these things:- ACybersourceaccount. If you do not already have aCybersourceaccount, contact your localCybersourcesales representative.
- A live merchant account with a supported processor to handle processing the transactions.
IMPORTANT
Apple Pay relies on authorizations with payment network tokens. You
can sign up for Apple Pay only when these statements are true:
- Your processor supports payment network tokens.
- Cybersourcesupports payment network tokens with your processor.
If one of these statements is not true, you must take one of these actions
before you can sign up for Apple Pay:
- Obtain a new merchant account with a processor that supports payment network tokens.
- Wait until your processor supports payment network tokens.
Supported Card Types and Optional Features
This table explains which card types and optional features are supported for each
processor.
Processor | Card Types | Optional Features |
---|---|---|
GPN |
|
|
Payment Processors
Payment processors connect with acquirers. Before you can accept payments, you must
register with
a payment processor
. An acquirer might
require you to use a payment processor with an existing relationship with the
acquirer.
Your payment processor
assigns one or more merchant IDs (MIDs) to your
business. These unique codes identify your business during payment transactions.This table lists the processors and corresponding card types that are supported for
payment services.
IMPORTANT
Only the card types explicitly listed here are
supported.
Payment Processor | Supported Card Types | Notes |
---|---|---|
GPN | Visa, Mastercard, American Express, Discover, Diners Club,
JCB | USD is the only currency supported with American Express,
Discover, Diners Club, and JCB. With Visa and Mastercard, you
can use any currency that is supported by both GPN and Cybersource . |
Apple Pay Integrations and Payload Decryption Methods
In response to a payment request,
Apple Pay returns an encrypted payload that contains sensitive payment information.
Two methods can be used to extract and decrypt the payment information,
and both methods support Apple Pay in-app and web transactions.
- With,CybersourcedecryptionCybersourcemanages the generation of the payment encryption key and the decryption of the Apple Pay response.IMPORTANTThis method reduces the exposure of sensitive payment data to your system.
- Withmerchant decryption, you manage both the payment encryption key generation and the decryption of the Apple Pay response.
The remainder of this section summarizes the flow of Apple Pay transaction processing for
each decryption method.
Flow of Apple Pay In-App Transactions Processed Using Cybersource Decryption
Cybersource
DecryptionThis diagram illustrates the flow of in-app transaction processing
using
Cybersource
decryption.Figure:
In-App Transaction Processing with
Cybersource
Decryption
- When the customer chooses to pay with Apple Pay, you use the Apple PassKit Framework to request the encrypted payment data from Apple.
- Apple uses the Secure Element to create apayment tokenand encrypt the token’spayment databefore it sends your application.
- The payment token is thePKPaymentTokenstructure.
- The payment data is thepaymentDatafield of thePKPaymentTokenstructure.
- You forward the encrypted payment data to your order management system.
- Using theCybersourceAPI, you submit the authorization request. In thepaymentInformation.fluidData.valuefield, include the Base64-encoded value that you obtained from thepaymentDatafield of thePKPaymentTokenstructure.
- Cybersourcedecrypts the payment data and forwards the information to the payment network, which includes your processor and the relevant payment card company.IMPORTANTYou must use theBusiness Centeror one of theCybersourceAPI services to capture, credit, or void the authorization.
Flow of Apple Pay In-App Transactions Processed Using Merchant Decryption
This diagram illustrates the flow of in-app transaction processing
using merchant decryption.
Figure:
In-App Transaction Processing with Merchant Decryption

- When the customer chooses to pay with Apple Pay, you use the Apple PassKit Framework to request the encrypted payment data from Apple.
- Apple uses the Secure Element to create apayment tokenand encrypt the token’spayment databefore it sends your application.
- The payment token is thePKPaymentTokenstructure.
- The payment data is thepaymentDatafield of thePKPaymentTokenstructure.
- You forward the encrypted payment data to your order management system to decrypt. For information on decryption, see the Payment Token Format Reference article in the Apple Pay Developer Documentation.
- Using theCybersourceAPI, you submit the authorization request and include the decrypted payment data.
- Cybersourceforwards the information to the payment network, which includes your processor and the relevant payment card company.IMPORTANTYou must use theBusiness Centeror one of theCybersourceAPI services to capture, credit, or void the authorization.
Flow of Apple Pay Web Transactions Using Cybersource Decryption
Cybersource
Decryption- When the customer chooses to pay with Apple Pay, you use the Apple Pay JavaScript to request the encrypted payment data from Apple.
- Apple uses the Secure Element to create apayment tokenand encrypt the token’spayment databefore it sends your application using theonpaymentauthorizedevent handler.
- The payment token is theApplePayPaymentTokenstructure.
- The payment data is thepaymentDatafield of theApplePayPaymentTokenstructure.
For more information, see Apple Pay on the Web Interactive Demo. - You forward the encrypted payment data to your order management system.
- Using theCybersourceAPI, you submit the authorization request. In thepaymentInformaton.fluidData.valuefield, include the Base64-encoded value obtained from thepaymentDatafield of theApplePayPaymentTokenstructure.
- Cybersourcedecrypts the payment data and forwards the information to the payment network, which includes your processor and the relevant payment card company.IMPORTANTUse theBusiness Centeror one of theCybersourceAPI services to capture, credit, or void the authorization.
Flow of Apple Pay Web Transactions Using Merchant
Decryption
- When the customer chooses to pay with Apple Pay, you use the Apple Pay JavaScript to request the encrypted payment data from Apple.
- Apple uses the Secure Element to create apayment tokenand encrypt the token’spayment databefore it sends your application using theonpaymentauthorizedevent handler.
- The payment token is theApplePayPaymentTokenstructure.
- The payment data is thepaymentDatafield of theApplePayPaymentTokenstructure.
For more information, see Apple Pay on the Web Interactive Demo. - You forward the encrypted payment data to your order management system to decrypt. For information on decryption, see the Payment Token Format Reference article in the Apple Pay Developer Documentation.
- Using theCybersourceAPI, you submit the authorization request and include the decrypted payment data. See Authorization Service.
- Cybersourceforwards the information to the payment network, which includes your processor and the relevant payment card company.IMPORTANTUse theBusiness Centeror one of theCybersourceAPI services to capture, credit, or void the authorization.
Configuring Apple Pay Processing
A successful Apple Pay response to a payment request returns
an encrypted payload that contains sensitive payment information.
The payment information is extracted and decrypted using
Cybersource
decryption or merchant decryption.Before you can process Apple Pay transactions, you must complete these configuration
tasks:
- Generating and Loading a New Certificate Signing Request
- For processing Apple Pay transactions usingCybersourcedecryption, you must first generate an Apple Pay encryption key on the business portal and load it into the Apple development portal.
- For merchant decryption, this configuration task is not needed.
- Configuring Apple Pay Response Handling
- After the payment token is received, the transaction is finalized when you extract and decrypt the payment data.Cybersourcedecryption and merchant decryption methods consist of different configuration steps.
Generating and Loading a New Certificate Signing Request
This task is required in order to process Apple Pay transactions using
Cybersource
decryption. It does not apply to merchant decryption.Follow these steps in order to configure Apple Pay in the
Cybersource
Business Center
:- Log in to theBusiness Center:
- Production:
- On the left navigation panel, click thePayment Configurationicon.
- ClickDigital Payment Solution. The Digital Payments page appears. If you do not have the correct permissions enabled on your account, the Digital Payment Solution option does not appear on the left navigation panel.
- ClickConfigure. The Apple Pay Registration panel opens.
- Enter your Apple Merchant ID.
- ClickGenerate New CSR.
- To download your CSR, click theDownloadicon next to the key.
- Follow your browser's instructions to save and open the file.
- Complete the enrollment process by submitting your CSR to Apple.
- For information about adding certificates to your Apple Merchant ID, refer to the Apple Pay PassKit:
ADDITIONAL INFORMATION
- In-App: Setting Up Apple Pay
- Website: Configuring Your Environment
- Test your software by following the steps in Authorization Service.
ADDITIONAL INFORMATION
IMPORTANTIf you are using aCybersourcetest account, you must connect to the Apple sandbox tester account and not to the Apple production system.After you complete your testing, you must create a new CSR for theCybersourceproduction system, and you must use that CSR for the Apple production system. Until you perform these steps, you cannot enable payments in your iOS application or website. - Repeat Steps 1 through 11 with yourCybersourceproduction account and the Apple production account.
Configuring Apple Pay Response Handling
Configure one of the following decryption methods that will handle the response
payload of a successful Apple Pay transaction.
- After the payment token is received, the transaction is finalized when you extract and decrypt the payment data.
- :CybersourceDecryptionThis method forwards the encrypted payment data to your order management system. Use theCybersourceAPI to submit the authorization request, and include the Base64-encoded value obtained from thepaymentDataobject in thepaymentInformaton.fluidData.valuefield.Example ofCybersourcedecryption:session.onpaymentauthorized = function (event) { var paymentDataString = JSON.stringify(event.payment.token.paymentData); var paymentDataBase64 = btoa(paymentDataString); }
- Merchant Decryption:This method forwards the encrypted payment data to your order management system to decrypt. Use theCybersourceAPI to submit the authorization request and include the decrypted payment data.For detailed information about decryption, see Payment Token Format Reference in the Apple Developer Center.
Processing Apple Pay Transactions
This section provides information about the different kinds of Apple Pay transactions
that you can submit:
- Authorizing a Payment UsingCybersourceDecryption or Merchant Decryption
- You can request the authorization service using these decryption methods:
- Cybersourcedecryption: Within this integration,Cybersourcefacilitates 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 toCybersourcefor 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 asale. Request the authorization and capture services at the same time.Cybersourceprocesses the capture immediately.
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/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsAuthorizations Using Cybersource Decryption for American Express
Cybersource
Decryption for American ExpressThis section shows you how to process an authorization using
Cybersource
decryption for American Express.Required Fields for Authorizing a Payment Using Cybersource Decryption for American Express
Cybersource
Decryption for American Express- 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 toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
Related Information
REST Example: Cybersource Decryption and American Express
Cybersource
Decryption and American ExpressRequest
{ "clientReferenceInformation": { "code": "1234567890" }, "processingInformation": { "paymentSolution": "001" }, "paymentInformation": { "fluidData": { "value"="eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64", }, "tokenizedCard": { "type": "003", "transactionType": "1", "requestorId": "987654321plokijuhygtfrdeswa" } }, "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
{ "_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": "593056", "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" }
Authorizations Using Cybersource Decryption for Mastercard
Cybersource
Decryption for MastercardThis 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
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 toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
Related Information
REST Example: Cybersource Decryption and Mastercard
Cybersource
Decryption and MastercardRequest
{ "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
{ "_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" }
Authorizations Using Cybersource Decryption for Visa
Cybersource
Decryption for VisaThis 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
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 toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U.
- paymentInformaton.fluidData.value
- Set this field to the Base64-encoded value obtained from thepaymentDataproperty of thePKPaymentTokenobject.
- paymentInformation.tokenizedCard.transactionType
- Set this field to1.
- processingInformation.paymentSolution
- Set this field to001.
Related Information
REST Example: Cybersource Decryption for Visa
Cybersource
Decryption for VisaRequest
{ "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
{ "_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" }
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}
/reversalsTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/reversalsThe is the transaction ID returned in the
authorization response.
{id}
Required Fields for Processing an Authorization Reversal
- Cybersourceprovides the value for this field.
- Set theidURL 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
Request
{ "clientReferenceInformation": { "code": "test123" } "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "reversalInformation" : { "amountDetails" : { "totalAmount" : "100.00" } } }
Response to a Successful Request
{ "_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" }
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}/capturesTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}/capturesThe
{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.
- Cybersourceprovides the value for this field.
REST Example: Capturing an Authorization
Request
{ "clientReferenceInformation": { "code": "ABC123", "partner": { "thirdPartyCertificationNumber": "123456789012" } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }
Response to a Successful Request
{ "_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" }
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/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for Processing a Sale
Use these required fields for processing a sale.
- Set the value totrue.
Related Information
REST Example: Processing a Sale
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 to a Successful Request
Most processors do not return all of the fields that are 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" }
Searching for Apple Pay Transactions
Use the Transaction Search page in the
Business Center
to identify Apple Pay
transactions. You can search for transactions by date, application type, customer name,
and other transaction identifiers. For information about the Transaction Request Report, see the
Business Center
Reporting Developer
Guide
.