On This Page 
    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 throughVisa Acceptance Solutions. 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:IMPORTANTAnImportantstatement contains information essential to successfully completing a task or learning a concept.TIPATipcontains information that can help you to complete a tasks or learn a concept.
 - Related Documentation
 - When you perform tasks at the Apple Developer portal, always refer to official Apple documentation for the most up-to-date information:
- Apple ID:
 - Apple Support:
 - Apple Developer Support:
 - Apple Developer Programs:
 - Apple Developer Help:
 - Apple Developer Documentation:
 
 
Recent Revisions to This Document
    25.04.01
      - Initial Release
 
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 
Visa Acceptance Solutions
            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
            
            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.
Visa Acceptance Solutions
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
            
            payment management platform.
            The two decryption methods— 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.
Visa Acceptance Solutions
Visa Acceptance Solutions
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
            ,
            generate keys and certificates (or
            
            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
            
            into your system.
            The instructions cover both of the Apple Pay decryption methods.
Visa Acceptance Solutions
Visa Acceptance Solutions
Visa Acceptance Solutions
Integration Options
    Visa Acceptance Solutions
 supports Apple Pay in multiple integration options. Three of
            the most widely used options are Visa Acceptance Solutions
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 
Visa Acceptance Solutions
 payment management
            platform. Visa Acceptance Solutions
 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.Visa Acceptance Solutions
        Decryption
    Visa Acceptance Solutions
For
            
            decryption,
            you implement Apple Pay directly on your checkout page.
            You send 
            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
            
            process your Apple Pay transactions
            reduces your exposure to sensitive payment information.
Visa Acceptance Solutions
Visa Acceptance Solutions
 all encrypted payment information that
            you receive from Apple Pay.
            Visa Acceptance Solutions
Visa Acceptance Solutions
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
            
            for processing.
            With merchant decryption,
            payment instrument details remain visible to you, and
            you control the technical development that decrypts this information.
Visa Acceptance Solutions
Unified Checkout Integration
    Unified Checkout Integration
Unified Checkout Integration
 is a consolidated digital acceptance product.
            Unified Checkout Integration
 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 Integration
 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
    Visa Platform Connect
Visa Acceptance Solutions
 supports Apple Pay on the Visa Platform Connect
 payment gateway only.These payment cards are supported:
- Australia and New Zealand Banking Group Limited (ANZ)
 - CitiBank Singapore Ltd.
 - Global Payments Asia Pacific
 - Vantiv
 - Westpac
 
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
                .
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.
For more information, see Reverse an Apple Pay Payment 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  is a payment
                refund from your bank to the cardholder for a payment that has already been captured.
                To initiate a 
refund
 (also known as a follow-on credit)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.
- Amerchant account.Visa Acceptance Solutions
 - If you do not have a merchant account, contact yoursales representative.Visa Acceptance Solutions
 - Apple Pay enabled for youraccount.Visa Acceptance Solutions
 - If Apple Pay is not enabled, contact yourrepresentative.Visa Acceptance Solutions
 - AVisa Acceptance Solutionsevaluation account.
 - To create a test account, visit theBusiness CenterSandbox Account Sign-Up page.
 - Test account login page:
 - AVisa Acceptance SolutionsBusiness Centerproduction account with a supported processor.
 - If you do not have a production account, contact yourVisa Acceptance Solutionssales representative.
 - Production account login page:
 
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.
 - supports payment network tokens with your processor.Visa Acceptance Solutions
 
- 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
 
Requirements for Payment Network Token Support
    Apple Pay relies on authorizations being processed with
                 test accounts and production accounts meet these requirements.
payment network tokens
. Make sure your processor and your Visa Acceptance Solutions
- Your processor supports payment network tokens andsupports payment network tokens with your processor.Visa Acceptance Solutions
 - If your processor does not support payment network tokens, or ifdoes not support payment network tokens with your processor, you must obtain a newVisa Acceptance Solutionsmerchant account with a processor that supports payment network tokens.Visa Acceptance Solutions
 - Yourtest account supports payment network tokens withVisa Acceptance Solutions.Visa Platform Connect
 - In order to configure and validate a test integration of Apple Pay, yourmerchant test account supports payment network tokens with your processor.Visa Acceptance Solutions
 - If you do not have a merchant test account that meets this criteria, contact yoursales representative.Visa Acceptance Solutions
 - Yourproduction account supports payment network tokens withVisa Acceptance Solutions.Visa Platform Connect
 - In order to use your Apple Pay implementation in a production environment, yourmerchant production account supports network tokens with your processor.Visa Acceptance Solutions
 - If you do not have a production account that meets these criteria, contact yoursales representative.Visa Acceptance Solutions
 
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 Integration
, see the . The requirements described in this topic apply only if you are integrating
                        standalone Apple Pay
 for Visa Acceptance Solutions
 decryption or
                    merchant decryption.- Your Apple device runs the latest Apple Developer app.
 - The machine that you use forenrollmentmust 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 theCertificates, Identifiers & Profilespage. 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 theSandbox Testingpage in the Apple Developer portal:
 - Follow the steps described in the sectionCreate 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 anApple 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 acertificate signing request(CSR) at the system that will handle Apple Pay payload decryption. Fordecryption, you will generate the CSR at theVisa Acceptance SolutionsVisa Acceptance SolutionsBusiness Centeruser 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 apayments processing certificatefor 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 anApple Pay merchant identity certificate, associate the certificate with your merchant ID, and registereach merchant domainthat will process Apple Pay transactions.
 
TIP
If you are integrating 
Apple Pay with
            
            decryption
 and
            you are experienced in creating Apple Pay payment processing certificates,
            you can use the
            Quick Integration for the Visa Acceptance Solutions Decryption Method
            instead of the detailed steps in this section.Visa Acceptance Solutions
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
.- Follow these steps to start the enrollment process:
 - Launch the Apple Developer app on your device.
 - ClickAccount, and sign in with your Apple ID.
 - If prompted, review the Apple Developer Agreement and clickAgree.
 - ClickEnroll Now, review the program benefits and requirements, and then clickContinue.
 - At the prompts, enter your information as the Account Holder.
 - 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
.- Follow these steps to complete the enrollment process:
 - Launch the Apple Developer app on the device you used to start the enrollment process.
 - ClickAccountand sign in with the Apple ID you used to start the enrollment process.
 - ClickContinue Your Enrollment, review the terms of the Apple Developer Program License Agreement, and then clickAgree.
 - Review the annual membership subscription details and clickSubscribe.
 
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
.- Follow these steps to create a merchant ID and to register it in your Apple Developer account:
 - Log in to your Apple Developer account.
 - In the left navigation panel, selectCertificates, Identifiers & Profiles.
 - ClickIdentifiers.
 - Click the plus sign (+) on the top left.
 - SelectMerchant IDsand clickContinue.
 - Enter a merchant description and identifier name.
 - ClickContinue.
 - Verify that you entered the merchant information correctly.
 - ClickRegister.
 
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  decryption and merchant decryption.
Visa Acceptance Solutions
- If you are integratingdecryption, you will generate a CSR at theVisa Acceptance SolutionsVisa Acceptance SolutionsBusiness Center. See Generating a CSR for Visa Acceptance Solutions Decryption.
 - If you are integrating merchant decryption, you will generate a CSR at your Apple device. See Generating a CSR for Merchant Decryption.
 
Generating a CSR for Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
IMPORTANT
These steps apply to setting up
                     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.
Visa Acceptance Solutions
For  decryption, you will use your  account in the 
Visa Acceptance Solutions
Visa Acceptance Solutions
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, 
Visa Acceptance Solutions
 sales engineer, alliance partner, or
                technical account manager.- Follow these steps at theVisa Acceptance SolutionsBusiness Centerto generate a CSR:
 - Log in to yourmerchant account in theVisa Acceptance SolutionsBusiness Center.
ADDITIONAL INFORMATION
Production:ADDITIONAL INFORMATION
 - In the left navigation panel, selectPayment Configuration.
 - ChooseDigital Payment Solutions.
ADDITIONAL INFORMATION
The Digital Payment Solutions page appears. - ClickConfigurefor Apple Pay.
ADDITIONAL INFORMATION
The Apple Pay Registration page appears.ADDITIONAL INFORMATION
This image shows the Apple Pay Registration page in theVisa Acceptance SolutionsBusiness Center.Figure:
Apple Pay Registration Page in theVisa Acceptance SolutionsBusiness CenterInterface
 - 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. - ClickGenerate new certificate signing request.
 - Click the download icon next to the key.
 - Download the certificate request file (a file with a.certSigningRequestfile extension) to your local machine.
 - 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
                
                decryption model of Apple Pay into your system, follow the steps in
                Generating a CSR for Visa Acceptance Solutions Decryption
                instead.
Visa Acceptance Solutions
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
.- Follow these steps at your Apple device to generate a CSR:
 - Sign in to your Apple Developer account as the Account Holder or as an Admin and selectCertificates, Identifiers & Profiles.
 - ClickIdentifiersin the sidebar.
 - SelectMerchant IDsand clickContinue.
 - Under Identifiers, selectMerchant IDsusing the filter on the top right.
 - On the right, select your merchant identifier.
 - Under Apple Pay Payment Processing Certificate, clickCreate 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
.- Follow these steps to create a payment processing certificate for your Apple Pay merchant ID:
 - Sign in to your Apple Developer account as the Account Holder or as an Admin and selectCertificates, Identifiers & Profiles.
 - 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.- ClickIdentifiersin the sidebar.
 - SelectMerchant IDsusing the filter on the top right.
 - 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. ClickReview Agreementand follow the instructions that appear. - Under Apple Pay Payment Processing Certificate, clickCreate Certificate.
 
 - Create a payment processing certificate and download the certificate to your local machine.
- ClickChoose Fileand select the CSR file that you uploaded.
ADDITIONAL INFORMATION
The CSR file has the filename extension.certSigningRequest. - ClickChoose.
 - ClickContinue.
 - ClickDownload.
Step Result
The payment processing certificate (a file with the filename extension.cert) appears in your Downloads folder. 
 - Go to the next task.
- If you offer your customers Apple Pay in a web page, go to Part 3: Perform Additional Setup for Apple Pay on the Web.
 - Otherwise, proceed to Validating Your Test Integration.
 
 
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
.- Follow these steps to create an Apple Pay merchant identity certificate:
 - Log in to your Apple Developer merchant account as an Account Holder or Admin.
 - In the left navigation panel, selectCertificates, Identifiers & Profiles.
 - Perform these steps for each merchant identity certificate you need to create:
- ClickIdentifiers, and click the plus sign (+) on the top left.
 - SelectMerchant IDsand clickContinue.
 - Enter the merchant description and identifier name, and then clickContinue.
 - ClickRegister.
 
 
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
.- Follow these steps to register your merchant domains with Apple:
 - Log in to your Apple Developer merchant account as an Account Holder or Admin.
 - In the left navigation panel, selectCertificates, Identifiers & Profiles.
 - Perform these steps for each merchant domain that you registered with Apple:
- ClickIdentifiers, and selectMerchant IDsin the pop-up menu on the top right.
 - On the right, select your merchant identifier.
 - Under Merchant Domains, clickAdd Domain. Enter the fully qualified name of the domain and clickSave.
 - ClickDownload, place the downloaded file in the specified locations, and clickVerify.
 
 - After you add all merchant domains that will process Apple Pay transactions, clickDone.
 
Verifying the Merchant Domains That You Registered with Apple
    - Follow these steps to verify the merchant domains you registered with Apple:
 - Log in to your Apple Developer merchant account as an Account Holder or Admin.
 - In the left navigation panel, selectCertificates, Identifiers & Profiles.
 - Perform these steps for each merchant domain that you registered with Apple:
- ClickIdentifiers, and selectMerchant IDsin the pop-up menu on the top right.
 - On the right, select your merchant identifier.
 - Under Merchant Domains, clickVerifynext to the domain name.
 - 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.
- Follow these steps to validate the integration in your test environment:
 - Make sure your system is prepared for end-to-end testing.
ADDITIONAL INFORMATION
 - Add test payment cards to the wallet of your Apple sandbox tester account.
ADDITIONAL INFORMATION
Instructions are provided in theSandbox Testingpage on the Apple Developer portal:- Follow the steps in theCreate a Sandbox Tester Accountsection.
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. - Follow the steps in theAdding a Test Card Numbersection.
 
 - Using theRESTAPI, send Apple Pay transaction requests to the test endpoints.
ADDITIONAL INFORMATION
Refer to the tasks in Processing Apple Pay Transactions. - Adjust your integration settings as needed until your test transactions complete successfully.
 
RESULT
You can now proceed to Integrating Apple Pay into Your Production Environment.
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.
- Follow these steps to integrate Apple Pay into your production environment:
 - Use your Apple merchant ID to generate a certificate signing request (CSR) and create aproductionApple Pay payment processing certificate.
ADDITIONAL INFORMATION
 - 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
    Visa Acceptance Solutions
- Authorize an Apple Pay payment withdecryptionVisa Acceptance Solutions
 - Authorize an Apple Pay payment with merchant decryption
 - Process an Apple Pay sale withdecryptionVisa Acceptance Solutions
 - 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 
            API field set to 
processingInformation. paymentSolution
                REST
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 high-level descriptions of the
            
            decryption method and the merchant decryption method,
            see Integration Options.
Visa Acceptance Solutions
Authorize an Apple Pay Payment with Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
The topics in this section shows you how to authorize an Apple Pay payment transaction
            with the  decryption implementation of Apple Pay.
Visa Acceptance Solutions
IMPORTANT
In the example, the payment being authorized
                was made using a .
                
Visa card
,
                and the processor is
                Visa Platform Connect
For information about cards, see
                Cards Supported for Apple Pay on Visa Platform Connect.
Visa Acceptance Solutions
 supports the Visa Platform Connect
 processor.For general information about basic authorizations, see the "Standard
                Payments Processing" section of the .
Basic Steps: Authorizing a Payment with Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
Follow these steps to request an Apple Pay payment authorization with  decryption:
Visa Acceptance Solutions
- Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Authorize a Payment with Visa Acceptance Solutions Decryption.
 - Refer to the example in REST Example: Authorize a Payment with Visa Acceptance Solutions Decryption.
 
 - Send the message to one of these endpoints:
- Production:POSThttps://api.visaacceptance.com/pts/v2/payments
 - Test:POSThttps://apitest.visaacceptance.com/pts/v2/payments
 
 - Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the . 
Fields Required to Authorize a Payment with Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
As a best practice,
            include these 
            decryption implementation of Apple Pay.
REST API
 fields
            in your request for an authorization transaction with the
            Visa Acceptance Solutions
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 .- 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.fluidData.descriptor
 - Format of the encrypted payment data.
 - Set the value toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5Ufor Apple Pay.
 - paymentInformation.fluidData.encoding
 - Encoding method used to encrypt the payment data.
 - Set the value toBase64for Apple Pay.
 - paymentInformation.fluidData.value
 - Set the value to the encrypted payment data value returned by the Full Wallet request.
 - processingInformation.paymentSolution
 - Set the value to001to identify Apple Pay as the digital payment solution.
 
REST Example: Authorize a Payment with Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
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": "[email protected]" } }, "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
For information about cards, see
                Cards Supported for Apple Pay on Visa Platform Connect.
Visa Acceptance Solutions
 supports the Visa Platform Connect
 processor.For general information about basic authorizations, see the "Standard
                Payments Processing" section of the .
Basic Steps: Authorizing a Payment with Merchant Decryption
    - Follow these steps to request an Apple Pay payment authorization with merchant decryption:
 - Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Authorize a Payment with Merchant Decryption.
 - Refer to the example in REST Example: Authorize a Payment with Merchant Decryption.
 
 - Send the message to one of these endpoints:
- Production:POSThttps://api.visaacceptance.com/pts/v2/payments
 - Test:POSThttps://apitest.visaacceptance.com/pts/v2/payments
 
 - Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the . 
Fields Required to Authorize a Payment with Merchant Decryption
    As a best practice,
            include these 
            decryption implementation of Apple Pay.
REST API
 fields
            in your request for an authorization transaction with the
            Visa Acceptance Solutions
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 .- 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.tokenizedCard.cryptogram
 - 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).
 - paymentInformation.tokenizedCard.expirationMonth
 - Set the value to month in which the token expires. Format:MMPossible values:01through12.
 - paymentInformation.tokenizedCard.expirationYear
 - Set the value to the year in which the token expires. Format:yyyy.
 - paymentInformation.tokenizedCard.number
 - Set the value to customer's payment network token value that contains the customer's credit card number.
 - ForVisa 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 onVisa Platform Connect, whether for merchant-initiated transactions (MITs) or customer-initiated transactions (CITs).
 
 - IMPORTANTThis value does not specify the token service provider. It specifies the entity that provided you with information about the token.
 - paymentInformation.tokenizedCard.type
 - Three-digit value that indicates the card type. Possible values:
