Create Payin Order
代收(收银台)聚合了所有开通的支付方式
HTTP Request
TIP
POST baseUrl
+ /api/payDesk
Request Headers
HeaderName | Required | Value |
---|---|---|
Content-Type | Y | application/json |
MerchantId | Y | MerchantId |
Sign | Y | Sign |
RequestBody
Parameter | Required | Type | Example | Description |
---|---|---|---|---|
currency | Y | string(32) | IDR | Currency code |
amount | Y | decimal(20,0) | 10000 | Amount ,Min Amount 10000 |
reusableStatus | Y | boolean | false | Currently it can only be false |
mchOrderNo | Y | string(32) | mch12345 | Merchant order number (should be unique in the merchant system) |
expireTime | Y | long | 3600 | Expiration time, default 3600 seconds |
notifyUrl | Y | string(250) | https://acb.com/ | webhooks (callback) address |
nonceStr | Y | string(32) | 162838128 | Random string |
remark | Y | string(32) | remark | Order remarks |
realName | Y | string(32) | Jack | Payer Name |
phone | N | string(32) | 62xxxxxxx | Payer phonenumber |
email | N | string(32) | xyz@gamil.com | Payer email |
goodsSubject | N | string(32) | apple | Product subject |
goodsBody | N | string(32) | apple | Product description |
TIP
Note that callback/webhook addresses only support https
or http
protocol addresses. If the address is an ip
address, be sure to use a public domain name.
ResponseBody
JSON 示例
{
"msg": "SUCCESS",
"code": 200,
"data": {
"merchantId": "100001",
"mchOrderNo": "M165690800000001",
"orderNo": "PAYDESKxxxxxxxxxxxxxxxxxx",
"payUrl": "http://paydesk.testpage.com/PAYDESKxxxxxxxxxxxxxxx",
"amount": "100000",
"expireTime": "2022-12-06 17:48:40"
}
}
Parameter | Type | Description |
---|---|---|
merchantId | long | MerchantId |
mchOrderNo | string(32) | Merchant order number |
orderNo | string(32) | Platform order number |
amount | decimal(20,0) | Amount |
orderFee | decimal(20,0) | fee |
payCode | string(32) | Payment account VA |
payUrl | string(250) | Payment QR code, some ways have QR code ,like QRIS |
payDeskUrl | string(250) | Payment Url |
PayDesk Order Query
HTTP Request
TIP
POST baseUrl
+ /api/payDeskQuery
Request Headers
HeaderName | Required | Value |
---|---|---|
Content-Type | Y | application/json |
MerchantId | Y | MerchantId |
Sign | Y | Sign |
RequestBody
Parameter | Required | Type | Example | Description |
---|---|---|---|---|
mchOrderNo | N | string(32) | P123456 | Merchant order number |
orderNo | N | string(32) | PAYIN12345 | Platform order number |
nonceStr | Y | string(32) | 1628381288000 | Random string |
TIP
We recommend using orderNo (platform order number) first. At least one of the platform order number and the merchant order number needs to be passed.
ResponseBody
{
"msg": "SUCCESS",
"code": 200,
"data": {
"merchantId": "100001",
"mchOrderNo": "2a6421c4-3758-4d1a-b47e-f7d0e7133f9e",
"orderNo": "PAYDESKxxxxxxxxxx",
"payUrl": "http://paydesk.testpage.com/PAYDESKxxxxxxxxxx",
"amount": 10000.0,
"fee": 0,
"orderStatus": "PAYING",
"completionTime": null
}
}
Parameter | Type | Description |
---|---|---|
merchantId | int | MerchantId |
mchOrderNo | string(32) | Merchant order number |
orderNo | string(32) | Platform order number |
payUrl | string(250) | Payment QrCode , like QRIS |
amount | decimal(20,0) | Amount |
fee | decimal(20,4) | fee |
orderStatus | string(32) | Order StatusPayin Order Status Enum |
completionTime | date | Completion time |
TIP
fee
and completionTime
only have a value if the order is successfully paid. The format of completionTime
is yyyy-MM-dd HH:mm:ss
.
Paydesk Order Async Webhook Notification
HTTP Request
TIP
POST 商户提交订单的回调地址 notifyUrl
Request Headers
HeaderName | Required | Value |
---|---|---|
Content-Type | Y | application/json |
MerchantId | Y | MerchantId |
Sign | Y | Sign |
Async Webhook Notification
{
"orderStatus": "SUCCESS",
"amount": 10000.0,
"fee": 0,
"mchOrderNo": "2a6421c4-3758-4d1a-b47e-f7d0e7133f9e",
"merchantId": "100001",
"orderNo": "PAYDESKxxxxxxxxxxx",
"payUrl": "xxxxxxxxxxxx",
"completionTime": "2022-08-08 08:08:08",
"nonceStr": "xxxxxxxxxx"
}
Parameter | Type | Description |
---|---|---|
merchantId | int | MerchantId |
mchOrderNo | string(32) | Merchant order number |
orderNo | string(32) | Platform order number |
payUrl | string(250) | Payment QrCode , like QRIS |
amount | decimal(20,0) | Amount |
fee | decimal(20,4) | fee |
orderStatus | string(32) | Order StatusPayin Order Status Enum |
completionTime | date | Completion time |
TIP
fee
and completionTime
only have a value if the order is successfully paid. The format of completionTime
is yyyy-MM-dd HH:mm:ss
.
TIP
Please respond with SUCCESS
if the process is successful, otherwise we will consider the callback to have failed. After the callback fails, it will be in 1,2,4,8,16,32,64,128,256,512 minutes
Retry, retry the callback 10 times in total.