Skip to content

Direct Payment

Request URL: POST /api/payment

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 requested repeatedly 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)
cardObjectRequiredCard information (Card 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™.
browserObjectOptionalRequired for 3D transaction, Request browser parameters (Browser Details)
extensionObjectOptionalExtended fields, specific fields for some transactions (Extension Details)

Request Example

json
{
  "transactionType": "Sale",
  "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"
    }
  ],
  "card": {
    "expiredYear": "23",
    "expiredMonth": "12",
    "cardNumber": "4200000000000000",
    "cardholder": "san zhang",
    "cvv": "123"
  },
  "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": {
    "code": "zenith_bank",
    "account": "160594538"
  }
}

Return to the instance

Parameter details

The request is successful

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

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"
}

The 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"
}