- 001: Visa
 - 002: Mastercard
 - 003: American Express
 - 004: Discover
 - 005: Diners Club
 - 007: JCB
 - 062: China UnionPay
 
 - processingInformation.commerceIndicator
 - 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
 
 - processingInformation.paymentSolution
 - Set the value to001to 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": "[email protected]" } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7359621903916966603954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7359621903916966603954/captures" } }, "clientReferenceInformation": { "code": "TC_1231223" }, "id": "7359621903916966603954", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "prefix": "411111", "expirationMonth": "12", "suffix": "1111", "type": "001" }, "card": { "type": "001" } }, "processingInformation": { "paymentSolution": "001" }, "processorInformation": { "systemTraceAuditNumber": "918032", "approvalCode": "831000", "merchantAdvice": { "code": "01", "codeRaw": "M001" }, "responseDetails": "ABC", "networkTransactionId": "016153570198200", "retrievalReferenceNumber": "500303918032", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "transactionId": "016153570198200", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "7359621903916966603954", "status": "AUTHORIZED", "submitTimeUtc": "2025-01-04T03:43:10Z" }
Process an Apple Pay Sale with Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
The topics in this section shows you how to process an Apple Pay sale with the  decryption implementation of Apple Pay.
Visa Acceptance Solutions
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
For information about cards, see
                Cards Supported for Apple Pay on Visa Platform Connect.
