Skip to content

Create Payment

Request URL

methodurl
POST/api/pay/payment/create/v1

Header Information

Header ParameterDescription
timestampRequest timestamp
nonceRandom value
countryCountry code (KH)
app_codeApplication ID

Supported Payment Methods (paymentType)

Payment MethodPaymentType
KHQR2001

Request Parameters

FieldTypeRequiredLengthDescription
merchantOrderNoStringyes32Merchant order number
paymentTypeIntyesPayment method: 2001-KHQR
amountStringyes20Payment amount in Cambodian riel (KHR); integers only
realNameStringyes64Payerโ€™s real first and last name
emailStringyes50Payerโ€™s real email address; must be in a valid email format
phoneStringyes50Phone number: 8-9 digits without country code;
idCardNumberStringyes50Platform identity reference, up to 50 characters;
idTypeStringno32ID type: NONE_KYC ใ€KYC
signStringyesSignature
callbackUrlStringno200Callback URL
Request Example
{
"merchantOrderNo": "OrderNoExample",
"paymentType": 2001,
"amount": "10000",
"realName": "TeemoPay",
"email": "TeemoPay@example.com",
"phone": "12345678",
"idCardNumber": "UserReferenceExample",
"idType": "NONE_KYC",
"callbackUrl": "https://www.callbackexample.com",
"sign": "YOUR_SIGN"
}

Response Parameters

FieldTypeRequiredLengthDescription
merchantOrderNoStringyes32Merchant order number
tradeNoStringyesPlatform order number
amountStringyesTransaction amount
paymentTypeIntyesPayment method
paymentInfoStringyesMain payment information; the payment link returned upstream
additionalInfoJSONObjectnoAdditional payment information, including the original QR data
statusIntyesOrder status: 2-Success, 3-Failed
errorMsgStringnoError message, returned when payment fails
Success Example
{
"code": 200,
"data": {
"merchantOrderNo": "OrderNoExample",
"tradeNo": "TS2501010001KH0000000000000000",
"amount": "10000.00",
"paymentType": 2001,
"paymentInfo": "https://www.paymentLinkExample.com",
"additionalInfo": {},
"status": 2,
"errorMsg": null
},
"msg": "success",
"traceId": "747bbf80261844ed85b809212aab0d81.85.17422898158610299"
}

Error Codes

Error CodeError MessageHandling Solution
412Please try again laterPlease try again later
414*Correct the corresponding parameter
423This payment method is not supportedCheck the documentation or contact us
426merchant order duplicateUse a different merchant order number
427The callback notification address for collection must not be empty.Configure the payment callback URL
466Payment method fee rate not configured.Contact us to configure the payment fee rate
473Merchant joint verification error: *Contact us to check the merchant configuration
500Business ErrorPlease contact us
Error Response Example
{
"code": 426,
"data": null,
"msg": "merchant order duplicate",
"traceId": "747bbf80261844ed85b809212aab0d81.85.17422898158610298"
}