条码支付

说明
  • 扫码设备读取到用户支付条码,判断是支付宝条码还是微信条码,设置不同的 pay_type
  • 微信条码为18位纯数字,以10、11、12、13、14、15开头,支付宝是 28 开头
  • 调用方法为 POST, content-type 为 application/x-www-form-urlencoded

接口地址

https://xorpay.com/api/barcode_pay/aid 其中 aid 为用户 appid,请在 XorPay 后台 查看后替换


接口参数
名称 类型 必须 说明
name string 商品名称
pay_type string wechat_barcode 或 alipay_barcode
price string 价格如: 50.00
order_id string 你平台订单号,需要唯一
order_uid string 订单用户如: [email protected]
notify_url string 回调地址
barcode string 支付条码
more string 订单其他信息,回调时原样传回
sign string 将参数按
name + pay_type + price + order_id + notify_url + barcode + app secret
顺序拼接后MD5(纯 value 拼接,不要包含 + 号)

POST body 举例:

pay_type=wechat_barcode&name=XorPay+ %E8%B4%A6%E6%88%B7%E5%85%85%E5%80%BC&order_uid=a%40b.com&order_id=14&price=0.01&sign=23f 486d9bb15x6b11f753547558626d7&notify_url=http%3A%2F%2Fexample.com%3A3094%2Fpay_callback&barcode=abcdefghi


返回参数

返回为 json 格式

名称 类型 必有 说明
status string missing_argument 缺少参数
app_off 账号被冻结
aid_not_exist aid不存在
pay_type_error 支付类型错误
sign_error 签名错误
order_payed 订单已支付
order_expire 订单过期
wechat_api_error 可能账号被风控
fee_error 余额不足
order_exist 同一订单,参数不同
new 等待回调通知
success 支付成功
除开以上状态,其他状态都需要用户刷新条码重新创建订单支付
aoid string XorPay 平台统一订单号,status 为 new 和 success 才有
detail dict 支付信息详情,status 为 success 才有

举例:

  • 支付成功,同步立即返回结果(用户开了小额免密支付,不用用户确认)

    {u'status': u'success', u'detail': u'{"bank_type": "ALIPAYACCOUNT", "buyer": "[email protected]", "transaction_id": "2019101622000000000000000000"}', u'aoid': u'bbbbbbbbbbbbbbbbbbbxxxxxxxxxxxxxx}

  • 请求成功,等待用户支付(等待用户输入密码等),用户支付后会异步回调通知

    {u'status': u'new', u'aoid': u'bbbbbbbbbbbbbbbbbbbxxxxxxxxxxxxxx'}

  • 支付失败,需要重新扫用户条码创建订单

    {u'status': u'AUTH_CODE_INVALID'}

判断支付成功
  1. 可以等 xorpay 的回调通知
  2. 或者可以用 订单查询接口 查询订单状态

results matching ""

    No results matching ""