文档中心/API 接口

API REFERENCE

Token支付

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

Token支付

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

请求参数12

先填写必填项

Token支付

pay_method必填stringdata.pay_methodonline
sub_pay_method必填stringdata.sub_pay_methodToken
operation必填stringdata.operation11.Token for sales 12.Token for authorisation;
amount必填stringdata.amount金额数字。例如 € 24.99 应该写成24.99
currency必填stringdata.currency货币代码,ISO 4217,例如EUR,CHF
payment_token_object必填stringdata.payment_token_object支付Token
description必填stringdata.description订单描述
timeout必填stringdata.timeout过期时间单位分钟(0-1440)
notify_url必填stringdata.notify_url支付完成后异步通知地址
request_id必填stringdata.request_id请求id需保持唯一,建议24以上位数字+字母
可选参数 1
demo可选stringdata.demo自定义字段

请求参数

3ds_initiate必填stringdata.3ds_initiate01. 开启3ds验证; 02.不开启3DS(需申请开通);03. SCA豁免(需申请开通);

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

适用于:发起Token支付 - 信用卡

付款用户在YabandPay托管的支付页面完成一次标准信用卡交易并同意授权,YabandPay将持卡人敏感数据转换成一串随机数字(即Token)以去除身份信息。使用Token可以发起如下支付:

  1. 用户可以在结账页面一键完成付款,无需输入信用卡信息。
  2. 商户可以使用此Token来执行定期付款或订阅收费等。

[!TIP|style:flat] 使用流程

  1. 激活Token。联系您的客户经理开通Token支付功能。
  1. 用户授权。为消费者启用**快捷支付(Token支付)**时您有义务明确告知用户并获得授权,以避免可能的纠纷。
  1. 获取Token。要获得Token,首先需要发起一个标准的信用卡交易,YabandPay将会返回支付url,用户通过该url完成支付并同意授权后,YabandPay将会通过异步通知返回Token,参数是payment_token_object。
  1. 发起Token支付。请包含Token在变量payment_token_object中。如果Token校验正确,YabandPay将执行Token支付;如果Token校验失败,YabandPay将返回错误信息,这时建议重新通过发起标准信用卡交易以获取Token并再次发起支付。
参数类型描述是否必填
userString收银员账号的UID必填
signString签名必填
methodStringv3.CreateCardPayments必填
timeLong时间戳必填
  • 参数
ParameterTypeDescription是否必填
pay_methodStringonline必填
sub_pay_methodStringToken必填
operationString11.Token for sales 12.Token for authorisation;必填
order_idString商户的订单ID必填
3ds_initiateString01. 开启3ds验证; 02.不开启3DS(需申请开通);03. SCA豁免(需申请开通);必填
sca_exemptionStringLowValue3ds_initiate=03 必填
amountString金额数字。例如 € 24.99 应该写成24.99必填
currencyString货币代码,ISO 4217,例如EUR,CHF必填
payment_token_objectString支付Token必填
descriptionString订单描述必填
demoString自定义字段选填
timeoutString过期时间单位分钟(0-1440)必填
notify_urlString支付完成后异步通知地址必填
request_idString请求id需保持唯一,建议24以上位数字+字母必填

签名示例:

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

"3ds_initiate=01&amount=1&currency=EUR&description=test&method=v3.CreateCardPayments&notify_url=https://www.yabandpay.com/notify&operation=11&order_id=1725875543&pay_method=online&payment_token_object=VnXaRabcsedfsSlPFZXavcsdfasdEFDd&request_id=hjf5lv32i40lh7oh86j6az98tnscwv37&sub_pay_method=Token&time=1725875543&timeout=0&user=YOUR_CASHIER_UID"

得到的 stringA 使用 secret_key做签名

得到的签名如下:

"YOUR_SIGNATURE"

提交示例:

{
    "user": "YOUR_CASHIER_UID",
    "sign": "YOUR_SIGNATURE",
    "method": "v3.CreateCardPayments",
    "time": 1725875543,
    "data": {
        "3ds_initiate": "01",
        "description": "test",
        "timeout": "0",
        "pay_method": "online",
        "sub_pay_method": "Token",
        "operation": "11",
        "order_id": 1725875543,
        "amount": "1",
        "currency": "EUR",
        "payment_token_object": "VnXaRabcsedfsSlPFZXavcsdfasdEFDd",
        "notify_url": "https://www.yabandpay.com/notify",
        "request_id": "hjf5lv32i40lh7oh86j6az98tnscwv37"
    }
}

返回示例:

{
    "status": true,
    "code": "200",
    "data": {
        "order_id": "YOUR_ORDER_ID",
        "trade_id": "109bb0e9-e1fb-49cb-c537-ec944f33c388",
        "amount": "1.00",
        "currency": "EUR",
        "state": "paid"
    },
    "message": "",
    "response_id": "202409091752241912726578"
}

更多信息:

MIT & CIT :

MIT= Merchant Initiated subsequent transactions.由商户发起的Token扣款。

CIT= Cardholder Initiated Subsequent transactions.有用户参与的Token支付。 请在开通支付时候沟通好需要MIT还是CIT模式,做相应配置的开通

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

  2. 若调用失败,则返回"status": false。这时如得到Invalid Token,建议重新调用HPP Token获取新的Token。

接口调用后将会同步返回支付状态。我们强烈建议同时使用订单查询和异步通知来同步和更新支付状态,以确保支付信息的实时准确性。 a) 如果订单状态state为paid,即支付成功; b) 如果订单状态state为authorized,即预授权成功。 预授权成功后如需要请款调用预授权请款接口。

3DS低价值豁免:

在下列限额范围内的交易可被认定为低价值交易。当订单金额小于或等于以下金额时,经过批准可适用交易代码 02(低价值豁免)。

#货币金额
1EUR30
2DKK225
3GBP27
4SEK310
5ISK5000
6NOK325
7CHF32
8PLN135
9USD36
返回代码:
StatusCodeMessage
true200
false-1000Internal error
false-403The signature Error
false-2001The user not exist
false-3001Required field is missing
false-4118Incorrect request ID
false-4119Invalid Token
false-4120No operational permissions