获取Token


适用于:通过YabandPay托管支付页面获取Token

YabandPay的托管支付页面 (HPP) 是一个现成的支付页面,由 YabandPay 全面维护。它使商家能够通过在 YabandPay 系统上托管敏感的 PCI 数据来安全地接受付款。该表单可以作为 iframe 或重定向页面嵌入到商家的结帐流程中。

付款用户在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 Cards HPP 必填
operation String 10.Create Token only; 11.Token for sales; 12.Token for authorisation 必填
order_id String 商户的订单ID 必填
3ds_initiate String 3ds设置。 01. 开启3ds验证; 02. 不开启3ds验证 必填
amount String 金额数字。例如 € 24.99 应该写成24.99。如果operation为10,请设置amount=0 必填
currency String 货币代码,ISO 4217,例如EUR,CHF 必填
description String 订单描述 必填
form_type String 返回的url类型,默认01。 01.completed, 02.iframe 选填
demo String 自定义字段 选填
timeout String 过期时间0-1440 分钟,如不设置默认1440分钟 必填
redirect_url String 支付完成后跳转地址 选填
notify_url String 支付完成后异步通知地址 必填
request_id String 请求id需保持唯一,建议24以上位数字+字母 必填

签名示例:

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

"3ds_initiate=01&amount=1&currency=EUR&description=test&form_type=01&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": "fd906007d06c5c0ffa3adb4b1be8b6885a9b9df2e1e8766fcc7e2bf5850685a9",
    "method": "v3.CreateCardPayments",
    "time": 1725875388,
    "data": {
        "description": "test",
        "3ds_initiate": "01",
        "timeout": "0",
        "pay_method": "online",
        "sub_pay_method": "Cards HPP",
        "operation": "11",
        "form_type": "01",
        "order_id": 1725875388,
        "amount": "0.1",
        "currency": "EUR",
        "notify_url": "https://www.yabandpay.com/notify",
        "request_id": "dxktqiedfpkswnripi631ppg6fl2uoym"
    }
}

返回示例:

{
    "status": true,
    "code": "200",
    "data": {
        "order_id": "1725875388",
        "trade_id": "2b2aa1af-6e97-4c01-8c52-86200bf66c82",
        "amount": "0.1",
        "currency": "EUR",
        "settlement_amount": "0.1",
        "settlement_currency": "EUR",
        "exchange_rate": "1",
        "url": "https://pay.yabandpay.com/pay_method/Y3JlZGl0Y2FyZA==/MmIyYWExYWYtNmU5Ny00YzAxLThjNTItODYyMDBiZjY2Yzgy",
        "state": "processing"
    },
    "message": "",
    "response_id": "202409091749500451314672"
}

更多信息:

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

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

您需要跳转返回的url。用户在此url输入卡号信息并完成支付后,会同步跳转回redirect_url。您也可以通过调用订单查询来查询订单状态 ,或等待异步通知。

返回Token:
  1. 当用户同意授权并支付成功以后,YabandPay将通过异步通知返回payment_token_object

  2. 如果用户不同意授权或未完成支付,在异步通知中不将返回payment_token_object

返回代码:
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 -4120 No operational permissions

results matching ""

    No results matching ""