小程序支付
[!TIP|style:flat] 注意:请提供微信小程序Appid给YabandPay,需要开通以后才能使用。
API URL:https://mapi.yabandpay.com/Payments
Method:POST
POST data type:Json
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
user | String | 收银员账号的UID | 必填 |
sign | String | 签名 | 必填 |
method | String | v3.CreatePaymentsWechatMiniPay | 必填 |
time | Long | 时间戳 | 必填 |
- 参数
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
pay_method | String | online | 必填 |
sub_pay_method | String | WeChat Pay | 必填 |
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分钟 | 必填 |
notify_url | String | 支付完成后异步通知地址 | 必填 |
sub_app_id | String | 小程序的APPID | 必填 |
sub_open_id | String | 小程序获得的用户OpenID | 必填 |
签名示例:
拼接为URL方式并排序后的字符串
"amount=1.23¤cy=EUR&description=test&method=v3.CreatePaymentsWechatMiniPay¬ify_url=https://imenuapi.yabandpay.com/api/Notify/yabandpay&order_id=202413271095510835&pay_method=online&sub_app_id=wx7a5355d3d2a904a4&sub_open_id=opilP5dyazU7pTpyps8TDc53OGyU&sub_pay_method=WeChat Pay&time=1732672545&timeout=300&user=011844"
得到的 stringA 使用 secret_key做签名
得到的签名如下:
"4051095367cc625eb827ba287bbfcf9eff84f5f49ae746264712a0f896adcbce"
提交示例:
{
"user": "011844",
"sign": "4051095367cc625eb827ba287bbfcf9eff84f5f49ae746264712a0f896adcbce",
"method": "v3.CreatePaymentsWechatMiniPay",
"time": 1732672545,
"data": {
"description": "test",
"timeout": "300",
"pay_method": "online",
"sub_pay_method": "WeChat Pay",
"order_id": "202413271095510835",
"amount": "1.23",
"currency": "EUR",
"notify_url": "https://imenuapi.yabandpay.com/api/Notify/yabandpay",
"sub_open_id": "opilP5dyazU7pTpyps8TDc53OGyU",
"sub_app_id": "wx7a5355d3d2a904a4"
}
}
返回示例:
{
"status": true,
"code": "200",
"data": {
"order_id": "202413271095510835",
"trade_id": "e405c9d5-069f-34f5-9eb2-16919cd7e411",
"amount": "1.23",
"currency": "EUR",
"parameters": {
"appId": "wx7a5355d3d2a904a4",
"package": "prepay_id=wx270959141300258779d83459e08e4b0000",
"paySign": "Av83Y6u+Ua8hkU3VyoAN5MUu7cm9vPfID8OstMkS+3BbbNnl1bax5nRapKoFTz2DUzaGyzPiT+gDUzyGW7DshqPLy+NsmKvQGSQM5vyfSjXsz5F4LKOeI3YaaUBTnVXkKX6qBrzbVUfStyjvYwtqPJUXx0X2zZEiGV5ScEf44IOmWQXeiRKyv8j34KnhMHcSFgSVAPN/B10Z1BnN34VUpak6DyaM/d0zfEkUbtODzD260An9NBSKZqAg1Wh35o/Eebqd5KoPIPX74lfRjUH4O9IZUCXnb2NqTxCR2M8j7Yx5zzz3xiQGhqEPzc7m0vXQTYv3TjD+158LeF993e/c2w==",
"nonceStr": "0ypozLSDOzutrUA7WUI7eTfWUHtDqO9n",
"signType": "RSA",
"timeStamp": "1732672754"
},
"state": "processing"
},
"message": ""
}
请用返回的“parameters”的值唤起微信小程序支付。
更多信息:
返回结果:
若调用成功,则返回
"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 |