Token支付


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

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

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

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

  1. 激活Token。联系您的客户经理开通Token支付功能。

  2. 用户授权。为消费者启用快捷支付(Token支付)时您有义务明确告知用户并获得授权,以避免可能的纠纷。

  3. 获取Token。要获得Token,首先需要发起一个标准的信用卡交易,YabandPay将会返回支付url,用户通过该url完成支付并同意授权后,YabandPay将会通过异步通知返回Token,参数是payment_token_object

  4. 发起Token支付。请包含Token在变量payment_token_object中。如果Token校验正确,YabandPay将执行Token支付;如果Token校验失败,YabandPay将返回错误信息,这时建议重新通过发起标准信用卡交易以获取Token并再次发起支付。

API URL:https://mapi.yabandpay.com/Payments

Method:POST

POST data type:Json

参数 类型 描述 是否必填
user String 收银员账号的UID 必填
sign String 签名 必填
method String v3.CreateCardPayments 必填
time Long 时间戳 必填
  • 参数
Parameter Type Description 是否必填
pay_method String online 必填
sub_pay_method String Token 必填
operation String 11.Token for sales 12.Token for authorisation; 必填
order_id String 商户的订单ID 必填
amount String 金额数字。例如 € 24.99 应该写成24.99 必填
currency String 货币代码,ISO 4217,例如EUR,CHF 必填
payment_token_object String 支付Token 必填
description String 订单描述 必填
demo String 自定义字段 选填
timeout String 过期时间0-1440 分钟,如不设置默认1440分钟 必填
notify_url String 支付完成后异步通知地址 必填
request_id String 请求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=1725875388&pay_method=online&payment_token_object=&request_id=dxktqiedfpkswnripi631ppg6fl2uoym&sub_pay_method=Cards HPP Token&time=1725875388&timeout=0&user=016683"

得到的 stringA 使用 secret_key做签名

得到的签名如下:

"fd906007d06c5c0ffa3adb4b1be8b6885a9b9df2e1e8766fcc7e2bf5850685a9"

提交示例:

{
    "user": "016683",
    "sign": "8c87219a8cc0da9691aa0c847be1b37fc623588be809d13ad96a9e68b45f81fb",
    "method": "v3.CreateCardPayments",
    "time": 1725875543,
    "data": {
        "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": "1725875543",
        "trade_id": "109bb0e9-e1fb-49cb-c537-ec944f33c388",
        "amount": "1.00",
        "currency": "EUR",
        "settlement_amount": "1.00",
        "settlement_currency": "EUR",
        "exchange_rate": "1",
        "state": "paid"
    },
    "message": "",
    "response_id": "202409091752241912726578"
}

更多信息:

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

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

接口调用后将会同步返回支付状态。你也可以通过调用订单查询来查询订单状态 ,或等待异步通知。 a) 如果订单状态statepaid,即支付成功; b) 如果订单状态stateauthorized,即预授权成功。 预授权成功后如需要请款调用预授权请款接口

返回代码:
Status Code Message
true 200
fales -1000 Internal error
fales -403 The signature Error
fales -2001 The user not exist
fales -3001 Required field is missing
fales -4118 Incorrect request ID
fales -4119 Invalid Token
fales -4120 No operational permissions

results matching ""

    No results matching ""