Apple Pay Developer Guide

This section describes how to use this guide and where to find further information.
Audience and Purpose
This guide is for merchants who want to offer Apple Pay in an iOS mobile app or web page and use information from Apple to process payments through
Cybersource
. The guide describes how to integrate Apple Pay with your system and how to process and search for Apple Pay transactions. Processing is described for Apple Pay payment authorizations, sale (authorization with capture) transactions, authorization reversals, and payment captures. The method you use to extract and decrypt Apple Pay payment data depends on how you integrated Apple Pay into your iOS app or website.
Conventions
These statements appear in this document:
IMPORTANT
An
Important
statement contains information essential to successfully completing a task or learning a concept.
TIP
A
Tip
contains information that can help you to complete a tasks or learn a concept.
Related Documentation
Visit the
Cybersource
documentation hub
to find additional technical documentation.
When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information
:
Customer Support
For support information about any service, visit the Support Center:

Recent Revisions to This Document

25.04.01

This revision contains only editorial changes and no technical updates.

25.01.01

Getting Started with Apple Pay
Added a list of requirements necessary to perform end-to-end testing of Apple Pay transactions. See Requirements for End-to-End Testing.
Integrating Apple Pay into Your System
Added more information to the integration section. See these integration tasks:
Use of the eCommerce Indicator
Removed the
processingInformation.commerceIndicator
REST API field from request messages for transactions that entail authorization with
Cybersource
decryption. Added the field to request messages for transactions that entail authorization with merchant decryption. See these tasks:
Specifying the Card Type and the Cryptogram Value with Merchant Decryption
Added the
paymentInformation.tokenizedCard.type
field and removed the
paymentInformation.tokenizedCard.cryptogram
field. See these tasks:

Introduction to Apple Pay

Apple Pay is a digital payment solution that enables your customers to make secure and convenient purchases without requiring them to enter their card details or shipping information. You can use the
Cybersource
platform to process and manage Apple Pay transactions.
When you offer your customers
device apps
enabled for Apple Pay, you can collect payments for purchases made on iPhone and Apple Watch apps. When you offer your customers
Apple Pay on the web
, Apple Pay cardholders can purchase goods and services from within your web app. You can try an Apple Pay test transaction on the Apple Developer site by using the
Apple Pay on the Web Interactive Demo
:
Using Apple Pay on the
Cybersource
platform can reduce the exposure of sensitive payment data to your system. When a cardholder initiates a purchase from within your Apple Pay enabled app or web page, Apple Pay receives the encrypted transaction. An Apple Pay server returns the transaction payment information re-encrypted with a developer-specific key. The key helps to ensure that only the app or the web page can access the encrypted information.
Customers experience reduced payment friction because their information is tokenized and stored for future use. Customers who configure auto-fill options for their Apple Pay accounts can have payment and card data pre-populate after they sign in to their accounts and authenticate.

Two Apple Pay Decryption Methods

Integration hooks for two Apple Pay decryption methods are built into the
Cybersource
payment management platform. The two decryption methods—
Cybersource
decryption and merchant decryption—handle Apple Pay encrypted payment data differently. You will integrate the decryption method that best suits your technical development environment in terms of desired degree of exposure to, or control over, sensitive payment information.
IMPORTANT
The Apple Pay decryption method that you integrate determines how you will format your API request messages when you authorize a payment or process a sale.
To integrate Apple Pay into your system, you simply register with both Apple and
Cybersource
, generate keys and certificates (or
Cybersource
creates and manages them on your behalf), and place the Apple Pay mark on your app or web page. This guide includes instructions for integrating Apple Pay on
Cybersource
into your system. The instructions cover both of the Apple Pay decryption methods.

Integration Options

Cybersource
supports Apple Pay in multiple integration options. Three of the most widely used options are
Cybersource
decryption, merchant decryption, and
Checkout API
. Each option presents specific tradeoffs and advantages, and you can select the integration model that best fits your business.
Apple Pay integration is built into the
Cybersource
payment management platform.
Cybersource
offers two integration methods for handling the payment data returned by the Apple Pay service for processing payments. In response to an authorization request, Apple Pay returns payment data in an encrypted payload. The encrypted payment data is handled and processed differently, depending on which integration method is used. Both decryption methods support Apple Pay in-app and Apple Pay on the web.

Cybersource
Decryption

For
Cybersource
decryption, you implement Apple Pay directly on your checkout page. You send
Cybersource
all encrypted payment information that you receive from Apple Pay.
Cybersource
creates and manages the Apple Pay decryption keys, extracts and decrypts payment information, and maps the information to the appropriate fields for authorization and other payment services on your behalf. Having
Cybersource
process your Apple Pay transactions reduces your exposure to sensitive payment information.

Merchant Decryption

For merchant decryption, you (the merchant or the integrator) manage all aspects of the Apple Pay implementation, from generation of the payment encryption keys to decryption of the payment response payload from Apple Pay. As a merchant, you submit the Apple Pay payment token and other payment information to
Cybersource
for processing. With merchant decryption, payment instrument details remain visible to you, and you control the technical development that decrypts this information.

Unified Checkout

Unified Checkout
is a consolidated digital acceptance product.
Unified Checkout
offers a single implementation for multiple payment options. This integration type is designed for merchants looking for a single solution for integrating multiple digital payment options.
IMPORTANT
Unified Checkout
is not covered in this guide. It is mentioned here for the sake of completeness. For information about Unified Checkout, see the .

Cards Supported for Apple Pay on
Visa Platform Connect

These cards are supported for Apple Pay on
Visa Platform Connect
:
  • JCB
  • mada—debit cards and prepaid cards issued in the Kingdom of Saudi Arabia
  • Mastercard—Including mada co-badged cards issued in the Kingdom of Saudi Arabia.
  • Visa—Including mada co-badged cards issued in the Kingdom of Saudi Arabia.
IMPORTANT
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.
For an overview of financial institutions and payment networks that work together to enable payment services, see the . The information includes general descriptions of merchant financial institutions (acquirers), customer financial institutions (issuers), payment networks, and payment processors.
The information about processors includes the list of acquirers supported for
Visa Platform Connect
.

Payment Services Supported for Apple Pay

Apple Pay is supported for the authorization, sale, authorization reversal, and capture services. The credit and void services are also supported for Apple Pay.

Authorization

An authorization confirms that a payment card account holds sufficient funds to pay for a purchase. A successful authorization places a hold on the funds in the account, reducing the cardholder's available limits by the authorized amount. The authorization service is supported with both types of Apple Pay decryption. For more information, see these topics:

Sale (Authorization and Capture)

A sale bundles an authorization and capture into a single transaction. Request the authorization and capture at the same time. Upon a successful transaction, funds are immediately transferred from the cardholder account to the merchant account. The authorization and capture amounts must be the same. The sale service is supported with both types of Apple Pay decryption. For more information, see these topics:

Authorization Reversal

Initiate an authorization reversal to reverse an unnecessary or undesired authorization. A successful authorization reversal releases the hold that the authorization placed on the cardholder’s credit card funds. Include in the request message the request ID returned from the previous authorization because the request ID links the reversal to the authorization.

Capture

A capture, also known as settlement, transfers funds from the cardholder’s account to your bank, typically in 2 to 4 days, and it releases the hold that the authorization placed on the cardholder’s credit card funds. Include in the capture request message the request ID returned from the previous authorization because the request ID links the capture to the authorization.
For more information, see Capture an Apple Pay Authorization.

Credit