Visa Acceptance Solutions
 supports the Visa Platform Connect
 processor.For general information about sale transactions, see the "Standard
                Payments Processing" section of the .
Basic Steps: Processing a Sale with Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
- Follow these steps to process an Apple Pay sale transaction withdecryption:Visa Acceptance Solutions
 - Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Process a Sale with Visa Acceptance Solutions Decryption.
 - Refer to the example in REST Example: Process a Sale with Visa Acceptance Solutions Decryption.
 
 - Send the message to one of these endpoints:
- Production:POSThttps://api.visaacceptance.com/pts/v2/payments
 - Test:POSThttps://apitest.visaacceptance.com/pts/v2/payments
 
 - Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the . 
Fields Required to Process a Sale with Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
As a best practice,
            include these 
            decryption implementation of Apple Pay.
REST API
 fields
            in your request for a combined authorization and capture (sale) transaction with the
            Visa Acceptance Solutions
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 .- 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.fluidData.descriptor
 - Format of the encrypted payment data.
 - Set the value toRklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5Ufor Apple Pay.
 - paymentInformation.fluidData.encoding
 - Encoding method used to encrypt the payment data.
 - Set the value toBase64for Apple Pay.
 - paymentInformation.fluidData.value
 - Set the value to the encrypted payment data value returned by the Full Wallet request.
 - processingInformation.capture
 - Set the value totruefor a sale transaction (to include a capture with the authorization).
 - processingInformation.paymentSolution
 - Set the value to001to identify Apple Pay as the digital payment solution.
 
