统一下单支付
适用于:微信支付和支付宝支付
[!TIP|style:flat]
请注意,该支付仅包支持微信支付和支付宝,我们推荐使用托管收银台,其包含了全部已开启的支付方式。
API URL:https://mapi.yabandpay.com/Payments
Method:POST
POST data type:Json
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
user | String | 收银员账号的UID | 必填 |
sign | String | 签名 | 必填 |
method | String | v3.CreatePayments | 必填 |
time | Long | 时间戳 | 必填 |
- 参数
Parameter | Type | Description | 是否必填 |
---|---|---|---|
pay_method | String | online | 必填 |
sub_pay_method | String | WeChat Pay,Alipay,YabandPay | 必填 |
order_id | String | 商户的订单ID | 必填 |
amount | String | 金额数字。例如 € 24.99 应该写成24.99,CNY金额>=1,欧元金额>=0.1 | 必填 |
currency | String | 货币代码,ISO 4217,例如EUR,CHF | 必填 |
description | String | 订单描述 | 必填 |
demo | String | 自定义字段 | 选填 |
timeout | String | 过期时间0-1440 分钟,如不设置默认1440分钟 | 必填 |
redirect_url | String | 支付完成后跳转地址 | 必填 |
notify_url | String | 支付完成后异步通知地址 | 必填 |
签名示例:
拼接为URL方式并排序后的字符串
"amount=0.1¤cy=EUR&demo=test&description=YabandPay test&method=v3.CreatePayments¬ify_url=https://www.yabandpay.com/notify&order_id=2024849687894683&pay_method=online&redirect_url=https://www.yabandpay.com&sub_pay_method=WeChat Pay&time=1555498137&timeout=0&user=016683"
得到的 stringA 使用 secret_key做签名
得到的签名如下:
"1088cc688350732341ca3626ae4cf259b78d2b90b78768c67881f4c0189622ad"
提交示例:
{
"user": "016683",
"sign": "1088cc688350732341ca3626ae4cf259b78d2b90b78768c67881f4c0189622ad",
"method": "v3.CreatePayments",
"time": 1555498137,
"data": {
"amount": "12",
"currency": "EUR",
"demo": "test",
"description": "YabandPay test",
"notify_url": "https://www.yabandpay.com/notify",
"order_id": "2024849687894683",
"pay_method": "online",
"redirect_url": "https://www.yabandpay.com",
"sub_pay_method": "WeChat Pay",
"timeout": "0"
}
}
返回示例:
{
"status": true,
"code": "200",
"data": {
"order_id": "2024849687894683",
"trade_id": "4552eeea-1ae8-1e40-3b4b-802dc2f5686a",
"amount": "0.10",
"currency": "EUR",
"url": "https://pay.yabandpay.com/payments/callback/order/NDU1MmVlZWEtMWFlOC0xZTQwLTNiNGItODAyZGMyZjU2ODZh",
"state": "processing"
},
"message": "",
}
1. 电脑浏览器或者平板电脑浏览器
在电脑浏览器或者平板电脑,由商家生成二维码,用户扫描支付。
YabandPay支持微信和支付宝原生二维码,也支持生成聚合支付二维码(同时支持微信支付和支付宝)。
商户可以根据YabandPay的API返回URL跳转到支付页面去生成微信支付或支付宝的原生二维码。
关于聚合支付二维码,商户可以把YabandPay的API返回的URL生成二维码并出示给用户,然后使用Query Order 去轮训支付结果,或者等待异步通知结果。
2. 聚合支付
根据不同的浏览器环境和使用场景(PC、H5、App等),YabandPay将会唤起合适的微信支付或支付宝以完成支付。
sub_pay_method=
浏览器类型 | WeChat Pay | Alipay | YabandPay |
---|---|---|---|
手机浏览器 | 生成微信支付二维码 | 唤起支付宝支付 | 生成聚合二维码 |
H5浏览器在手机App | 生成微信支付二维码 | 唤起支付宝支付 | 生成聚合二维码 |
微信浏览器 (在微信App内) | 唤起微信支付 | 生成支付宝二维码 | 唤起微信支付 |
支付宝浏览器 ( 支付宝App内) | 生成微信支付二维码 | 唤起支付宝支付 | 唤起支付宝 |
电脑所有浏览器 | 生成微信支付二维码 | 生成支付宝二维码 | 生成聚合二维码 |
更多信息:
返回结果:
若调用成功,则返回
"status": true
若调用失败,则返回
"status": fales
我们强烈建议同时使用订单查询和异步通知来同步和更新支付状态,以确保支付信息的实时准确性。
返回代码:
Status | Code | Message |
---|---|---|
true | 200 | Success |
fales | -1000 | Internal error |
fales | -3001 | Required field is missing |
fales | -403 | The signature Error |
fales | -4011 | Not support the payment method |