A
refund
(also known as a follow-on credit)
is a payment refund from your bank to the cardholder for a payment that has already been captured. To initiate a
refund
, send a request message to the
credit service
and include the request ID that was returned in the response to the capture request. Because the request ID links to the cardholder’s billing and account information, you are not required to include those fields in the credit request. Unless otherwise specified, you must request a
refund
within 180 days of a settlement.
For more information about credit requests and credit authorization results, see the "Standard Payments Processing" section of the .

Void

You can void an Apple Pay capture or credit that was submitted but is not yet processed by the processor.
You send a request for a capture void and a credit void to different endpoints. A void is linked to a capture or credit transaction through the request ID of the transaction you want to void. As a best practice, also include an order reference number or a tracking number. This number can help you to perform meaningful searches for the transaction.
For more information about void requests and responses, see the "Standard Payments Processing" section of the .

Summary of Requirements for Using Apple Pay

This topic lists the key requirements for using Apple Pay.
More detailed information is provided in Getting Started with Apple Pay.
A
Cybersource
merchant account.
If you do not have a merchant account, contact your
Cybersource
sales representative.
Apple Pay enabled for your
Cybersource
account.
If Apple Pay is not enabled, contact your
Cybersource
representative.
A
Cybersource
Business Center
sandbox account.
To create a test account, visit the
Business Center
Sandbox Account Sign-Up
page.
A
Cybersource
Business Center
production account with a supported processor.
If you do not have a production account, contact your
Cybersource
sales representative.
Production account login page:
Production account login in India:
IMPORTANT
Apple Pay relies on authorizations with payment network tokens. Your environment must meet these requirements in order to support payment network tokenization:
  • Your processor supports payment network tokens.
  • Cybersource
    supports payment network tokens with your processor.
If your environment does not meet both requirements, you have these options:
  • Obtain a new merchant account with a processor that supports payment network tokens.
  • Wait until your processor supports payment network tokens.

Getting Started with Apple Pay

This section describes requirements for integrating Apple Pay into your system:
  • Requirements for payment network token support
  • Requirements for enrolling in the Apple Developer Program
  • Requirements for end-to-end testing
Some of the requirements will be met as you complete the steps described in Integrating Apple Pay into Your System.

Requirements for Payment Network Token Support

Apple Pay relies on authorizations being processed with
payment network tokens
. Make sure your processor and your
Cybersource
test accounts and production accounts meet these requirements.
Your processor supports payment network tokens and
Cybersource
supports payment network tokens with your processor.
If your processor does not support payment network tokens, or if
Cybersource
does not support payment network tokens with your processor, you must obtain a new
Cybersource
merchant account with a processor that supports payment network tokens.
Your
Cybersource
test account supports payment network tokens with
your payment processor
.
In order to configure and validate a test integration of Apple Pay, your
Cybersource
merchant test account supports payment network tokens with your processor.
If you do not have a merchant test account that meets this criteria, contact your
Cybersource
sales representative.
Your
Cybersource
production account supports payment network tokens with
your payment processor
.
In order to use your Apple Pay implementation in a production environment, your
Cybersource
merchant production account supports network tokens with your processor.
If you do not have a production account that meets these criteria, contact your
Cybersource
sales representative.

Requirements for Enrolling in the Apple Developer Program

The Apple Pay integration process requires you to enroll your organization in the Apple Developer Program.
The exact requirements can vary depending on the specifics of your app and business. Always refer to official Apple documentation for the most up-to-date information
.
IMPORTANT
If you are enabling Apple Pay digital payments on
Unified Checkout
, see the . The requirements described in this topic apply only if you are integrating
standalone Apple Pay
for
Cybersource
decryption or merchant decryption.
Your Apple device runs the latest Apple Developer app.
The machine that you use for
enrollment
must be an Apple device that run the latest version of the Apple Developer app. You can download the app from the Apple App Store.
You have an Apple ID with two-factor authentication and a valid payment method.
An Apple ID grants access to Apple Developer resources, including documentation, sample code, forums, and technical support. This Apple ID can be different from the Apple ID that you used to sign in to your enrollment device.
Two-factor authentication is required in order to sign in to your Apple Developer account and manage your account in the
Certificates, Identifiers & Profiles
page. The payment method associated with your Apple ID is used to pay the annual subscription fee.
You will be the Account Holder or Admin for your organization.
As the person enrolling your organization in the Apple Developer Program, you automatically become the Account Holder for your project. Either of these roles enables you to generate an Apple Pay encryption key to encrypt payment data during the payment flow.
Each developer in your organization must be assigned to your project as an Account Holder or an Admin. Only an Account Holder or an Admin can create developer accounts for their team.
You have the information about your organizations that is required for enrollment.
You must provide basic business details and a D-U-N-S Number. Apple verifies that the information you provide is accurate and current before approving your enrollment.
You have the authorization to pay the annual membership fee.
The annual membership fee that you pay to Apple enables you to distribute your apps on the Apple App Store and to access beta software, beta testing tools, advanced app capabilities, and app analytics.
You must accept the terms of the license agreement.
You must agree to the Apple Developer Program License Agreement.

Requirements for End-to-End Testing

This topic lists the requirements for supporting end-to-end testing of Apple Pay transaction processing in a testing environment. End-to-end testing requires that test payment cards have been loaded to your Apple Developer sandbox tester account wallet.
IMPORTANT
If these requirements are not met, Apple Pay servers will not return a valid payload in your test environment.
You have an Apple sandbox tester account.
For sandbox setup instructions, see the
Sandbox Testing
page in the Apple Developer portal:
Follow the steps described in the section
Create a Sandbox Tester Account
.
If you are integrating the merchant decryption model, you have an Apple test device.
You must register the device with Apple using your Apple Developer account. You will use test device to create the certificate signing request (CSR) that you will use to associate your Apple sandbox tester account with your test environment.
If you are integrating the merchant decryption model, you will use the Apple device in one of the tasks described in Part 2: Create an Apple Pay Payment Processing Certificate.
You have a test environment that you can access by logging in to your Apple sandbox tester account.
To create this access, you will use the sandbox tester account to create an Apple test merchant ID. You will use the test ID to create a CSR and use the CSR to create an Apple Pay payment processing certificate. Apple Pay servers use this certificate to encrypt payment data using a key known to your test environment.
The steps for associating a sandbox tester account with your test environment (as well as for associating an Apple production account with your production environment) are included in Part 2: Create an Apple Pay Payment Processing Certificate.
You have test payment cards in the wallet of your Apple sandbox tester account.
You will be instructed to add test cards to your sandbox tester account in Validating Your Test Integration.

Integrating Apple Pay into Your System

This section describes how to integrate Apple Pay into your iOS app or website. The integration tasks are organized into three parts. The second part provides separate steps for the two different decryption models. The third part applies only if you will be supporting Apple Pay on the web.
You will perform the integration tasks twice: First in your test environment and, after you validate your test integration, a second time in your production environment.
  • Part 1: Set Up Your Apple Developer Account
    . You will enroll your organization in the Apple Developer Program, create an
    Apple merchant ID
    , and register it in your developer account.
  • Part 2: Create an Apple Pay Payment Processing Certificate
    . This certificate is associated with your merchant ID, and it is used by Apple Pay servers to encrypt payment data.
    • You will generate a
      certificate signing request
      (CSR) at the system that will handle Apple Pay payload decryption. For
      Cybersource
      decryption, you will generate the CSR at the
      Cybersource
      Business Center
      user interface. For merchant decryption, you will generate the CSR at your Apple device.
    • You will upload the CSR with the public key to your Apple Developer account and use the CSR to create a
      payments processing certificate
      for your merchant ID and Apple Pay.
  • Part 3: Perform Additional Setup for Apple Pay on the Web
    . If you offer your customers Apple Pay on the web, you will create an
    Apple Pay merchant identity certificate
    , associate the certificate with your merchant ID, and register
    each merchant domain
    that will process Apple Pay transactions.
