Apple Pay is a digital wallet for storing payment details, providing an easy and secure way to pay in iOS applications, websites running on Safari browser and contactless POS terminals. In applications and on websites, users can quickly and securely provide their payment, shipping and contact information to check out with just one touch using Apple’s Touch ID. Apple Pay’s simplicity increases conversion rates and new user adoption that come with it.

Axepta BNP Paribas's Apple Pay solution supports following scenarios:

  • Web payments
  • In-application payments

Web payments

Apple Pay on the Web enables purchases while using Safari web browser. For shopping on iPhone or iPad, after selecting checkout with Apple Pay, a payment sheet appears, prompting the customer to confirm payment via Touch ID. For shopping on Mac, customers need to have an iOS device in close range, and they'll be prompted on that device to authorize the payment, which will then synchronize to the browser. The latest Mac Book Pro allows customers to authorize payment directly on the Mac Book.

Apple Pay requirements:

  • iOS 10. Apple Pay Web payments are supported on all iOS devices with a Secure Element.
  • macOS 10.12. Apple Pay Web payments are supported in Safari.
    • The user must have an iPhone or Apple Watch that can authorize the payment.
    • On the latest Mac Book Pro payments can be authorized directly via Touch ID
  • All pages that incorporate Apple Pay must be served over HTTPS.
  • Your website must comply with the Apple Pay guidelines. For more information, see Apple Pay on the Web Acceptable Use Guidelines
  • Server requirements


Get started

supports Apple Pay in Direct integration.

Direct integration

For merchants requiring full control over Apple Pay UI/UX use the Direct integration. However, this comes with some additional costs and integration efforts.

Implementation steps

Enable Apple Pay
  • Create Merchant Identifier with Apple Pay:
    • Access your Apple developer account and follow the instructions to create a merchant identifier. The identifier you enter should be a reverse DNS style identifier prefixed with the word merchant. Make sure that no umlauts or special characters are present.
    • Provide the merchant identifier to Axepta BNP Paribas support.
  • Retrieve Certificate Signing Request (CSR):
    • With your Apple merchant identifier Axepta BNP Paribas support creates the Apple Pay CSR and provides it you.
    • CSR will be needed to create payment processing certificate that is required to sign and encrypt the payment token by Apple during the payment processing.
  • Create a payment processing certificate:
    • In your Apple developer account follow the instructions to create a payment processing certificate.
    • Skip the step to create a certificate signing request. Instead use the CSR provided by in the next step to create the payment processing certificate.
  • Enable Apple pay for your app on Xcode:
  • Create Merchant Identity Certificate: This is a transport layer security (TLS) certificate used to authenticate your merchant sessions with Apple Pay
  • Integrate Apple Pay in your application or web shop:
    • Follow the detailed guidelines documented by Apple to integrate to Apple Pay
    • Make sure when creating PKPaymentRequest, request.merchantCapabilities = PKMerchantCapability3DS as supports only 3DS types.


Add to checkout
  • Presenting Apple Pay button:
    • Within apps, PassKit provides the API’s that your app will use to determine if it is running on a device with a Secure Element and if the device has been provisioned with payment cards that you support.
    • On websites, WebKit provides APIs that allow your website to check if the individual has an Apple Pay capable device and if it is set up.
    • If the device is Apple Pay enabled you should present the Buy with Apple Pay button using APIs supplied within PassKit within apps and Webkit within Safari.

For supportedNetworks, you can use :  cartesBancaires, amex, visa, masterCard

Please note that the order in which the supportedNetworks are mentioned impacts the brand selection.
As a merchant, if your choice is CB over Visa or Mastercard then carteBancaires should be the first value of the list. In that case, if a card is cobranded CB + Visa/Mastercard then it will be processed via Carte Bancaire unless the customer changes the brand.



  • Presenting the payment sheet:
    • When the customer selects Apple Pay as the payment method, you create a payment request and communicate with PassKit in apps or Webkit on your website to present the payment sheet to the user. The payment sheet must immediately follow the user tapping the Apple Pay button, without any interim screens or pop-ups except to prompt for necessary product details such as size or quantity.
    • Your app specifies the contents of the payment sheet but it does not control the user’s interaction with the sheet. You must decide if it makes sense to present shipping and billing information, shipping method and other line items to the user. You should only request the information necessary to process the transaction.
  • Processing payment:
    • Once authorized by the customer with Face ID/Touch ID (and bank PIN code in China), your app receives a payment token from PassKit/Webkit.

    • The payment token encapsulates the information needed to complete a payment transaction, including the device-specific account number, the amount, and a unique, one-time-use cryptogram.

    • Submit the payment token to Axepta BNP Paribas via Create payment (paymentMethods.integrationType=DIRECT) in paymentMethods.applePay.token parameter along with other payment information. 

      "paymentMethods": {
        "integrationType": "DIRECT",
        "type": "APPLEPAY",
        "applePay": {
          "merchantIdentifierOfPublicKey": "merchant.com.demo_store",
          "token": "{ \"paymentData\": { \"data\": \"GiZiyzsI6r6lnPYUeceR6itk2PDyBozl2Xy77c5u2X8Ze7l5EasyyH4Q6BoAevrvBfe0FnUNARBEXRySLwqqnpUHO6Du/amZEECRXxlrH91wFqH4oXry2CTDRu7TaIlmnR+s3ien5JI8iWo9hoEW7hyJOE7QGaS6rfR1CtQ4DWJEUq/tFnW98tj3kwKU6iOAAvE467boopMDGBS1fK5HzGXs4hH/6r+LPRfSOKBi1L5VWAexs9Bzw3ByyG69i52doRuFb1xOcMOJbmPg40hap13IjBW6dnj1phbsqP2i/JxvWPV3EcuqpuIoVZr5w53w//pPsl54kmeXNddIjVD5dIhhOKZ8AznD4eL2dbzkp6bic8xScBf3G8hrKXTRTL7V+KT2S+TQliHN0SNXrFu6B6o=\", \"signature\": \"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\",\n  \"header\": {\n      \"publicKeyHash\": \"OgiD2qBTWYf/a+LDshFeQcPq6tOmePu0epHpP4ZkNicc=\",\n      \"ephemeralPublicKey\": \"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc/HxA3lJZrC+B0ITom0Iji+gFdn7ivGtpI+fl2u8n8XByPgBaVK2b44qUvsGigoNd0OFLNXo0Q07R2B54eIdS3A==\", \"transactionId\": \"156632b2aadf355d4958d9051a42bf62e07aea5716e72083aa64247944f6e3e14d\"  }, \"version\": \"EC_v1\" }, \"paymentMethod\": { \"displayName\": \"MasterCard 0063\", \"network\": \"MasterCard\", \"type\": \"debit\" }, \"transactionIdentifier\": \"156632B2AAD12F355D4958D9051A42BF62E07AE5716E720AA6424794F6E3E14567D\"}"
        }
      }


    • The encrypted payment token will be decrypted by Axepta BNP Paribas and submitted to the acquirer as part of the payment process.


Apple Pay transactions are essentially card transactions but tokenized. Hence all the post processing actions such as refunds, captures and reversals use the same workflow as card transactions.