Accept payments with Apple Pay

Through the Apple Pay service, buyers can make payments using credit or debit cards stored in their Apple accounts. With Antom Checkout Page (CKP), you do not need to integrate the Apple Pay SDK separately. Checkout Page will automatically load Apple Pay services for you and can be configured to support Apple Pay as an express payment method.

User experience

apay2.png

Integration preparations

  1. Antom provides pre-configured Apple Pay merchant certification for quick integration. Follow the steps below to complete the certification:
    1. Provide the server domain name DOMAIN_NAME used for receiving payments to Antom Technical Support.
    2. Contact Antom Technical Support to obtain the Apple Pay domain verification file and place it in the following server directory:
copy
https://[DOMAIN_NAME]/.well-known/apple-developer-merchantid-domain-association
  1. Before you start integrating, read the Integration Guide and API Overview documents to understand the integration steps of the server-side API and the precautions for calling the API. Furthermore, ensure that the following prerequisites are met:

    • Obtain a client ID
    • Complete the key configuration
    • Complete the configuration of paymentNotifyUrl to receive the asynchronous notification
    • Integrate the server-side SDK package, install the server-side library, and initialize a request instance. For more details, refer to Server-side SDKs.
    • Refer to Integrate the SDK package for Web/WAP to complete integration preparations, and ensure to use SDK 1.41.0 or above.

Integration steps

Follow these steps to start the integration:

  1. Create a payment session
  2. Embed Antom Checkout Page
  3. Obtain the payment result
  4. Initiate capture

Step 1: Create a payment session Server-side

Follow Step 1: Create a payment session to call the createPaymentSession (One-time Payments) API and pass in the order information to create a payment session and redirect to the Antom Checkout Page. At the same time, you need to pass in the following parameters:

Parameter type

Parameter name

Required

Description

Order parameters

order.buyer

Yes

The buyer information of the merchant side. At least one of the following information must be provided: 

  • order.buyer.referenceBuyerId
  • order.buyer.buyerPhoneNo
  • order.buyer.buyerEmail 

Note: If buyer information is not passed, selecting Apple Pay and submitting the payment will trigger a page error and cause the payment process to fail.

Apple Pay parameters

availablePaymentMethod.paymentMethodMetaData.applePayConfiguration

No

In the Checkout Page scenario, it is recommended to use the default value for this parameter.

Note: You can specify Apple Pay as the only payment method in the checkout page by setting this parameter. For more details, refer to Specify a payment method.

Specify Apple Pay as an express payment method

availablePaymentMethod.paymentMethodTypeList.expressCheckout

No

You can specify Apple Pay as an express payment method either by setting this parameter to true or via the Antom Dashboard.

The following shows the sample code of a request: 

copy
{
  "order": {
    "buyer": {
      "referenceBuyerId": "yourBuyerId"
    },
    "goods": [
      {
        "goodsBrand": "Antom Brand",
        "goodsCategory": "outdoor goods/bag",
        "goodsImageUrl": "https://mdn.alipayobjects.com/portal_pdqp4x/afts/file/A*H8M9RrxlArAAAAAAAAAAAAAAAQAAAQ",
        "goodsName": "Classic Woman Bag",
        "goodsQuantity": "1",
        "goodsSkuName": "Black",
        "goodsUnitAmount": {
          "currency": "SGD",
          "value": "6000"
        },
        "goodsUrl": "https://yourGoodsUrl",
        "referenceGoodsId": "yourGoodsId"
      }
    ],
    "orderAmount": {
      "currency": "SGD",
      "value": "6000"
    },
    "orderDescription": "antom ckp testing order",
    "referenceOrderId": "c3df9b82-ff67-424b-880b-06c3615b46ea"
  },
  "paymentAmount": {
    "currency": "SGD",
    "value": "6000"
  },
  "availablePaymentMethod": {
    "paymentMethodTypeList": [
      {
        "paymentMethodType": "APPLEPAY",
        "expressCheckout": true,
        "paymentMethodOrder": 0
      }
    ]
  },
  "paymentNotifyUrl": "http://www.yourNotifyUrl.com/payment/receiveNotify",
  "paymentRedirectUrl": "http://localhost:8080/index.html?paymentRequestId=597795b7-c812-4132-bd7d-c55914eefdcb",
  "paymentRequestId": "597795b7-c812-4132-bd7d-c55914eefdcb",
  "productCode": "CASHIER_PAYMENT",
  "productScene": "CHECKOUT_PAYMENT"
}