TIP
If you are integrating
Apple Pay with
Cybersource
decryption
and you are experienced in creating Apple Pay payment processing certificates, you can use the Quick Integration for the Cybersource Decryption Method instead of the detailed steps in this section.

Part 1: Set Up Your Apple Developer Account

Complete the tasks in this section to enroll your organization in the Apple Developer program and register a new Apple merchant ID.

Starting Enrollment in the Apple Developer Program

Enrolling in the Apple Developer program as an organization enables you to associate multiple developer accounts with your Apple Developer account. Multiple developer accounts can be beneficial if you have a large project with a team of developers.
For the first phase of the enrollment process, you log in to your Apple Developer account and submit information about your organization to Apple.
IMPORTANT
When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information
.
  1. Follow these steps to start the enrollment process:
  2. Launch the Apple Developer app on your device.
  3. Click
    Account
    , and sign in with your Apple ID.
  4. If prompted, review the Apple Developer Agreement and click
    Agree
    .
  5. Click
    Enroll Now
    , review the program benefits and requirements, and then click
    Continue
    .
  6. At the prompts, enter your information as the Account Holder.
  7. At the prompts, enter information about your organization.

RESULT

After Apple verifies your information and approves your enrollment, it sends you an email that describes the next steps.

Completing Enrollment in the Apple Developer Program

When you receive your approval email from Apple, you will log in to your Apple Developer account again and complete the enrollment process.
IMPORTANT
When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information
.
  1. Follow these steps to complete the enrollment process:
  2. Launch the Apple Developer app on the device you used to start the enrollment process.
  3. Click
    Account
    and sign in with the Apple ID you used to start the enrollment process.
  4. Click
    Continue Your Enrollment
    , review the terms of the Apple Developer Program License Agreement, and then click
    Agree
    .
  5. Review the annual membership subscription details and click
    Subscribe
    .

Registering a New Merchant ID in Your Apple Developer Account

Finish setting up your Apple Developer account by creating and registering a merchant ID for each environment. A registered merchant ID uniquely identifies you to Apple Pay as a valid entity that can accept payments.
In order to support multiple environments, such as sandbox and production, you can create multiple merchant IDs in your Apple Developer account.
IMPORTANT
When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information
.
  1. Follow these steps to create a merchant ID and to register it in your Apple Developer account:
  2. Log in to your Apple Developer account.
  3. In the left navigation panel, select
    Certificates, Identifiers & Profiles
    .
  4. Click
    Identifiers
    .
  5. Click the plus sign (
    +
    ) on the top left.
  6. Select
    Merchant IDs
    and click
    Continue
    .
  7. Enter a merchant description and identifier name.
  8. Click
    Continue
    .
  9. Verify that you entered the merchant information correctly.
  10. Click
    Register
    .

Part 2: Create an Apple Pay Payment Processing Certificate

Complete the tasks in this section to create an Apple Pay payment processing certificate. Apple Pay servers use this certificate to encrypt payment data. Creation of an Apple Pay payment processing certificate consists of two tasks:
  • Generating a certificate signing request (CSR).
  • Using the CSR to create an Apple Pay payment processing certificate.
IMPORTANT
When you generate a CSR, the sequence of steps you will perform depends on whether you are integrating
Cybersource
decryption and merchant decryption.

Generating a CSR for
Cybersource
Decryption

IMPORTANT
These steps apply to setting up
Cybersource
decryption only. If you are integrating the merchant decryption model of Apple Pay into your system, follow the steps in Generating a CSR for Merchant Decryption instead.
For
Cybersource
decryption, you will use your
Cybersource
account in the
Business Center
to generate a certificate signing request (CSR). You will use the Apple Pay Registration page within the
Business Center
.
If you do not have an Admin account or an account with write access, contact your Account Admin,
Cybersource
sales engineer, alliance partner, or technical account manager.
  1. Follow these steps at the
    Cybersource
    Business Center
    to generate a CSR:
  2. Log in to your
    Cybersource
    merchant account in the
    Business Center
    .

    ADDITIONAL INFORMATION

    ADDITIONAL INFORMATION

    ADDITIONAL INFORMATION

  3. In the left navigation panel, select
    Payment Configuration
    .
  4. Choose
    Digital Payment Solutions
    .

    ADDITIONAL INFORMATION

    The Digital Payment Solutions page appears.
  5. Click
    Configure
    for Apple Pay.

    ADDITIONAL INFORMATION

    The Apple Pay Registration page appears.

    ADDITIONAL INFORMATION

    This image shows the Apple Pay Registration page in the
    Cybersource
    Business Center
    .

    Figure:

    Apple Pay Registration Page in the
    Cybersource
    Business Center
    Interface
    Business Center UI : Payment Configuration : Digital Payment Solutions : Apple Pay Registration (aem pdf)
  6. Enter the Apple merchant ID that you created and registered in your Apple Developer account.

    ADDITIONAL INFORMATION

    These steps are described in Registering a New Merchant ID in Your Apple Developer Account. This value should match the id you set up with Apple including the "merchant" prefix.
  7. Click
    Generate new certificate signing request
    .
  8. Click the download icon next to the key.
  9. Download the certificate request file (a file with a
    .certSigningRequest
    file extension) to your local machine.
  10. Use your browser controls to save the file to your local machine.

    ADDITIONAL INFORMATION

    In the next task, you will upload the CSR file to your Apple Developer account.

Generating a CSR for Merchant Decryption

IMPORTANT
These steps apply to setting up merchant decryption only. If you are integrating the
Cybersource
decryption model of Apple Pay into your system, follow the steps in Generating a CSR for Cybersource Decryption instead.
For merchant decryption, you will use your Apple device to generate a certificate signing request (CSR).
IMPORTANT
When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information
.
  1. Follow these steps at your Apple device to generate a CSR:
  2. Sign in to your Apple Developer account as the Account Holder or as an Admin and select
    Certificates, Identifiers & Profiles
    .
  3. Click
    Identifiers
    in the sidebar.
  4. Select
    Merchant IDs
    and click
    Continue
    .
  5. Under Identifiers, select
    Merchant IDs
    using the filter on the top right.
  6. On the right, select your merchant identifier.
  7. Under Apple Pay Payment Processing Certificate, click
    Create Certificate
    .

Creating a Payment Processing Certificate for Your Merchant ID

Using the certificate signing request that you just created, you will create an Apple payment processing certificate and associate the certificate with your Apple merchant ID that you created before that. Those earlier tasks are described in these topics:
Apple Pay uses the payment processing certificate to encrypt the customer's payment information. This certificate expires every 25 months. If the certificate expires or is revoked, you can recreate it.
IMPORTANT
When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information
.
  1. Follow these steps to create a payment processing certificate for your Apple Pay merchant ID:
  2. Sign in to your Apple Developer account as the Account Holder or as an Admin and select
    Certificates, Identifiers & Profiles
    .
  3. Upload the CSR file and associate the CSR with your merchant ID.

    ADDITIONAL INFORMATION

    The CSR contains your Apple merchant ID and a public key that Apple Pay uses to encrypt sensitive payment data.
    1. Click
      Identifiers
      in the sidebar.
    2. Select
      Merchant IDs
      using the filter on the top right.
    3. On the right, select your merchant ID.

      Step Result

      If a banner at the top of the page prompts you, you need to accept an agreement. Click
      Review Agreement
      and follow the instructions that appear.
    4. Under Apple Pay Payment Processing Certificate, click
      Create Certificate
      .
  4. Create a payment processing certificate and download the certificate to your local machine.
    1. Click
      Choose File
      and select the CSR file that you uploaded.

      ADDITIONAL INFORMATION

      The CSR file has the filename extension
      .certSigningRequest
      .
    2. Click
      Choose
      .
    3. Click
      Continue
      .
    4. Click
      Download
      .

      Step Result

      The payment processing certificate (a file with the filename extension
      .cert
      ) appears in your Downloads folder.
  5. Go to the next task.