REST Example: Process a Sale with Visa Acceptance Solutions Decryption
    Visa Acceptance Solutions
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": [email protected] } }, "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
For information about cards, see
                Cards Supported for Apple Pay on Visa Platform Connect.
Visa Acceptance Solutions
 supports the Visa Platform Connect
 processor.For general information about sale transactions, see the "Standard
                Payments Processing" section of the .
Basic Steps: Processing a Sale with Merchant Decryption
    - Follow these steps to process an Apple Pay sale transaction with merchant decryption:
 - Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Process a Sale with Merchant Decryption.
 - Refer to the example in REST Example: Process a Sale with Merchant Decryption.
 
 - Send the message to one of these endpoints:
- Production:POSThttps://api.visaacceptance.com/pts/v2/payments
 - Test:POSThttps://apitest.visaacceptance.com/pts/v2/payments
 
 - Verify the response messages to make sure that the request was successful.
ADDITIONAL INFORMATION
A 200-level HTTP response code indicates success. See the . 
Fields Required to Process a Sale with Merchant Decryption
    As a best practice,
            include these 
            decryption implementation of Apple Pay.
REST API
 fields
            in your request for a combined authorization and capture (sale) transaction with the
            Visa Acceptance Solutions
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 .- 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.tokenizedCard.cryptogram
 - 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).
 - paymentInformation.tokenizedCard.expirationMonth
 - Set the value to month in which the token expires. Format:MMPossible values:01through12.
 - paymentInformation.tokenizedCard.expirationYear
 - Set the value to the year in which the token expires. Format:yyyy.
 - paymentInformation.tokenizedCard.number
 - Set the value to customer's payment network token value that contains the customer's credit card number.
 - ForVisa 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 onVisa Platform Connect, whether for merchant-initiated transactions (MITs) or customer-initiated transactions (CITs).
 
 - IMPORTANTThis value does not specify the token service provider. It specifies the entity that provided you with information about the token.
 - paymentInformation.tokenizedCard.type
 - Three-digit value that indicates the card type. Possible values:
