文档中心/API 接口

API REFERENCE

发起支付或预授权

POSThttps://mapi.yabandpay.com/Payments
实际接口
API PLAYGROUND · 实际接口

发起支付或预授权

POSThttps://mapi.yabandpay.com/Payments
填写凭据后自动签名

请求参数11

先填写必填项

发起交易

pay_method必填stringdata.pay_methodoffline
sub_pay_method必填stringdata.sub_pay_methodpoint_of_sales
operation必填stringdata.operation1.Sales 2.Authorisation;
tid必填stringdata.tid设备的TID
amount必填stringdata.amount金额数字。例如 € 24.99 应该写成24.99,CNY金额>=1,欧元金额>=0.1
currency必填stringdata.currency货币代码,ISO 4217,例如EUR,CHF
description必填stringdata.description订单描述64字符内
notify_url必填stringdata.notify_url支付完成后异步通知地址
request_id必填stringdata.request_id请求id需保持唯一,建议24以上位数字+字母
可选参数 2
tip_amount可选stringdata.tip_amount总金额中包含的小费,金额数字。例如 1.02
demo可选stringdata.demo自定义字段

凭据仅在当前页面使用。secret_key 不保存,也不发送给文档服务器。

适用于线下POS支付场景

该接口用于通过云端向 POS 设备发起支付或预授权指令。

在调用本接口前,请务必确认 POS 设备处于在线且可用状态,以确保指令能够成功下发并被正常处理。

API URL(生产环境):https://mapi.yabandpay.com/Payments

API URL(测试环境):https://acc-mapi.yabandpay.com/Payments

参数类型描述是否必填
userString设备的TID必填
signString签名必填
methodStringv3.POS必填
timeLong时间戳必填
  • 参数
ParameterTypeDescription是否必填
pay_methodStringoffline必填
sub_pay_methodStringpoint_of_sales必填
operationString1.Sales 2.Authorisation;必填
tidstring设备的TID必填
order_idstring订单号全部数字构成,并小于20个字符必填
amountString金额数字。例如 € 24.99 应该写成24.99,CNY金额>=1,欧元金额>=0.1必填
tip_amountString总金额中包含的小费,金额数字。例如 1.02选填
currencyString货币代码,ISO 4217,例如EUR,CHF必填
descriptionString订单描述64字符内必填
demoString自定义字段选填
notify_urlString支付完成后异步通知地址必填
request_idString请求id需保持唯一,建议24以上位数字+字母必填

签名示例:

拼接为URL方式并排序后的字符串

 "amount=12.5&currency=EUR&description=YabandPay test&method=v3.POS&notify_url=https://www.yabandpay.com/notify&operation=1&order_id=202586556498441613&pay_method=offline&request_id=a7z1lox4l6z6mdx1udgn5gtezasze1x0&sub_pay_method=point_of_sales&tid=T125119061&time=1555498137&tip_amount=0.5&user=T125119061" 

得到的 stringA 使用 secret_key做签名

得到的签名如下:

"YOUR_SIGNATURE"

提交示例:

 {
  "user": "T125119061",
  "sign": "YOUR_SIGNATURE",
  "method": "v3.POS",
  "time": 1555498137,
  "data": {
    "operation": "1",
    "tid": "T125119061",
    "amount": "12.5",
    "currency": "EUR",
    "tip_amount": "0.5",
    "description": "YabandPay test",
    "notify_url": "https://www.yabandpay.com/notify",
    "order_id": "YOUR_ORDER_ID",
    "pay_method": "offline",
    "sub_pay_method": "point_of_sales",
    "request_id": "a7z1lox4l6z6mdx1udgn5gtezasze1x0"

  }
} 

返回示例:

{
  "status": true,
  "code": "200",
  "data": {
    "order_id": "YOUR_ORDER_ID",
    "trade_id": "4552eeea-1ae8-1e40-3b4b-802dc2f56458",
    "amount": "12",
    "currency": "EUR",
    "tip_amount": "0.5",
    "state": "processing"
  },
  "message": ""} 

更多信息:

小贴士

特别注意:当异步通知返回状态为"state": "paid"时,说明用户完成支付,需要看返回的data里面是否有参数"cvmTypeList": ["SIGNATURE"]。

若返回字段中包含"cvmTypeList":["SIGNATURE"],表示客户需在小票上签字;

此时应提示收银员要求客户签名,并打印带签名栏的小票;

完成签名后,收银员根据签名“确认签名”或“签名有误”

若选择“确认签名”,交易正常完成;

若选择“签名有误”,应立即调用交易撤销接口,撤销本次交易;

如果无人值守或自助支付场景,由于一般金额较小,可以不核对签名,但有拒付的风险。

返回结果:
  1. 若调用成功,则返回"status": true

  2. 若调用失败,则返回"status": false

我们强烈建议同时使用订单查询和异步通知来同步和更新支付状态,以确保支付信息的实时准确性。

返回代码:
StatusCodeMessage
true200Success
false-1000Internal error
false-3001Required field is missing
false-3002duplicate request_id
false-403The signature Error
false-4011Not support the payment method