Part 3: Perform Additional Setup for Apple Pay on the Web

If you develop web pages that support Apple Pay on the Web, your customers can use Apple Pay to purchase goods and services from within your web page. You can use the same Apple Pay merchant ID and Apple Pay payment processing certificate as required for Apple Pay in-app implementations. However, Apple Pay on the Web requires additional set-up tasks that you perform in your Apple Developer account:
  • Creating an Apple Pay merchant identity certificate
  • Registering your merchant domains with Apple
If you created multiple merchant ID and payment processing certificate pairs to support multiple environments, such as sandbox and production, you must associate each ID-and-certificate pair with a unique merchant identify certificate.

Creating an Apple Pay Merchant Identity Certificate

If you offer your customers Apple Pay in a web page, you must create an Apple Pay merchant identity certificate and associate it with your merchant ID. You need this Transport Layer Security (TLS) certificate in order to authenticate your sessions with the Apple Pay servers.
IMPORTANT
When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information
.
  1. Follow these steps to create an Apple Pay merchant identity certificate:
  2. Log in to your Apple Developer merchant account as an Account Holder or Admin.
  3. In the left navigation panel, select
    Certificates, Identifiers & Profiles
    .
  4. Perform these steps for each merchant identity certificate you need to create:
    1. Click
      Identifiers
      , and click the plus sign (
      +
      ) on the top left.
    2. Select
      Merchant IDs
      and click
      Continue
      .
    3. Enter the merchant description and identifier name, and then click
      Continue
      .
    4. Click
      Register
      .

Registering Your Merchant Domains with Apple

Each merchant domain in your organization that will process Apple Pay transactions must be registered with Apple.
IMPORTANT
When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information
.
  1. Follow these steps to register your merchant domains with Apple:
  2. Log in to your Apple Developer merchant account as an Account Holder or Admin.
  3. In the left navigation panel, select
    Certificates, Identifiers & Profiles
    .
  4. Perform these steps for each merchant domain that you registered with Apple:
    1. Click
      Identifiers
      , and select
      Merchant IDs
      in the pop-up menu on the top right.
    2. On the right, select your merchant identifier.
    3. Under Merchant Domains, click
      Add Domain
      . Enter the fully qualified name of the domain and click
      Save
      .
    4. Click
      Download
      , place the downloaded file in the specified locations, and click
      Verify
      .
  5. After you add all merchant domains that will process Apple Pay transactions, click
    Done
    .

Verifying the Merchant Domains That You Registered with Apple

  1. Follow these steps to verify the merchant domains you registered with Apple:
  2. Log in to your Apple Developer merchant account as an Account Holder or Admin.
  3. In the left navigation panel, select
    Certificates, Identifiers & Profiles
    .
  4. Perform these steps for each merchant domain that you registered with Apple:
    1. Click
      Identifiers
      , and select
      Merchant IDs
      in the pop-up menu on the top right.
    2. On the right, select your merchant identifier.
    3. Under Merchant Domains, click
      Verify
      next to the domain name.
    4. Follow the instructions that appear on the screen.

RESULT

You can now proceed to Validating Your Test Integration.

Validating Your Test Integration

Before you integrate Apple Pay into your production environment, validate your test integration of Apple Pay.
  1. Follow these steps to validate the integration in your test environment:
  2. Make sure your system is prepared for end-to-end testing.

    ADDITIONAL INFORMATION

  3. Add test payment cards to the wallet of your Apple sandbox tester account.

    ADDITIONAL INFORMATION

    Instructions are provided in the
    Sandbox Testing
    page on the Apple Developer portal:
    1. Follow the steps in the
      Create a Sandbox Tester Account
      section.

      ADDITIONAL INFORMATION

      Make sure the user account has permissions to use Apple Pay. You will use this account to log in to devices and services.
    2. Follow the steps in the
      Adding a Test Card Number
      section.
  4. Using the
    REST
    API, send Apple Pay transaction requests to the test endpoints.

    ADDITIONAL INFORMATION

    Refer to the tasks in Processing Apple Pay Transactions.
  5. Adjust your integration settings as needed until your test transactions complete successfully.

RESULT

Integrating Apple Pay into Your Production Environment

After you validate Apple Pay in your test environment, you can integrate Apple Pay into your production environment.
  1. Follow these steps to integrate Apple Pay into your production environment:
  2. Use your Apple merchant ID to generate a certificate signing request (CSR) and create a
    production
    Apple Pay payment processing certificate.

    ADDITIONAL INFORMATION

  3. If you offer your customers Apple Pay on the Web, perform the additional setup steps for your production environment.

    ADDITIONAL INFORMATION

RESULT

You can now proceed to Processing Apple Pay Transactions.

Processing Apple Pay Transactions

Cybersource
supports these payment services for Apple Pay: Authorization, Sale, Authorization Reversal, and Capture. This section of the guide contains tasks that show you how to use those services to process Apple Pay transactions:
  • Authorize an Apple Pay payment with
    Cybersource
    decryption
  • Authorize an Apple Pay payment with merchant decryption
  • Process an Apple Pay sale with
    Cybersource
    decryption
  • Process an Apple Pay sale with merchant decryption
  • Reverse the authorization of an Apple Pay payment
  • Capture an authorized Apple Pay payment
For each task in this section, the example request message includes the
processingInformation. paymentSolution
REST
API field set to
001
. This value identifies Apple Pay as the digital payment solution.
IMPORTANT
In response to your successful payment authorization request, Apple Pay returns an encrypted payload that contains sensitive payment information. The method you use to extract and decrypt the payment data depends on how you integrated Apple Pay into your system.
For the list of supported cards, see Cards Supported for Apple Pay on Visa Platform Connect.
For high-level descriptions of the
Cybersource
decryption method and the merchant decryption method, see Integration Options.

Authorize an Apple Pay Payment with
Cybersource
Decryption

The topics in this section shows you how to authorize an Apple Pay payment transaction with the
Cybersource
decryption
implementation of Apple Pay.
IMPORTANT
In the example, the payment being authorized was made using a
Visa card
, and the processor is
Visa Platform Connect
.
If you want to replicate this example for a different card or a different processor, you will need to change some of the API fields in the request message.
For general information about basic authorizations, see the "Standard Payments Processing" section of the .

Basic Steps: Authorizing a Payment with
Cybersource
Decryption

Follow these steps to request an Apple Pay payment authorization with
Cybersource
decryption:
  1. Create the request message with the required
    REST
    API fields.
  2. Send the message to one of these endpoints:
    • Production:
      POST
      https://api.cybersource.com
      /pts/v2/payments
    • Test:
      POST
      https://apitest.cybersource.com
      /pts/v2/payments
  3. Verify the response messages to make sure that the request was successful.

    ADDITIONAL INFORMATION

    A 200-level HTTP response code indicates success. See the .

