卡支付接口
适用于:信用卡的预授权和直接购买
此接口适用于用户在商户页面输入卡信息,而不是跳转YabandPay托管页面输入卡信息,特别注意:
1、若商户已获得 PCI DSS 认证,具备安全处理持卡人信息的能力,可自行创建用于收集卡信息的表单,并通过参数cardinfo
提交数据。
2、若商户使用 YabandPay 提供的前端插件收集用户卡信息(可联系 YabandPay 获取集成方式),插件将返回一个一次性加密的 payment_token_object
,可用于后续发起支付请求。
[!TIP|style:flat]
预授权有效期有30天,超过30天预授权订单将自动过期。
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 | Card | 必填 |
operation | String | 1.Sales 2.Authorisation; | 必填 |
order_id | String | 商户的订单ID | 必填 |
3ds_initiate | String | 01. 开启3ds验证; 02.不开启3DS(需申请开通);03. SCA豁免(需申请开通); | 必填 |
sca_exemption | String | LowValue | 3ds_initiate=03 必填 |
payment_token_object | String | 从YabandPay支付插件获得的字符串 | cardinfo和payment_token_object二选一 |
cardinfo | json | 卡信息 | cardinfo和payment_token_object二选一 |
cardinfo.card_holder | string | 持卡人姓名 | 必填 |
cardinfo.card_number | string | 卡号 | 必填 |
cardinfo.expiration_month | string | 卡有效期月MM | 必填 |
cardinfo.expiration_year | string | 卡有效期年YYYY | 必填 |
cardinfo.cvc | string | CVC(任何形式存储CVC均违反PCI DSS规定) | 必填 |
amount | String | 金额数字。例如 € 24.99 应该写成24.99 | 必填 |
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以上位数字+字母 | 必填 |
提交示例cardinfo内容提交:
{
"user": "016683",
"sign": "a5491dcc4b3e0a5edce808074486ffff2fea479054a2f56d8e2a76a4f9808d5f",
"method": "v3.CreateCardPayments",
"time": 1720680417,
"data": {
"cardinfo": {
"card_holder": "John Smith",
"card_number": "4356789012345670",
"expiration_month": "01",
"expiration_year": "2023",
"cvc": "123"
},
"description": "test",
"form_type": "01",
"3ds_initiate": "01",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Card",
"operation": "1",
"order_id": "203040950640690239603690",
"amount": "1",
"currency": "EUR",
"redirect_url": "https://www.yabandpay.com/redirect_url",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "tscqf7ki76o7aem4z1yl1xs72f89fptl"
}
}
提交示例payment_token_object内容提交:
{
"user": "016683",
"sign": "a5491dcc4b3e0a5edce808074486ffff2fea479054a2f56d8e2a76a4f9808d5f",
"method": "v3.CreateCardPayments",
"time": 1720680417,
"data": {
"payment_token_object": "4564sf65as4f5awe4ft65awe4gt65ewaa4t65ew4t65ew4t65rew4t",
"description": "test",
"form_type": "01",
"3ds_initiate": "01",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Card",
"operation": "1",
"order_id": "203040950640690239603690",
"amount": "1",
"currency": "EUR",
"redirect_url": "https://www.yabandpay.com/redirect_url",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "tscqf7ki76o7aem4z1yl1xs72f89fptl"
}
}
返回示例:
{
"status": true,
"code": "200",
"data": {
"order_id": "203040950640690239603690",
"trade_id": "160899f3-f6d9-a8d8-ab5b-82eacdab9c5b",
"amount": "1.00",
"currency": "EUR",
"url": "https://pay.yabandpay.com/payments/callback/order/MTYwODk5ZjMtZjZkOS1hOGQ4LWFiNWItODJlYWNkYWI5YzVi",
"state": "processing"
},
"message": "",
"response_id": "202407111544200649155078"
}
更多信息:
返回结果:
若调用成功,则返回
"status": true
若调用失败,则返回
"status": fales
你需要跳转返回的url
。用户在此url
输入卡号信息并完成支付后,会同步跳转回redirect_url
。我们强烈建议同时使用订单查询和异步通知来同步和更新支付状态,以确保支付信息的实时准确性。 a) 如果订单状态state
为paid
,即支付成功; b) 如果订单状态state
为authorized
,即预授权成功。 预授权成功后如需要请款调用预授权请款接口。
返回代码:
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 |