Step 2: Embed Antom Checkout Page Client-side

The Antom SDK is a component used for handling payment processes. To collect information and switch between apps based on the payment method specified in the createPaymentSession (One-time Payments) API, you need to initiate the SDK by creating a payment session. For details, please refer to Step 2: Embed Antom Checkout Page.

Step 3: Obtain the payment result Server-side

After the buyer completes payment or the payment times out, you can obtain the payment result either by receiving asynchronous notifications from Antom or by proactively querying the result. For detailed steps, refer to Process asynchronous notifications and Inquire payments.

Step 4: Capture Server-side

If payment is successful, Antom will automatically initiate capture for you, while you can also initiate capture manually. After capture, you can obtain the capture result either via asynchronous notification or active query. You should decide whether to ship goods based on the capture result. For specific operations, refer to Capture.

After payments

After completing the payment, you can perform the following actions:

Refund Server-side

To learn about Antom refund rules and how to initiate a refund for a successful transaction, see Refund for more information.

Dispute Server-side

When a buyer chooses to pay with a card, a dispute may occur. To learn more, see Dispute.

Reconciliation Server-side

After the transaction is completed, use the financial reports provided by Antom for reconciliation. For more information on how to reconcile and the settlement rules of Antom, please refer to Reconciliation.

Additional content

Card payment features

Card payment features also apply to Apple Pay. The following table outlines the support status of these features for Apple Pay:

Type

Supported

Conditions

Antom Tokenization

Conditional
  • Not supported in CIT (Cardholder-Initiated Transaction) scenarios. It is recommended to store cards via Apple accounts.
  • Supported in MIT (Merchant-Initiated Transaction) scenarios.

COF

ConditionalOnly supported in MIT (Merchant-Initiated Transaction) scenarios.
3D Secure 2

Yes

After completing 3D Secure 2 authentication, Apple Pay passes the encrypted transaction cryptogram and ECI (E-Commerce Indicator) to Antom. Antom processes this authentication data following standard third-party card network procedures. For details, refer to Apple Developer: Payment token format reference. As a result, no additional 3DS authentication flow will be triggered by the payment method within Checkout Page, ensuring a seamless user experience. It is recommended to use the default values for the is3DSAuthentication and enableAuthenticationUpgrade parameters when initiating payment requests.

Antom 3DS-Retry

Yes

None
MIT

Yes

None

Installment payments

No

None

Specify a payment method

You can specify payment methods on Antom Dashboard through Payments > Checkout page > Payment methods. You can also pass the parameters in the createPaymentSession (One-time Payments) API to specify the display of payment methods on Checkout Page, the order of the payment method list, and the display of express payments.

Note: If you pass parameters through the API, the API values take priority.

This feature offers you the following benefits:

  • Filter local payment methods based on your business region.
  • Sort your preferred payment methods.
  • Display the mainstream quick payments, such as Alipay, Apple Pay, and Google Pay.

To specify Apple Pay as the only payment method, pass the following parameters in the availablePaymentMethod parameter of the createPaymentSession (One-time Payments) API:

The following is a sample code for specifying Apple Pay as the only payment method:

copy
{
  "availablePaymentMethod": {
    "paymentMethodTypeList": [
      {
        "paymentMethodType": "APPLEPAY",
        "expressCheckout": true,
        "paymentMethodOrder": "0"
      }
    ]
  }
}