Fields Required to Authorize a Payment with
Cybersource
Decryption

As a best practice, include these
REST API
fields in your request for an authorization transaction with the
Cybersource
decryption implementation of Apple Pay.
Depending on your processor, your geographic location, and whether the relaxed address verification system (RAVS) is enabled for your account, some of these fields might not be required. It is your responsibility to determine whether an API field can be omitted from the transaction you are requesting.
For information about the relaxed requirements for address data and expiration dates in payment transactions, see the
.
Format of the encrypted payment data.
Set the value to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
for Apple Pay.
Encoding method used to encrypt the payment data.
Set the value to
Base64
for Apple Pay.
Set the value to the encrypted payment data value returned by the Full Wallet request.
Set the value to
001
to identify Apple Pay as the digital payment solution.

REST Example: Authorize a Payment with
Cybersource
Decryption

Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "001" }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "test@example.com" } }, "paymentInformation": { "fluidData": { "value": "eyJkYXRhIjoiXC9NK2VQQ0JlMmtod1pMQkFzRWhneHFqYXF2MmtZNDJSNnd1VDdnT3JlelBwRE9hR2dmc1AzZUNHZUplSjFSc3JpSERGSnJIK0FJVHp6RFdjVXNHUlNuSER3QlBcL2JHakU0dUhYcTFDOXFjWDBLWmYzaTFZNkV2b1wvaXExOFhkcG5obTI1U2kwSGpkWUJGRmVBUmZlVENpMEtDSGtRN04wZTAyeElRbm84Qmt1TVwvSUQ5bHdoNXBFVnVYM08ybjc4bHVyU0tlRmpXVHMyWG9Pc1pmWXBpbFQ4ZFFtK2RaYmh6VHgyZ2hMXC9FcFBReUVvdW5QTFZjTlwvaTR0blFnakxWRWJiNUFDNHJ4ZjBwK2M0VGtYSzcycGZGY05NSnlxd0RlQWZ2cHB6cnFQZVdoaWlpdzUwTmljT3duR29tcXA0bWU2anV4S2N5ZFh3cGpJR3BhQlBuXC9NY3o2d2ZDSFAzMWY1NHdkRmZ4bEZadjl5XC85aGw5YlY1d08yN2R5bFwvYUVxN2FYbU5JZHBQNTFsOXlSQlUzNDNYcjR3XC9MSXN2ZmZTTE91WDlsRU5QUGtocE1LUXo4VWpYNG0xXC9xazdcL256aGFSekFaZGh6VGZsNkZ3PT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNDE3MDcwNkM2OTYzNjE3NDY5NkY2RTQ0NjE3NDYxIiwidHJhbnNhY3Rpb25JZCI6IjU0NzI2MTZFNzM2MTYzNzQ2OTZGNkU0OTQ0IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJPSnZpNkxGa0JpUTJINDR6K05VK0I3N1hZV2p4UHJQaXRDMFRWZytJYnNGeXIrNjFsemFkQjFrU25hUHpFTmVMMEVrbzhWTExzVjRhU1hTalwvZXlJRmc9IiwicHVibGljS2V5SGFzaCI6IlwvNkxQT3BoS0tydWFvdjBET3VOTDk1YXFCcFVcLzArNElXNXFhV3FxME5qRT0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDZ2RvN2lrTzdERTNCXC9pY0lycmRjc1ZIanJyQmNPdXNndXhlcGs1QW41ZEExV01rajBlVjRsMVM0RnR5NktwdlR0T0xcL3VSdDhuTHZpVnR0TVVSZHBYTjNWXC9NVmZnVkxlXC9YUm5cLzRzbUJnMVgweE5OTXlTZXBQalVxV1ZkWFg1K0RWYnp2U0ZKSVJGdmt1MHJPaGg3REZmODVpbXNkaGRZRUhCaUg0TzdpK1E9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359642011156554503954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359642011156554503954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359642011156554503954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "consumerAuthenticationInformation": { "token": "Axj/7wSTjveM2Bej4NcSABsY1aQodZpGb2Y8uGnvx4dJq4Cnvx4dJq+kCvoTi4ZNJMvRiuIkVgTk473jNgXo+DXEgAAAkQmH" }, "id": "7359642011156554503954", "issuerInformation": { "responseRaw": "0110322000000E1000020000000000000010000104041641840132353442435634463759474B433833313030303030000159008000223134573031363135303730333830323039344730363400103232415050524F56414C00065649435243200034544B54523031313132313231323132313231544C3030323636504E30303431313131" }, "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2025", "requestorId": "12121212121", "prefix": "411111", "assuranceLevel": "66", "expirationMonth": "07", "suffix": "1111", "type": "001" }, "card": { "suffix": "1111", "type": "001" } }, "pointOfSaleInformation": { "terminalId": "02495701" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "merchantNumber": "000372839590885", "approvalCode": "831000", "networkTransactionId": "016150703802094", "transactionId": "016150703802094", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "54BCV4F7YGKC", "riskInformation": { "earlyVelocity": { "counts": [ { "count": "1", "informationCode": "MVEL-R1" } ] } }, "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T04:16:42Z" }

Authorize an Apple Pay Payment with Merchant Decryption

The topics in this section shows you how to authorize an Apple Pay payment transaction with the
merchant decryption
implementation of Apple Pay.
IMPORTANT
In the example, the payment being authorized was made using a
Visa card
, and the processor is
Visa Platform Connect
.
If you want to replicate this example for a different card or a different processor, you will need to change some of the API fields in the request message.
For general information about basic authorizations, see the "Standard Payments Processing" section of the .

Basic Steps: Authorizing a Payment with Merchant Decryption

  1. Follow these steps to request an Apple Pay payment authorization with merchant decryption:
  2. Create the request message with the required
    REST
    API fields.
  3. Send the message to one of these endpoints:
    • Production:
      POST
      https://api.cybersource.com
      /pts/v2/payments
    • Test:
      POST
      https://apitest.cybersource.com
      /pts/v2/payments
  4. Verify the response messages to make sure that the request was successful.

    ADDITIONAL INFORMATION

    A 200-level HTTP response code indicates success. See the .

Fields Required to Authorize a Payment with Merchant Decryption

As a best practice, include these
REST API
fields in your request for an authorization transaction with the
Cybersource
decryption implementation of Apple Pay.
Depending on your processor, your geographic location, and whether the relaxed address verification system (RAVS) is enabled for your account, some of these fields might not be required. It is your responsibility to determine whether an API field can be omitted from the transaction you are requesting.
For information about the relaxed requirements for address data and expiration dates in payment transactions, see the
.
Token authentication verification value cryptogram.
The value for this field must be a 28-character, Base64-encoded string (the encoding method for Apple Pay transactions).
Set the value to month in which the token expires. Format:
MM
Possible values:
01
through
12
.
Set the value to the year in which the token expires. Format:
yyyy
.
Set the value to customer's payment network token value that contains the customer's credit card number.
For
Visa Platform Connect
, set this field to the value that indicates the type of transaction that provided the payment network token data. Possible values:
  • 1
    : In-app transaction.
  • 2
    : Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction.
  • 3
    : A transaction using stored customer credentials on
    Visa Platform Connect
    , whether for merchant-initiated transactions (MITs) or customer-initiated transactions (CITs).
IMPORTANT
This value does not specify the token service provider. It specifies the entity that provided you with information about the token.
Three-digit value that indicates the card type. Possible values:
  • 001
    : Visa (including mada co-badged cards issued in the Kingdom of Saudi Arabia.)
  • 002
    : Mastercard (including mada co-badged cards issued in the Kingdom of Saudi Arabia)
  • 007
    : JCB
  • 060
    : mada (debit cards and prepaid cards issued in the Kingdom of Saudi Arabia)
Type of transaction. Some payment card companies use this information when determining discount rates. Possible values:
  • aesk
    : American Express SafeKey authentication.
  • dipb
    : Discover card type.
  • internet
    : Default value for authorizations. E-commerce order placed from a website.
  • js
    : JCB J/Secure authentication.
  • spa
    : Mastercard Identity Check authentication.
  • vbv
    : Visa Secure authentication
Set the value to
001
to identify Apple Pay as the digital payment solution.

REST Example: Authorize a Payment with Merchant Decryption

Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "internet", "paymentSolution": "001" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "test@cybs.com" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }

Process an Apple Pay Sale with
Cybersource
Decryption

The topics in this section shows you how to process an Apple Pay sale with the
Cybersource
decryption
implementation of Apple Pay.
A sale bundles an authorization and capture in a single transaction. Request the authorization and capture at the same time. The authorization and capture amounts must be the same.
The
REST
API message for a sale request is the same as the message for an authorization request, except that the sale request message must set the
processingInformation.capture
field to
true
.
IMPORTANT
In the example, the sale transaction is made using a
Visa card
, and the processor is
Visa Platform Connect
.
If you want to replicate this example for a different card or a different processor, you will need to change some of the API fields in the request message.
For general information about sale transactions, see the "Standard Payments Processing" section of the .

Basic Steps: Processing a Sale with
Cybersource
Decryption

  1. Follow these steps to process an Apple Pay sale transaction with
    Cybersource
    decryption:
  2. Create the request message with the required
    REST
    API fields.
  3. Send the message to one of these endpoints:
    • Production:
      POST
      https://api.cybersource.com
      /pts/v2/payments
    • Test:
      POST
      https://apitest.cybersource.com
      /pts/v2/payments
  4. Verify the response messages to make sure that the request was successful.

    ADDITIONAL INFORMATION

    A 200-level HTTP response code indicates success. See the .

Fields Required to Process a Sale with
Cybersource
Decryption

As a best practice, include these
REST API
fields in your request for a combined authorization and capture (sale) transaction with the
Cybersource
decryption implementation of Apple Pay.
Depending on your processor, your geographic location, and whether the relaxed address verification system (RAVS) is enabled for your account, some of these fields might not be required. It is your responsibility to determine whether an API field can be omitted from the transaction you are requesting.
For information about the relaxed requirements for address data and expiration dates in payment transactions, see the
.
Format of the encrypted payment data.
Set the value to
RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U
for Apple Pay.
Encoding method used to encrypt the payment data.
Set the value to
Base64
for Apple Pay.
Set the value to the encrypted payment data value returned by the Full Wallet request.
Set the value to
true
for a sale transaction (to include a capture with the authorization).
Set the value to
001
to identify Apple Pay as the digital payment solution.

REST Example: Process a Sale with
Cybersource
Decryption

Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "001", "capture": true }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "test@cybs.com" } }, "paymentInformation": { "fluidData": { "value": "eyJkYXRhIjoiXC9NK2VQQ0JlMmtod1pMQkFzRWhneHFqYXF2MmtZNDJSNnd1VDdnT3JlelBwRE9hR2dmc1AzZUNHZUplSjFSc3JpSERGSnJIK0FJVHp6RFdjVXNHUlNuSER3QlBcL2JHakU0dUhYcTFDOXFjWDBLWmYzaTFZNkV2b1wvaXExOFhkcG5obTI1U2kwSGpkWUJGRmVBUmZlVENpMEtDSGtRN04wZTAyeElRbm84Qmt1TVwvSUQ5bHdoNXBFVnVYM08ybjc4bHVyU0tlRmpXVHMyWG9Pc1pmWXBpbFQ4ZFFtK2RaYmh6VHgyZ2hMXC9FcFBReUVvdW5QTFZjTlwvaTR0blFnakxWRWJiNUFDNHJ4ZjBwK2M0VGtYSzcycGZGY05NSnlxd0RlQWZ2cHB6cnFQZVdoaWlpdzUwTmljT3duR29tcXA0bWU2anV4S2N5ZFh3cGpJR3BhQlBuXC9NY3o2d2ZDSFAzMWY1NHdkRmZ4bEZadjl5XC85aGw5YlY1d08yN2R5bFwvYUVxN2FYbU5JZHBQNTFsOXlSQlUzNDNYcjR3XC9MSXN2ZmZTTE91WDlsRU5QUGtocE1LUXo4VWpYNG0xXC9xazdcL256aGFSekFaZGh6VGZsNkZ3PT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNDE3MDcwNkM2OTYzNjE3NDY5NkY2RTQ0NjE3NDYxIiwidHJhbnNhY3Rpb25JZCI6IjU0NzI2MTZFNzM2MTYzNzQ2OTZGNkU0OTQ0IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJPSnZpNkxGa0JpUTJINDR6K05VK0I3N1hZV2p4UHJQaXRDMFRWZytJYnNGeXIrNjFsemFkQjFrU25hUHpFTmVMMEVrbzhWTExzVjRhU1hTalwvZXlJRmc9IiwicHVibGljS2V5SGFzaCI6IlwvNkxQT3BoS0tydWFvdjBET3VOTDk1YXFCcFVcLzArNElXNXFhV3FxME5qRT0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDZ2RvN2lrTzdERTNCXC9pY0lycmRjc1ZIanJyQmNPdXNndXhlcGs1QW41ZEExV01rajBlVjRsMVM0RnR5NktwdlR0T0xcL3VSdDhuTHZpVnR0TVVSZHBYTjNWXC9NVmZnVkxlXC9YUm5cLzRzbUJnMVgweE5OTXlTZXBQalVxV1ZkWFg1K0RWYnp2U0ZKSVJGdmt1MHJPaGg3REZmODVpbXNkaGRZRUhCaUg0TzdpK1E9PSJ9", "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U", "encoding": "Base64" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7359641336126184303955/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359641336126184303955" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "consumerAuthenticationInformation": { "token": "Axj//wSTjveKcificy1TABsQ3ZtGThq1Zp78eHSPSAp78eHSPTpAr6E4uGTSTL0YriJFQwJycd7xTkT8TmWqYAAAtQlD" }, "id": "7359641336126184303955", "issuerInformation": { "responseRaw": "0110322000000E1000020000000000000010000104041534840127353442435634463759474B373833313030303030000159008000223134573031363135303730333830323039344730363400103232415050524F56414C00065649435243200034544B54523031313132313231323132313231544C3030323636504E30303431313131" }, "orderInformation": { "amountDetails": { "totalAmount": "10.00", "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2025", "requestorId": "12121212121", "prefix": "411111", "assuranceLevel": "66", "expirationMonth": "07", "suffix": "1111", "type": "001" }, "card": { "suffix": "1111", "type": "001" } }, "pointOfSaleInformation": { "terminalId": "02495701" }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "merchantNumber": "000372839590885", "approvalCode": "831000", "networkTransactionId": "016150703802094", "transactionId": "016150703802094", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "73428553", "riskInformation": { "earlyVelocity": { "counts": [ { "count": "1", "informationCode": "MVEL-R1" } ] } }, "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T04:15:34Z" }

Process an Apple Pay Sale with Merchant Decryption

The topics in this section shows you how to process an Apple Pay sale with the
merchant decryption
implementation of Apple Pay.
A sale bundles an authorization and capture in a single transaction. Request the authorization and capture at the same time. The authorization and capture amounts must be the same.
The
REST
API message for a sale request is the same as the message for an authorization request, except that the sale request message must set the
processingInformation.capture
field to
true
.
IMPORTANT
In the example, the sale transaction is made using a
Visa card
, and the processor is
Visa Platform Connect
.
If you want to replicate this example for a different card or a different processor, you will need to change some of the API fields in the request message.
For general information about sale transactions, see the "Standard Payments Processing" section of the .

Basic Steps: Processing a Sale with Merchant Decryption

  1. Follow these steps to process an Apple Pay sale transaction with merchant decryption:
  2. Create the request message with the required
    REST
    API fields.
  3. Send the message to one of these endpoints:
    • Production:
      POST
      https://api.cybersource.com
      /pts/v2/payments
    • Test:
      POST
      https://apitest.cybersource.com
      /pts/v2/payments
  4. Verify the response messages to make sure that the request was successful.

    ADDITIONAL INFORMATION

    A 200-level HTTP response code indicates success. See the .

Fields Required to Process a Sale with Merchant Decryption

As a best practice, include these
REST API
fields in your request for a combined authorization and capture (sale) transaction with the
Cybersource
decryption implementation of Apple Pay.
Depending on your processor, your geographic location, and whether the relaxed address verification system (RAVS) is enabled for your account, some of these fields might not be required. It is your responsibility to determine whether an API field can be omitted from the transaction you are requesting.
For information about the relaxed requirements for address data and expiration dates in payment transactions, see the
.
Token authentication verification value cryptogram.
The value for this field must be a 28-character, Base64-encoded string (the encoding method for Apple Pay transactions).
Set the value to month in which the token expires. Format:
MM
Possible values:
01
through
12
.
Set the value to the year in which the token expires. Format:
yyyy
.
Set the value to customer's payment network token value that contains the customer's credit card number.
For
Visa Platform Connect
, set this field to the value that indicates the type of transaction that provided the payment network token data. Possible values:
  • 1
    : In-app transaction.
  • 2
    : Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction.
  • 3
    : A transaction using stored customer credentials on
    Visa Platform Connect
    , whether for merchant-initiated transactions (MITs) or customer-initiated transactions (CITs).
IMPORTANT
This value does not specify the token service provider. It specifies the entity that provided you with information about the token.
Three-digit value that indicates the card type. Possible values:
  • 001
    : Visa (including mada co-badged cards issued in the Kingdom of Saudi Arabia.)
  • 002
    : Mastercard (including mada co-badged cards issued in the Kingdom of Saudi Arabia)
  • 007
    : JCB
  • 060
    : mada (debit cards and prepaid cards issued in the Kingdom of Saudi Arabia)
Set the value to
true
to include a capture with the authorization.
Type of transaction. Some payment card companies use this information when determining discount rates. Possible values:
  • aesk
    : American Express SafeKey authentication.
  • dipb
    : Discover card type.
  • internet
    : Default value for authorizations. E-commerce order placed from a website.
  • js
    : JCB J/Secure authentication.
  • spa
    : Mastercard Identity Check authentication.
  • vbv
    : Visa Secure authentication
Set the value to
001
to identify Apple Pay as the digital payment solution.

REST Example: Process a Sale with Merchant Decryption

Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "commerceIndicator": "internet", "paymentSolution": "001", "capture": true }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=", "transactionType": "1", "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "901 Metro Center Blvd", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "test@cybs.com" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7359627932726161403954/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359627932726161403954" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359627932726161403954", "orderInformation": { "amountDetails": { "totalAmount": "10.00", "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "417802", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303417802", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359627932726161403954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:53:13Z" }

Reverse an Apple Pay Payment Authorization

The topics in this section shows you how to reverse an Apple Pay payment authorization.
IMPORTANT
In the example, the authorization being reversed is for a payment made using a
Visa card
, and the processor is
Visa Platform Connect
.
If you want to replicate this example for a different card or a different processor, you will need to change some of the API fields in the request message.
For general information about authorization reversals, see the "Standard Payments Processing" section of the .

Basic Steps: Reversing a Payment Authorization

  1. Follow these steps to reverse an Apple Pay payment authorization:
  2. Create the request message with the required
    REST
    API fields.
  3. Send the request to one of these endpoints:
    • Production:
      POST
      https://api.cybersource.com
      /pts/v2/payments/{id}/reversals
    • Test:
      POST
      https://apitest.cybersource.com
      /pts/v2/payments/{id}/reversals

    ADDITIONAL INFORMATION

    Replace the
    {id}
    portion of the URL with the transaction ID of the payment that you want to reverse. The transaction ID is returned in the
    id
    field of the response to the authorization request. Example value: 7359642011156554503954
  4. Verify the response messages to make sure that the request was successful.

    ADDITIONAL INFORMATION

    A 200-level HTTP response code indicates success. See the .

Fields Required to Reverse a Payment Authorization

As a best practice, include these
REST API
fields in your request to reverse the authorization of an Apple Pay transaction.
Depending on your processor, your geographic location, and whether the relaxed address verification system (RAVS) is enabled for your account, some of these fields might not be required. It is your responsibility to determine whether an API field can be omitted from the transaction you are requesting.
For information about the relaxed requirements for address data and expiration dates in payment transactions, see the
.
Set this field to the value returned in the response to the original authorization.
Set the value to
001
to identify Apple Pay as the digital payment solution.

REST Example: Reverse a Payment Authorization

Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "001" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "reversalInformation": { "amountDetails": { "totalAmount": "10" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "10.00", "currency": "USD" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2025-01-04T23:56:13Z" }

Capture an Apple Pay Authorization

The topics in this section shows you how to capture an authorized Apple Pay payment transaction.
IMPORTANT
In the example, the payment being captured was made using a
Visa card
, and the transaction is processed with the
Visa Platform Connect
.
If you want to replicate this example for a different card or a different processor, you will need to change some of the API fields in the request message.
For general information about capture transactions, see the "Standard Payments Processing" section of the .

Basic Steps: Capturing an Authorization

  1. Follow these steps to capture an authorized Apple Pay payment transaction:
  2. Create the request message with the required
    REST
    API fields.
  3. Send the request to one of these endpoints:
    • Production:
      POST
      https://api.cybersource.com
      /pts/v2/payments/{id}/captures
    • Test:
      POST
      https://apitest.cybersource.com
      /pts/v2/payments/{id}/captures

    ADDITIONAL INFORMATION

    Replace the
    {id}
    portion of the URL with the transaction ID of the payment that you want to capture. The transaction ID is returned in the
    id
    field of the response to the authorization request. Example value: 7359642011156554503954
  4. Verify the response messages to make sure that the request was successful.

    ADDITIONAL INFORMATION

    A 200-level HTTP response code indicates success. See the .

Fields Required to Capture an Authorization

As a best practice, include these
REST API
fields in your request to capture an authorized Apple Pay payment transaction.
Depending on your processor, your geographic location, and whether the relaxed address verification system (RAVS) is enabled for your account, some of these fields might not be required. It is your responsibility to determine whether an API field can be omitted from the transaction you are requesting.
For information about the relaxed requirements for address data and expiration dates in payment transactions, see the
.
Set this field to the value returned in the response to the original authorization.
Set the value to
001
to identify Apple Pay as the digital payment solution.

REST Example: Capturing an Authorization

Request
{ "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "001" }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "10.00", "currency": "USD" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2024-11-21T04:17:20Z" }

Searching for Transactions

Use the Transaction page in the
Business Center
to search transactions that have been (successfully or unsuccessfully) processed on your account or for one or more of your merchants. The page consists of a Search pane and a Search Results pane.
This section describes how to search
Apple Pay transactions
using the Search pane in the Transactions page.
IMPORTANT
For complete information about searching
all transactions
, see the Search for Transactions topics in the
Business Center
using the
Cybersource
Transaction Management module You must have login credentials to view the online help.

Reference Information

This section contains helpful information for integrating Apple Pay and for processing Apple Pay authorization transactions.

Quick Integration for the
Cybersource
Decryption Method

If you are integrating the
Cybersource
decryption method
of Apple Pay and you are experienced in creating Apple Pay payment processing certificates, you can use these abbreviated instructions instead of the more detailed steps in Integrating Apple Pay into Your System.
  1. Follow these steps to integrate the
    Cybersource
    decryption method of Apple Pay:
  2. Enroll your organization in the Apple Developer Program and register a merchant ID for each environment, such as sandbox and production.
  3. Log in to your
    Cybersource
    merchant account at the
    Business Center
    .

    ADDITIONAL INFORMATION

    ADDITIONAL INFORMATION

    ADDITIONAL INFORMATION

  4. In the left navigation panel, select
    Payment Configuration
    and click
    Digital Payment Solution
    .

    ADDITIONAL INFORMATION

    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.
  5. Click
    Configure
    . The Apple Pay Registration page appears.
  6. Enter your Apple merchant ID, and then click
    Generate New Certificate Signing Request
    .
  7. To download the newly generated certificate signing request (CSR), click the Download icon next to the key and follow your browser's instructions to save and open the file.
  8. Log into your Apple Developer account and use your CSR to create an Apple payment processing certificate that is associated with your merchant ID.
  9. If you are validating your integration in your test environment, perform these tasks:
    1. Add test cards to your Apple sandbox tester account.

      ADDITIONAL INFORMATION

    2. Submit Apple Pay test transactions.

      ADDITIONAL INFORMATION

      For examples of Apple Pay transactions, see Processing Apple Pay Transactions.
    3. Adjust your integration settings as needed until your test transactions complete successfully.
  10. If you are ready to integrate Apple Pay into your production environment, repeat Steps 2 through 7 with your
    Cybersource
    and Apple production accounts.

Endpoints for Services Supported with Apple Pay

This topic lists the
REST
API endpoints that you use to request the services supported with Apple Pay.

Authorizing a Payment

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

Processing a Sale

Production:
POST
https://api.cybersource.com
/pts/v2/payments
Production in India:
POST
https://api.in.cybersource.com
/pts/v2/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments
Make sure to set the
processingInformation.capture
field to
true
.

Reversing an Authorization

Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}/reversals
Production in India:
POST
https://api.in.cybersource.com
/pts/v2/payments/{id}/reversals
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}/reversals
Replace the
{id}
portion of the URL with the transaction ID of the payment that you want to reverse. The transaction ID is returned in the
id
field of the response to the authorization request. Example value: 7359642011156554503954

Capturing a Payment

Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}/captures
Production in India:
POST
https://api.in.cybersource.com
/pts/v2/payments/{id}/captures
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}/captures
Replace the
{id}
portion of the URL with the transaction ID of the payment that you want to capture. The transaction ID is returned in the
id
field of the response to the authorization request. Example value: 7359642011156554503954

Processing a
Refund

Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}/refunds
Production in India:
POST
https://api.in.cybersource.com
/pts/v2/payments/{id}/refunds
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}/refunds
Replace the
{id}
portion of the URL with the transaction ID of the capture request for the payment you are refunding. The transaction ID is returned in the
id
field of the capture request. Example value: 7359642011156554503954

