Create Order
Overview
The merchant system first calls this API to generate a prepayment order in the PayBy service backend. Once a valid token (order session identifier) is returned, the payment process can then be initiated.
API URL
- UAT : https://uat.test2pay.com/sgs/api/acquire2/placeOrder
- Production : https://api.payby.com/sgs/api/acquire2/placeOrder
Request
Initiates a payment order within the acquiring system.
Idempotency Behavior
This interface is designed to be idempotent. When the same request is submitted multiple times with identical parameters:
- The system will return the current status of the existing order.
- No duplicate orders will be created.
Timestamp Handling
The request timestamp is not validated for idempotency purposes.
If the same request is submitted more than once, the timestamp from the initial request will be retained and used as the official order creation time
Http Header
Attributes
Content-Language String
- Language in which the response message will be used.
- Currently, only English is supported.
- Example value:
en
- Maximum length:
10
Content-Type String Required
- Media type of the request body.
- Required for operations with a request body.
- Format:
application/<format>
(e.g.,application/json
) - Example value:
application/json
sign String Required
- Request signature using private-key cryptography.
- Ensures the payment gateway can verify the request origin.
Partner-Id String Required
- Merchant ID of your account.
- Example value:
200001200101
- Maximum length:
12
Http Body
requestTime Timestamp Required
Request time of the order. If the request time is more than 15 minutes away from the current time, the request will be rejected. This parameter is used to prevent repeated requests for orders that should have been cancelled due to timeouts.
Example value: 1581493898000
bizContent Object
The attributes are:
merchantOrderNo String Required
- The merchant's reference number of the request. Used to track every request.
- Example value: M965739182419
- Maximum length:
64
subject String Required
- Description of this order.
- Example value: iPhone
- Maximum length:
12
totalAmount Money Required
The attributes are:
amount Decimal Required
Allow 12 digits before the decimal point. Allow 2 digits after the decimal point.
Example value: 12.34
currency String Required
The code to identify the order currency. Currently only AED is supported.
Example value: AED
expiredTime Timestamp
The order expiration time, after which the payment cannot be completed.
The value should not exceed 48 hours after the request time. If no parameter is passed, the default expiration time is 2 hours after the request time.
Example value: 1581493898000
payeeMid String
The payee can be another merchant. If no parameter is passed, the default payee is the merchant itself.
Example value: 200001200101
Maximum length:
12
paySceneCode Enum Required
Payment scene you are going to use. The possible values are
PAYPAGE
,INAPP
,EWALLET
,DYNQR
,QRPAY
,JSAPI
,AUTODEBIT
,DIRECTPAY
, etc.Select from the drop down to get parameters that need to be passed in different scenarios.
paySceneParams String Attributes
Paypage
(Hosted paypage & iFrame paypage)
PayScene parameters
redirectUrl String
Link that the payer will be redirected once the payer finalizes payments on PayBy's checkout.
Example value: https://www.yoursite.com
Maximum length:
512
.customerId String
The payer's id in the merchant's system. If this parameter is used, after the user enters the card details and completes the payment for the first time, PayBy will save the card under the customer id. When another transaction is made, the payer will see the saved card on the PayPage checkout. Then the customer only needs to enter cvv to complete the transaction without entering card number, holder name and card expiration time again. In this scenario, the payer's card information won't be returned to the merchant. The saved cards can only be viewed and managed by the payer on the checkout.
changePayer String
If the user pays with BOTIM / PayBy, whether to bind the payer information to the order after the user scanning the code. If false, if user A does not complete the payment after scanning the QR code, other users can continue to scan the QR code to pay. If true, if user A does not complete the payment after scanning the QR code, other users will fail when they try to scan the QR code to pay. The default value is true.
Default value: True.
oneTimePayment String
When passed true, it means that the merchant requires the order to be paid only once. For example, if an order is not paid successfully the first time, the user will not be allowed to continue trying to pay for the order. When passed false, the order can be paid multiple times before it's successful.
Default value: False.
email String
Payer's email.
Example value: customer@payment.com
eid String
When a value is passed, it indicates that the merchant requires the user's Emirates ID to be verified. PayBy will perform the verification; if the ID matches, the process will proceed. If it does not match, an error will be returned to the user. If no value is passed, PayBy will skip this verification step. The parameter needs to be encrypted with SHA-256 when passed.
sharingParamList List
With every payment, you can split the funds between your merchant account and other PayBy member IDs. For example, a payment of 10 AED, if you share 1 AED to A and 2 AED to B, you will get 7 AED.
The attributes of each item in the list are:
sharingIdentitySeqId Money Required
You can pass multiple account ids to split the payment amount, in order to distinguish them, the serial number is needed. Please start with 1, then 2, 3, 4, etc.
Example value:
1
sharingIdentityType String Required
The fund can be transferred to the beneficiary through mobile phone number, PayBy member id or BOTIM member id.
The possible values are:
PHONE_NO
. Transfer through mobile phone number.MEMBER_ID
. Transfer through PayBy member id.Maximum length:
20
sharingIdentity String Required
After selecting the identity type, what value should be passed. The parameter needs to be encrypted when passed, and SHA-256 algorithm is recommended.
For
PHONE_NO
, example value: +971-585812345For
MEMBER_ID
, example value: 100006514321Maximum length:
20
sharingMemo String Required
Add some description to this operation.
sharingAmount Money Required
The amount you plan to split to this id.
withholdAndRemitFee Boolean
Whether this sharing account pay the PayBy transaction fee. If
true
, the final amount this sharing account received is :[**sharingAmount** - PayBy transaction fee]
.Note:
- If there are multiple sharing accounts in this order request, at most one can pass
true
in this parameter, otherwise the request will fail. - If this parameter is used, when a refund is initiated, only the proportional refund can be made, and the refund amount of each sharing account cannot be specified.
- If there are multiple sharing accounts in this order request, at most one can pass
promotionInfoList List
A list of promotion information.
The attributes in the list are:
appliedRewardId String Required
- Identifier for the applied coupon.
- Maximum length:
64
settleFlag String Required
- Indicates whether the transaction should be settled.
- Maximum length:
32
- Examples: YES, NO
notifyUrl String
- To receive asynchronous notifications of order status updates, you can pass the notify URL.
- Example value: https://www.yoursite.com
- Maximum length:
200
secondaryMerchantId String
- If you are a platform and the transaction was made at a merchant under your platform, you can use this parameter to allocate the funds collected.
- The secondary merchant ID represents the merchant's member ID on your platform.
- Maximum length:
200
Note: To learn more about this feature please contact PayBy.
deviceId String
- If the transaction was made on a terminal or virtual device, the device id can be passed for transaction data statistics. Note that this parameter must be passed if you are using the secondary merchant function, this parameter must be passed.
- Maximum length:
200
accessoryContent
This can be useful for storing additional information about the order.
Attributes
amountDetail
discountableAmount Money
Discount amount for this order.The money object contains the following parameters.
amount Decimal Required
Allow 12 digits before the decimal point. Allow 2 digits after the decimal point.
Example value: 12.34
currency String Required
The code to identify the order currency. Currently only AED is supported.
Example value: AED
amount Money
The subtotal order amount, before discounts, taxes and tips.
vatAmount Money
The VAT amount for this order.
tipAmount Money
The tip amount for this order.
GoodsDetail
Goods Details
body String
The product’s description.
Example value: New Apple iPhone 13 Pro (128GB) - Sierra Blue
Maximum length:
200
.categoriesTree String
A category tree enables you to view all of the rule-based categories in a collection.
Maximum length:
200
.goodsCategory String
The category of the product.
Example value: Mobiles, Tablets & More.
Maximum length:
200
.goodsId String
Unique identifier for the product.
Maximum length:
200
.goodsName String
The product's name.
Example value: iPhone
Maximum length:
200
.price Money
The product's unit price.
quantity Decimal
The quantity of the product. Allow 12 digits before the decimal point. Allow 2 digits after the decimal point.
Example value: 12.34
Maximum length:
200
.showUrl String
A publicly-accessible webpage for this product.
Example value: https://www.yoursite.com
Maximum length:
200
.
TerminalDetail
Terminal Details
operatorId String
ID of the employee who used the device to collect money. The id is generated by the merchant system.
Example value: 200123
Maximum length:
200
.storeId String
In which store the customer pays. The id is generated by the merchant system.
Example value: S00001.
Maximum length:
200
.terminalId String
The device on which the customer made the payment. The id is generated by the merchant system.
Example value: T00001
Maximum length:
200
.merchantName String
In which merchant the customer pays. The name is stored by the merchant system.
Example value: Good Pharmacy
Maximum length:
200
.storeName String
In which store the customer made the payment. The name is stored by the merchant system.
Example value: Good Pharmacy- First branch
Maximum length:
200
.
reserved String
Merchant's notes for the order.
Example value: June campaign order.
Maximum length:
200
Request Sample
// Http Header
{
"Content-Language": "en",
"Content-Type": "application/json",
"sign": "IXJI/QicPQotIsIDBcSGIg6jtJUXs1rTuifQFZUNd3KDTl25GKmpYO7OrkaKkTV0shDRitLmkxJCe3Z60zHE2ZSeVczrhwrnmuMG+bX9N22Hw821H6MydsXetYHRnyf5dPbgpmVja582w49grA6jRlVFAVMYdxKJDPSCb2X/IpltvyrLQ1Wt+lqr+fnpYXvyON6/PIZIQIknC8BVddVahxJnaC6HEagvJf6gskz22/DFfPHT1mlMA9pg8qrbh4O7DYZahf8TB3nIzAPc/FHOUZkYYTT2c8m4eLL8740nJVK7D3IOSqSnBAU/iJ2omjPPFvRCCSqzz17pkGsT7AW91w==",
"Partner-Id": "200000000888"
}
// Http Body
{
"requestTime":1581404947666,
"bizContent":{
"merchantOrderNo":"M965739182419",
"subject":"Your subject",
"totalAmount":{
"currency":"AED",
"amount":1.01
},
"paySceneCode":"JSAPI",
"paySceneParams":{
"oneTimePayment":"true"
},
"reserved":"order desc",
"sharingParamList":[
{
"sharingAmount":{
"amount":1,
"currency":"AED"
},
"sharingIdentity":"Q/HF/NMMCJHYy9Kf88GHJ9wusUJohFwgNIOJo1ZVWF8CqlPsKrcHwqtDQC2oAcHuRX9CH/V+w9A+0tTKWQFyYsEV/mdxNlxs3dzWinUXoS3TsDWUXHUZ9vun3MPA6fMdJ9/3IPcxgJwL0wnqjL7h2oBKoNWHeZlDxGa9pYsy+YWtM0KpGs3YLzeqorRFxdcerXi0m0TPfynCZw54Go/wCSOL85jpIItV1C6Np09PUwPo/dS7b8hgjrm82V8Xh43IMX/svf+Q/SKiUWLvG6MsgsJLQYWcO9PwAIkvw1JVsQrZsqt631pU5u87vI4zAAKZAuujzKG3fL1kpj/QhDdXlQ==",
"sharingIdentitySeqId":1,
"sharingIdentityType":"PHONE_NO",
"sharingMemo":"bouns"
},
{
"sharingAmount":{
"amount":1,
"currency":"AED"
},
"sharingIdentity":"yMJ5a66KNby5S+TfCp3shACYst9ZeMUWLQrBTn05+ctFw82xJc8CbelAp25XlQOmzfOGkt6Jmxhjb+yCeRZfA3GM5rydFP6t/eT+7DiTT73VVSEeugGhktmOGEUzxv5rIAe3BDnvKELGqXGrolhZGn3JhAk6tqUlLrtzq+pH1AdPpWAtQbstKII2vkMx4leEYEQE0CH6lAj9OtbpWvnXsxRj+PKSolNXl2YsU0l12jAjNY1oYUeVsl9XwZjpjUsr8rm6rMdVNt1hiutL0YLdsazEiBwrf+xCLVSxnj4KfLmpPkAqx7Jy09lnBOduVUhBfPpSbywaF/PMlun6C6F05Q==",
"sharingIdentitySeqId":2,
"sharingIdentityType":"MEMBER_ID",
"sharingMemo":"cashback"
}
],
"promotionInfoList":[
{
"appliedRewardId":"1234",
"settleFlag":"YES"
},
{
"appliedRewardId":"12534",
"settleFlag":"YES"
}
],
"notifyUrl":"http://www.yoursite.com",
"accessoryContent":{
"amountDetail":{
"vatAmount":{
"currency":"AED",
"amount":20.65
},
"amount":{
"currency":"AED",
"amount":1.09
}
},
"goodsDetail":{
"body":"Gifts",
"categoriesTree":"CT12",
"goodsCategory":"GC10",
"goodsId":"GI1005",
"goodsName":"candy flower",
"price":{
"currency":"AED",
"amount":10.87
},
"quantity":2
},
"terminalDetail":{
"operatorId":"OP1000000000000001",
"storeId":"SI100000000000002",
"terminalId":"TI100999999999900",
"merchantName":"candy home",
"storeName":"lovely house"
}
}
}
}
Response
The interActionParams
field is returned only when the order status is CREATED
, and its content varies depending on the value of paySceneCode
.
Http Header
sign String Required
When PayBy sends response, PayBy will use its own private key to sign the message, and the merchant uses PayBy 's public key to verify the signature. If the verification is passed, it proves that the response was sent by PayBy and not faked by others.
Http Body
head
Attributes
applyStatus Enum Required
- The result of the request. Possible values:
SUCCESS
: Application successful.FAIL
: Application failed. Check thecode
andmsg
for the exact reason.ERROR
: Application error. Signature verification failed. Ensure the private key used for the signature and the public key uploaded on the PayBy portal are a valid key pair.
- The result of the request. Possible values:
code String Required
- Response code.
- Example value:
0
- Maximum length:
10
msg String
- Description of the response code.
- Maximum length:
200
traceCode String
- Internal code for locating the error.
body
Notice: Body is returned only when
applystatus
=success
, andcode
=0
. Ifapplystatus
=error
orfailed
; orapplystatus
=success
,code
!=0
, that indicates an error. Please check errors and try again.
acquireOrder Object
Attributes
requestTime Timestamp Required
- Request time passed by the merchant when placing the order.
- Example value:
1581493898000
merchantOrderNo String Required
- The merchant's reference number of the request. Used to track every request.
- Example value:
M965739182419
- Maximum length:
64
orderNo String Required
- The PayBy's unique identification number of the order.
- Example value:
131658300517875854
status Enum Required
- The possible values are:
CREATED
: The order has been created.PAID_SUCCESS
: The order has been successfully paid.SETTLED
: The order has been paid and the fund has been settled to merchant's account.FAILURE
: The order has been cancelled or expired.
- The possible values are:
paymentInfo Object
Detailed payment information including fees and timestamps.
paidAmount Money Required
- The amount actually paid by the user. If a discount is used, it will differ from the order amount.
paidTime Timestamp Required
- Payer's successful payment time.
- Example value:
1581493898000
payerMid String
- Payer's member ID in the wallet (BOTIM or PayBy).
- Example value:
200001200101
payerFeeAmount Money
- Transaction fee charged to the payer.
payeeFeeAmount Money
- Transaction fee charged to the payee.
payChannel String Required
- Payment channel used by the payer.
- Possible values:
BANKCARD
,INSTALLMENT
,EWALLET
, etc.
settlementAmount Money Required
- Actual funds received by the payee after deductions.
cardInfo
This object may be returned only for `DIRECTPAY` payment scene. The attributes are:
brand String Required
The card issuer. The possible values are:
MASTERCARD
>VISA
>AE
>DISCOVER
>JC
cardId String
If the payer's card information was requested to be saved for future use., PayBy will return the card's ID.
Example value: 31658300
last4 String Required
Last 4 digits of card number.
Example value: 6345
cardType String Required
The possible values are:
DC
. Debit CardCC
. Credit CardexpMonth String Required
Two -digit number, representing the card expiry month.
Example value: 01
expYearString Required
Two -digit number, representing last two digits of the card expiry year.
Example value: 22
product String Required
- Product name related to the payment scene. Used for internal classification.
- Example value:
Basic Payment Gateway
totalAmount Money Required
- The order amount intended to collect from the payer.
payeeMid String Required
- Payee's member ID in PayBy.
- Example value:
200001200101
expiredTime Timestamp Required
- Order expiration time.
- Example value:
1581493898000
notifyUrl String Required
- URL to receive asynchronous notifications of order status updates.
- Example value:
https://www.yoursite.com
sharingInfoList List
Sharing information for split payments.
sharingIdentitySeqId Money Required
- Serial number for multiple account IDs.
- Example value:
1
sharingMid String Required
- Member ID returned if identity matches an existing PayBy member.
sharingMemo String Required
- Description of the sharing operation.
sharingAmount Money Required
- Amount planned to be split to this ID.
sharingSettledFeeAmount Money Required
- Transaction fee charged to this sharing account if applicable.
sharingSettledAmount Money Required
- Actual amount received by this ID.
withholdAndRemitFee Boolean
- Indicates whether this sharing account pays the transaction fee.
- Only one account can have
true
in this field per request.
subject String Required
- Description of this order.
- Example value:
iPhone
accessoryContent String
- Used for storing additional information about the order.
paySceneCode Enum Required
- Payment scene used to create the order.
- Possible values:
PAYPAGE
,INAPP
,EWALLET
,DYNQR
,QRPAY
,JSAPI
,AUTODEBIT
,DIRECTPAY
, etc.
paySceneParams String Required
- Different payment scenarios need to pass different scenario parameters.
deviceId String
- If the transaction was made on a terminal or virtual device, the device ID can be passed for transaction data statistics.
- Note: This parameter must be passed if you are using the secondary merchant function.
secondaryMerchantId String
- If you are a platform and the transaction was made at a merchant under your platform, you can use this parameter to allocate the funds collected.
- The secondary merchant ID represents the merchant's member ID on your platform.
- Maximum length:
200
failCode String
- If the order status is
FAILURE
, the code to identify the exact reason. - Example value:
504
- If the order status is
failDes String
- If the order status is
FAILURE
, the failure reason. - Example value:
SERVICE_TIMEOUT
- If the order status is
revoked String Required
- If
true
, it means that the payment has been made but then cancelled.
- If
reserved String
- Merchant's notes for the order.
- Example value:
June campaign order.
- Maximum length:
200
interactionParams
In different payment scenarios, PayBy may return different parameters, allowing the merchant system and PayBy continue to interact to complete the order.
tokenUrl String
Appears only in the following payment scene.
PAYPAGE
. A link that redirects the payer to the paypage.INAPP
. A link that redirects the payer to the paypage or the chosen E-wallet.DYNQR
. A link contains details of the order, the merchant needs to convert it to a QR code and present to the payer.JSAPI
. A link that redirects the payer to the checkout within the APP.CASHTOPUP
. A link contains details of the order, the merchant needs to convert it to a QR code and present to the payer.PAYANDSIGN
. A link that redirects the payer to the checkout within the APP.
deepLink String
Appears only in
EWALLET
payment scene.When the payer chooses to open another e-wallet for payment at the merchant's payment page, PayBy will return a link to redirect the payer to the e-wallet's checkout.
threeDSecureDom String
Appears only in
DIRECTPAY
payment scene.If the merchant decides or PayBy's risk control system recognizes that the transaction requires 3DS verification, the 3DS verification link will be returned.
Note: The
AUTODEBIT
andQRPAY
payment scene don't haveinteractionParams
.
Response Sample
// Http Header
{
"sign": "JzWjVQ245trg3p0CyuwUUHN+Ck40q/HDaMvhqueHDP8YHqC/Uw3c9VWCw4gKsNbk+CRShjT+bvKkck8Fc3aAiRK8wIVQz6eu95sPkJgZp5A0P+tfMH/44F+3CrejtbEIkrHdSwhy98Tv9TYs9QFe7Yni/vEJ8P4OU6FZJOi8LGOMF6Nc8+S5qftc7qLA17cNJ7NJYC+EW8suGe/NmGA9c5NMK5BwHTHzXYOjXwXLx8mw4M3hiirl0wtVym3hrOmbkujYZCH56h8uOVF0FbHGu5uoq61NuniJitLLs9qyiEprQzUe8oWsJnHKXeGAgEr//fLXIXgYsRYb7AWoJzs6Eg=="
}
// Http Body
{
"head":{
"applyStatus":"SUCCESS",
"code":"0",
"msg":"SUCCESS",
"success":true,
"traceCode":"843909"
},
"body":{
"acquireOrder":{
"accessoryContent":{
"amountDetail":{
"vatAmount":{
"amount":0.1,
"currency":"AED"
}
},
"goodsDetail":{
"body":"gifts",
"goodsId":"GI1005",
"goodsName":"candy flower"
},
"terminalDetail":{
"merchantName":"regress7"
}
},
"expiredTime":1659005138636,
"merchantOrderNo":"807f404a-d310-435e-944e-bea9191a43aa",
"notifyUrl":"http://yoursite.com/api/notification",
"orderNo":"131658997939155072",
"paySceneCode":"PAYPAGE",
"payeeMid":"200000030907",
"paymentInfo":{
"paidAmount":{
"amount":10,
"currency":"AED"
},
"paidTime":1658998025854,
"payChannel":"BALANCE",
"payeeFeeAmount":{
"amount":0.03,
"currency":"AED"
},
"payerFeeAmount":{
"amount":0,
"currency":"AED"
},
"payerMid":"100000030030",
"settlementAmount":{
"amount":9.97,
"currency":"AED"
}
},
"product":"Basic Payment Gateway",
"requestTime":1658997938636,
"reserved":"order desc",
"revoked":"false",
"promotionInfoList":[
{
"appliedRewardId":"1234",
"settleFlag":"YES"
},
{
"appliedRewardId":"12534",
"settleFlag":"YES"
}
],
"sharingInfoList":[
{
"sharingAmount":{
"amount":1,
"currency":"AED"
},
"sharingIdentitySeqId":1,
"sharingMemo":"bouns",
"sharingMid":"100000047500",
"sharingSettledAmount":{
"amount":1,
"currency":"AED"
}
},
{
"sharingAmount":{
"amount":1,
"currency":"AED"
},
"sharingIdentitySeqId":2,
"sharingMemo":"cashback",
"sharingMid":"100000002005",
"sharingSettledAmount":{
"amount":1,
"currency":"AED"
}
}
],
"status":"SETTLED",
"subject":"ipad",
"totalAmount":{
"amount":10,
"currency":"AED"
}
}
}
}
Response Codes
Code | Message | Cause | Workaround |
---|---|---|---|
0 | SUCCESS | Success | |
400 | INVALID_PARAMETER | Parameter error | Adjust request parameters |
400 | REQUESTTIME_TOO_EARLY | Request time is too early compared to current time | Adjust request time |
400 | REQUESTTIME_TOO_LATER | Request time is too late compared to current time | Adjust request time |
402 | RATE_LIMIT_REJECT | Requests too frequent | Reduce request frequency |
403 | UNAUTHORIZED | API not authorized | Contact PayBy |
404 | SERVICE_NOT_AVAILABLE | API service not available | Contact PayBy |
500 | SYSTEM_ERROR | System error | Contact PayBy. Retry later |
504 | SERVICE_TIMEOUT | Service timeout | Retry later |
601 | RISK_FAIL | Risk control validation failed | Adjust business |
62001 | ORDER_PAID | Order already paid successfully, cancellation not supported | Adjust merchant order number |
62002 | ORDER_FAILURE | Creating order for an already failed order | Adjust merchant order number |
62003 | ORDER_SETTLED | Creating order for an already settled order | Adjust merchant order number |
62008 | EXPIREDTIME_LESS_THAN_REQUESTTIME | Expiry time is less than request time | Adjust expiry time |
62009 | EXPIREDTIME_TOO_LATER | Expiry time exceeds request time by 48 hours | Adjust expiry time |
62012 | PAYSCENECODE_ILLEGAL | Payment scene code is illegal | Adjust payment scene code |
62016 | MERCHANT_ORDER_NO_EXIST | Same order number with different business parameters | Adjust order number |
62018 | PAYERMID_NOT_EXIST | Payer account filled incorrectly | Adjust payer account |
62019 | PAYEEMID_NOT_EXIST | Payee account filled incorrectly | Adjust payee account |
62020 | PAYERMID_PAYEEMID_ARE_SAME | Payer and payee accounts are the same | Adjust payer or payee account |
62026 | PRODUCT_IS_NOT_APPLIED | Product not applied for | Please apply for product |
62031 | MISSING_IAP_DEVICE_ID | Missing iapDeviceId | Adjust request parameters |
62032 | MISSING_APP_ID | Missing AppId | Adjust request parameters |
62033 | MISSING_AUTHCODE | Missing authCode | Adjust request parameters |
62034 | INVALID_APP_ID | Invalid appId | Adjust request parameters |
62036 | MERCHANT_DEVICE_NOT_EXIST | Merchant device does not exist | Adjust secondary merchant ID or device ID |
62037 | DEVICE_ACCESS_FORBIDDEN | Device access forbidden | Adjust device status |
62042 | MISSING_AUTH_PROTOCOL_NO | Missing authProtocolNo | Adjust request parameters |
62043 | MISSING_BUSINESS_TYPE | Missing businessType | Adjust request parameters |
62044 | INVALID_BUSINESS_TYPE | Invalid businessType | Adjust request parameters |
62047 | MISSING_AUTH_TOKEN | Missing authToken | Adjust request parameters |
62048 | MISSING_UNIQUE_DEVICE | Missing uniqueDevice | Adjust request parameters |
62049 | MISSING_CARD_NO | Missing cardNo | Adjust request parameters |
62050 | MISSING_HOLDER_NAME | Missing holderName | Adjust request parameters |
62051 | MISSING_CVV | Missing cvv | Adjust request parameters |
62052 | MISSING_PLATFORM_TYPE | Missing platformType | Adjust request parameters |
62053 | MISSING_EXP_YEAR | Missing expYear | Adjust request parameters |
62054 | MISSING_EXP_MONTH | Missing expMonth | Adjust request parameters |
62055 | MISSING_CUSTOMER_ID | Missing customerId | Adjust request parameters |
62056 | MISSING_EMAIL | Missing email | Adjust request parameters |
62057 | INVALID_SAVE_CARD | Invalid saveCard | Adjust request parameters |
62058 | INVALID_THREEDSECURE | Invalid threeDSecure | Adjust request parameters |
62059 | INVALID_EMAIL | Invalid email | Adjust request parameters |
62060 | INVALID_PLATFORM_TYPE | Invalid platformType | Adjust request parameters |
62061 | MISSING_REAL_IP | Missing realIP | Adjust request parameters |
62062 | INVALID_REAL_IP | Invalid realIP | Adjust request parameters |
62063 | INVALID_EXP_YEAR | Invalid expYear | Adjust request parameters |
62064 | INVALID_EXP_MONTH | Invalid expMonth | Adjust request parameters |
62065 | INVALID_CARD_NO | Invalid cardNo | Adjust request parameters |
62066 | INVALID_CVV | Invalid cvv | Adjust request parameters |
62067 | HOLDER_NAME_TOO_LONG | holderName too long | Adjust request parameters |
62068 | MISSING_SAVE_CARD | Missing saveCard | Adjust request parameters |
62069 | CARD_NO_LENGTH_UNMATCH | cardNo length mismatch | Adjust request parameters |
62070 | CARD_BIN_NOT_SUPPORTED | cardBin not supported | Adjust request parameters |
62071 | CARD_BIN_UNAVAILABLE | cardBin unavailable | Adjust request parameters |
62072 | MISSING_REDIRECT_URL | Missing redirectUrl | Adjust request parameters |
62073 | INVALID_ONE_TIME_PAYMENT | Invalid oneTimePayment | Adjust request parameters |
62078 | CARD_NOT_EXIST | cardToken filled incorrectly or card already unbound | Adjust request parameters |
62079 | MISSING_CARD_NO_CARD_TOKEN | Both cardToken and cardNo are empty | Adjust request parameters |
62080 | MISSING_EWALLET_CODE | Missing eWalletCode | Adjust request parameters |
62081 | INVALID_EWALLET_CODE | Invalid eWalletCode | Adjust request parameters |
62083 | SHARING_MEMBER_NOT_EXIST | Sharing member does not exist | Adjust request parameters |
62085 | MISSING_PROTOCOL_SCENE_CODE | Missing protocol scene code | Adjust request parameters |
62086 | INVALID_PAYEEMID | Invalid payeeMid | Contact PayBy |
62087 | INVALID_TYPE | Invalid type | Adjust request parameters |
62088 | MISSING_UNIQUE_ID | Missing uniqueId | Adjust request parameters |