Langsung ke konten utama

Pembayaran masuk (Pay-In · Thailand)

smilepayz teamsSekitar 3 menit

Pay-in merchant Thailand (THB): QRPAY, KBANK, alur kasir bank.

Request

POST/v2.0/transaction/pay-in

Request Path:

sandbox: https://sandbox-gateway.smilepayz.com/v2.0/transaction/pay-in
production: https://gateway.smilepayz.com/v2.0/transaction/pay-in

Header Parameters

FieldRequiredTypeDescription
Content-TypeMStringapplication/json
X-TIMESTAMPMStringFormat: yyyy-MM-ddTHH:mm:ss±HH:mm
X-SIGNATUREMStringRequest signature; Signature Generation.
X-PARTNER-IDMStringmerchantID (alphanumeric).

Body Parameters

FieldRequiredTypeDescription
orderNoMString(32)6–32 alphanumeric; unique per merchant.
purposeMString(64)UTF-8; length 1–64.
merchantMObjectMerchant routing and settlement.
    merchantIdMStringPlatform merchant ID.
    merchantNameOStringUTF-8 display name (cashier / records).
    subMerchantIdOStringSub-merchant ID (multi-level).
    subMerchantNameOStringSub-merchant name (UTF-8).
moneyMObjectAmount and currency.
    currencyMStringTHB only.
    amountMNumberInteger minor units (e.g. 200 = THB 200.00).
payerMObjectCustomer verification (name, account, bank).
    nameMStringPayer full name (UTF-8).
    accountNoMStringPayer bank account number (numeric string).
    bankNameMStringBank code (e.g. KBANK, BBL, SCB); Payment methods.
paymentMethodMStringQRPAY or KBANK; Payment methods.
expiryPeriodONumberSession TTL (seconds); default 3600.
redirectUrlOString(256)Post-pay redirect URL; HTTP(S); max 256.
callbackUrlOString(256)Status webhook URL; HTTP(S); max 256.

Example Body – Transaction Request:

Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001

Responses

HTTP Request

FieldRequiredTypeDescription
Content-TypeMStringapplication/json
X-TIMESTAMPMStringFormat: yyyy-MM-ddTHH:mm:ss±HH:mm

Body Parameters

FieldRequiredTypeDescription
codeMString00 = success; other codes = error.
messageMStringResult text (UTF-8).
orderNoMStringEcho of orderNo.
tradeNoOStringPlatform trade ID.
merchantMObjectMerchant Model.
    merchantIdMStringMerchant ID.
    merchantNameOStringDisplay name.
    subMerchantIdOStringSub-merchant ID.
    subMerchantNameOStringSub-merchant name.
moneyMObjectMoney Model.
    currencyMStringTHB.
    amountMNumberInteger minors.
    payAmountONumberSettled amount after fees (decimal THB).
transactionTimeMStringyyyy-MM-ddTHH:mm:ss±HH:mm
channelMObjectChannel Model.
    paymentMethodOStringChannel code (e.g. QRPAY, BANK).
    paymentUrlMStringCashier URL.
    qrStringOStringQR payload or image URL.
    receiverBankNameOStringBank code when channel is bank transfer.
    vaNumberOStringVA / reference when returned.
statusOStringStatus Model.
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00

Notification/Callback

HTTP Request

FieldRequiredTypeDescription
Content-TypeMStringapplication/json
X-TIMESTAMPMStringFormat: yyyy-MM-ddTHH:mm:ss±HH:mm
X-SIGNATUREMStringCallback signature; verify.

Body Parameters

FieldRequiredTypeDescription
orderNoMStringSame orderNo as pay-in.
tradeNoMStringPlatform tradeNo.
merchantIdMStringMerchant ID.
merchantNameMStringDisplay name.
subMerchantIdOStringSub-merchant ID.
subMerchantNameOStringSub-merchant name.
paymentMethodMStringSettled channel (e.g. QRPAY, BANK).
transactionTimeMStringCompletion time (yyyy-MM-ddTHH:mm:ss±HH:mm).
statusMStringStatus Model.
moneyMObjectFinal amount; Money Model.
    currencyMStringTHB.
    amountMNumberInteger minors.
    payAmountONumberNet amount when returned.
payerOObjectPayer Model.

Return

Important

Respond with the string SUCCESS only.

{
  "orderNo": "20001f7d65167e8b1419896f2dfb",
  "tradeNo": "111200012412151710505955",
  "merchantId": "20001",
  "merchantName": "test",
  "subMerchantId": "",
  "subMerchantName": "",
  "paymentMethod": "QRPAY",
  "transactionTime": "2024-12-15T17:10:51",
  "status": "SUCCESS",
  "money": {
    "currency": "THB",
    "amount": 150
  },
  "payer": {
    "name": "payerName",
    "accountNo": "*****25432"
  }
}