Voiding a Capture

Production:
POST
https://api.cybersource.com
/v2/captures/{id}/voids
Production in India:
POST
https://api.in.cybersource.com
/pts/v2/payments/v2/captures/{id}/voids
Test:
POST
https://apitest.cybersource.com
/v2/captures/{id}/voids
Replace the
{id}
portion of the URL with the transaction ID of the capture that you want to void. The transaction ID is returned in the
id
field of the response to the capture request. Example value: 7359642011156554503954

Voiding a Credit

Production:
POST
https://api.cybersource.com
/pts/v2/credits/{id}/voids
Production in India:
POST
https://api.in.cybersource.com
/pts/v2/credits/{id}/voids
Test:
POST
https://apitest.cybersource.com
/pts/v2/credits/{id}/voids
Replace the
{id}
portion of the URL with the transaction ID of the credit you want to void. The transaction ID is returned in the
id
field of the response to the credit request. Example value: 7359642011156554503954

Optional Features Supported with Apple Pay

These optional features are supported with Apple Pay on
Visa Platform Connect
.

Merchant-Initiated Transactions

Merchants can initiate a payment on the behalf of a customer. This type of transaction is called a merchant-initiated transaction (MIT). When initiating a MIT, the customer is not present. Customers must authorize the storage of their credentials and the use of these credentials for future payments.
Merchant-initiated transactions are covered in the "Standard Payments Processing" section of the .

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. The total amount of all the captures must not exceed the authorized amount.
Multiple partial captures are covered in the "Standard Payments Processing" section of the .