- 001: Visa
 - 002: Mastercard
 - 003: American Express
 - 004: Discover
 - 005: Diners Club
 - 007: JCB
 - 062: China UnionPay
 
 - processingInformation.capture
 - Set the value totrueto include a capture with the authorization.
 - processingInformation.commerceIndicator
 - 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
 
 - processingInformation.paymentSolution
 - Set the value to001to 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": "[email protected]" } } }
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
For information about cards, see
                Cards Supported for Apple Pay on Visa Platform Connect.
Visa Acceptance Solutions
 supports the Visa Platform Connect
 processor.For general information about authorization reversals, see the
                "Standard Payments Processing" section of the .
Basic Steps: Reversing a Payment Authorization
    - Follow these steps to reverse an Apple Pay payment authorization:
 - Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Reverse a Payment Authorization.
 - Refer to the example in REST Example: Reverse a Payment Authorization.
 
 - Send the request to one of these endpoints:
- Production:POSThttps://api.visaacceptance.com/pts/v2/payments/{id}/reversals
 - Test:POSThttps://apitest.visaacceptance.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 theidfield of the response to the authorization request. Example value: 7359642011156554503954 - 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 .- clientReferenceInformation.code
 - Set this field to the value returned in the response to the original authorization.
 - orderInformation.amountDetails.currency
 - processingInformation.paymentSolution
 - Set the value to001to identify Apple Pay as the digital payment solution.
 - reversalInformation.amountDetails.totalAmount
 
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
For information about cards, see
                Cards Supported for Apple Pay on Visa Platform Connect.
