Skip to content

Redirect Payment Checkout Subscription ​

Request URL: POST /checkout/subscription

1. The checkout interface will be opened upon a successful request.

2. After the user makes a payment, they will be redirected to the page specified by the callbackUrl. If the payment fails, it indicates the end of this payment process. If the payment is successful, it means the user's subscription has been completed.

3. Whether the subscription is successful or not, an asynchronous notification will be sent to the interface address specified by the notificationUrl.

Request Parameters ​

ParameterTypeRequiredDescription
transactionIdString(128)RequiredMerchant unique transaction ID, generally used to prevent repeated submission of one order
orderIdString(128)RequiredMerchant order ID, can be repeated but only one successful transaction exists
currencyString(3)RequiredCurrency (Example: CNY/USD)
amountNumber(12,3)RequiredTransaction amount
transactionIpString(128)RequiredCardholder transaction IP
appIdNumber(20)RequiredSystem -> Website App -> APP
callbackUrlString(255)Required3D/Checkout callback URL (Generally used for page display logic, such as redirecting to the original product page)
notificationUrlString(255)RequiredAsynchronous notification URL, if this parameter is not empty, a notification will be sent to this address after the transaction is completed (usually used to process order status)
productInfosArrayRequiredProduct information (ProductInfo Details)
transactionMethodString(32)OptionalPayment method, default is Default (Payment Method Details ,Partial payment support)
extensionObjectRequiredImportant Subscription Parameter, please refer to Subscription Details
billingAddressObjectRequiredNote: Country field is required Billing information (BillingAddress Details)
shippingAddressObjectOptionalShipping information (ShippingAddress Details)
secureBooleanOptionalWhether to request 3D transaction, true for 3D transaction,This parameter does not relate to Google Pay™.
browserObjectConditionally RequiredRequired for 3D transaction, Request browser parameters (Browser Details)

Request Example ​

json
{
  "transactionId": "123456",
  "currency": "USD",
  "amount": "8.88",
  "appId": "123456",
  "callbackUrl": "https://domain/callback",
  "notificationUrl": "https://domain/notification",
  "transactionIp": "127.0.0.1",
  "productInfos": [
    {
      "productName": "Stonebriar Unscented Tea Light Candles with 6-7 Hour Burn Time - White, Pack of 100",
      "currency": "USD",
      "price": "8.88",
      "sku": "123-456-789",
      "quantity": 1,
      "productLink": "https://domain/123-456-789"
    }
  ],
  "billingAddress": {
    "firstName": "Gross",
    "lastName": "Schmidt",
    "country": "CA",
    "email": "[email protected]",
    "city": "Longueuil",
    "address": "3226 rue Saint-Charles",
    "phone": "450-928-5752",
    "state": "Quebec",
    "zipCode": "J4H 1M3"
  },
  "shippingAddress": {
    "firstName": "Gross",
    "lastName": "Schmidt",
    "country": "CA",
    "email": "[email protected]",
    "city": "Longueuil",
    "address": "3226 rue Saint-Charles",
    "phone": "450-928-5752",
    "state": "Quebec",
    "zipCode": "J4H 1M3"
  },
  "browser": {
    "userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.24 Safari/537.36 Edg/83.0.478.18",
    "referer": "https://www.domain.com"
  },
  "extension": {
    "subscriptionCycle": "WEEK",
    "subscriptionPeriod": 3,
    "subscriptionDescription": "Subscription Description"
  }
}

Response Example ​

Parameter Details

Request Success -> Redirect to check out using redirectUrl parameter

json
{
  "code": 301,
  "isTest": true,
  "appId": 123456,
  "uniqueId": "1669548151356891137",
  "billDescription": "*Description",
  "message": "order processing",
  "timestamp": 1686886273516,
  "transactionAmount": "8.88",
  "transactionAt": "2023-06-16 11:31:12",
  "transactionCardNumber": "420000******0000",
  "transactionCurrency": "USD",
  "transactionId": "123456",
  "transactionMessage": "Redirect",
  "redirectUrl": "https://domain/checkout/2200040333507540993"
}

After the request is successful, use the redirectUrl to jump to 3D

json
{
  "code": 301,
  "isTest": true,
  "appId": 123456,
  "uniqueId": "1669548151356891137",
  "billDescription": "*Description",
  "message": "order processing",
  "timestamp": 1686886273516,
  "transactionAmount": "8.88",
  "transactionAt": "2023-06-16 11:31:12",
  "transactionCardNumber": "420000******0000",
  "transactionCurrency": "USD",
  "transactionId": "123456",
  "transactionMessage": "Redirect",
  "redirectUrl": "https://domain/redirect/a6354c630cba488caa56a0113bb0ef34"
}

User request for subscription successfully received email template

User's subsequent subscription fee deduction email template

Request Failed

json
{
  "code": 101,
  "isTest": true,
  "appId": 123456,
  "uniqueId": "1669548151356891137",
  "billDescription": "*Description",
  "message": "transaction failed",
  "timestamp": 1686886273516,
  "transactionAmount": "8.88",
  "transactionAt": "2023-06-16 11:31:12",
  "transactionCardNumber": "420000******0000",
  "transactionCurrency": "USD",
  "transactionId": "123456",
  "transactionMessage": "Do not honor"
}

Users will not receive emails after failure