Recurring Payments

A recurring payment is a credentials-on-file (COF) transaction in a series of payments that you bill to a customer for a fixed amount at regular intervals that do not exceed one year between transactions. The series of recurring payments is the result of an agreement between you and the customer for the purchase of goods or services that are provided at regular intervals. Recurring payments are also known as subscriptions.
Recurring payments are covered in the "Standard Payments Processing" section of the .

Subsequent Authorizations

This feature enables you to manage recurring transactions. After a successful initial authorization, you can request subsequent authorizations and request one capture for both authorizations.
Subsequent authorizations are covered in the "Standard Payments Processing" section of the .

VISA Platform Connect: Specifications and Conditions for Resellers/Partners

The following are specifications and conditions that apply to a Reseller/Partner enabling its merchants through
Cybersource for Visa Platform Connect (“VPC”) processing
. Failure to meet any of the specifications and conditions below is subject to the liability provisions and indemnification obligations under Reseller/Partner’s contract with Visa/Cybersource.
  1. Before boarding merchants for payment processing on a VPC acquirer’s connection, Reseller/Partner and the VPC acquirer must have a contract or other legal agreement that permits Reseller/Partner to enable its merchants to process payments with the acquirer through the dedicated VPC connection and/or traditional connection with such VPC acquirer.
  2. Reseller/Partner is responsible for boarding and enabling its merchants in accordance with the terms of the contract or other legal agreement with the relevant VPC acquirer.
  3. Reseller/Partner acknowledges and agrees that all considerations and fees associated with chargebacks, interchange downgrades, settlement issues, funding delays, and other processing related activities are strictly between Reseller and the relevant VPC acquirer.
  4. Reseller/Partner acknowledges and agrees that the relevant VPC acquirer is responsible for payment processing issues, including but not limited to, transaction declines by network/issuer, decline rates, and interchange qualification, as may be agreed to or outlined in the contract or other legal agreement between Reseller/Partner and such VPC acquirer.
DISCLAIMER: NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR ANY ERRORS OR OMISSIONS BY THE VISA PLATFORM CONNECT ACQUIRER IN PROCESSING TRANSACTIONS. NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR RESELLER/PARTNER BOARDING MERCHANTS OR ENABLING MERCHANT PROCESSING IN VIOLATION OF THE TERMS AND CONDITIONS IMPOSED BY THE RELEVANT VISA PLATFORM CONNECT ACQUIRER.