Visa Acceptance Solutions
 supports the Visa Platform Connect
 processor.For general information about capture transactions, see the "Standard
                Payments Processing" section of the .
Basic Steps: Capturing an Authorization
    - Follow these steps to capture an authorized Apple Pay payment transaction:
 - Create the request message with the requiredRESTAPI fields.
- Use the API fields listed in Fields Required to Capture an Authorization.
 - Refer to the example in REST Example: Capturing an Authorization.
 
 - Send the request to one of these endpoints:
- Production:POSThttps://api.visaacceptance.com/pts/v2/payments/{id}/captures
 - Test:POSThttps://apitest.visaacceptance.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 theidfield of the response to the authorization request. Example value: 7359642011156554503954 - 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 .- clientReferenceInformation.code
 - Set this field to the value returned in the response to the original authorization.
 - orderInformation.amountDetails.currency
 - orderInformation.amountDetails.totalAmount
 - processingInformation.paymentSolution
 - Set the value to001to 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
                    Visa Acceptance Solutions
 Transaction Management module You must have login
                credentials to view the online help.Searching for Apple Pay Transactions
    Use the Transactions page in the 
Business Center
 to search for Apple Pay transactions.Follow these steps to search for Apple Pay transactions:
- In the left navigation panel, click theTransaction Managementicon andTransactions.
 - In the Transactions page, click Add Filter.
- In the New Filter drop-down box, selectPayment Solution.
 - In the Payment Solution drop-down box, selectDigital Payment Methodand then selectApple Pay.
ADDITIONAL INFORMATION
The Transactions page appears.Figure:
Transactions Page in theVisa Acceptance SolutionsBusiness Center
 
 - ClickSearch.
- Enter values into the search filters you want to apply to the list.
 - To specify additional filters, clickAdd filter, select a filter in the list, and enter a value.
 
 - To download an invoice to a file, click the download icon for that invoice.
 - ClickSearch.
 
Reference Information
    This section contains helpful information for integrating Apple Pay and for processing
            Apple Pay authorization transactions.
Quick Integration for the
        Visa Acceptance Solutions
        Decryption Method
    Visa Acceptance Solutions
If you are integrating the  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.
Visa Acceptance Solutions
- Follow these steps to integrate thedecryption method of Apple Pay:Visa Acceptance Solutions
 - Enroll your organization in the Apple Developer Program and register a merchant ID for each environment, such as sandbox and production.
 - Log in to yourmerchant account at theVisa Acceptance SolutionsBusiness Center.
ADDITIONAL INFORMATION
Production:ADDITIONAL INFORMATION
 - In the left navigation panel, selectPayment Configurationand clickDigital Payment Solution.
ADDITIONAL INFORMATION
The Digital Payments page appears. If you do not have the correct permissions enabled on your account, theDigital Payment Solutionoption does not appear on the left navigation panel. - ClickConfigure. The Apple Pay Registration page appears.
 - Enter your Apple merchant ID, and then clickGenerate New Certificate Signing Request.
 - 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.
 - Log into your Apple Developer account and use your CSR to create an Apple payment processing certificate that is associated with your merchant ID.
- For Apple Pay in an iOS app, refer toSetting Up Apple Pay (Apple Pay and Wallet):
 - For Apple Pay on the web, refer toConfiguring Your Environment (Apple Pay on the Web):
 
 - If you are validating your integration in your test environment, perform these tasks:
- Add test cards to your Apple sandbox tester account.
ADDITIONAL INFORMATION
For details, see Requirements for End-to-End Testing. - Submit Apple Pay test transactions.
ADDITIONAL INFORMATION
For examples of Apple Pay transactions, see Processing Apple Pay Transactions. - Adjust your integration settings as needed until your test transactions complete successfully.
 
 - If you are ready to integrate Apple Pay into your production environment, repeat Steps 2 through 7 with yourand Apple production accounts.Visa Acceptance Solutions
 
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.visaacceptance.com
/pts/v2/paymentsTest: 
POST 
https://apitest.visaacceptance.com
/pts/v2/paymentsProcessing a Sale
            Production: 
POST 
https://api.visaacceptance.com
/pts/v2/paymentsTest: 
POST 
https://apitest.visaacceptance.com
/pts/v2/paymentsMake sure to set the 
processingInformation.capture
 field to
                        true
.Reversing an Authorization
            Production: 
POST 
https://api.visaacceptance.com
/pts/v2/payments/{id}/reversalsTest: 
POST 
https://apitest.visaacceptance.com
/pts/v2/payments/{id}/reversalsReplace 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: 7359642011156554503954Capturing a Payment
            Production: 
POST 
https://api.visaacceptance.com
/pts/v2/payments/{id}/capturesTest: 
POST 
https://apitest.visaacceptance.com
/pts/v2/payments/{id}/capturesReplace 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: 7359642011156554503954Processing a Refund
            Refund
Production: 
POST 
https://api.visaacceptance.com
/pts/v2/payments/{id}/refundsTest: 
POST 
https://apitest.visaacceptance.com
/pts/v2/payments/{id}/refundsReplace 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: 7359642011156554503954Voiding a Capture
            Production: 
POST 
https://api.visaacceptance.com
/v2/captures/{id}/voidsTest: 
POST 
https://apitest.visaacceptance.com
/v2/captures/{id}/voidsReplace 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: 7359642011156554503954Voiding a Credit
            Production: 
POST 
https://api.visaacceptance.com
/pts/v2/credits/{id}/voidsTest: 
POST 
https://apitest.visaacceptance.com
/pts/v2/credits/{id}/voidsReplace 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: 7359642011156554503954Optional Features Supported with Apple Pay
    These optional features are supported with
            Apple Pay.
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 "Processing Payments Using Credentials" 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 "Processing Payments Using Credentials" 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 "Processing Payments Using Credentials" 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 
Visa Acceptance platform
. 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.- 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.
 - 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.
 - 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.
 - 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.