单笔直连支付
按交易操作选择参数
所有操作均须提供 trans_func、merchant_id、amount、merchant_order_no 和 currency;在此基础上按下表填写条件必填参数。已有客户模式也须遵守这些要求。
| trans_func | 操作 | 额外必填参数 |
|---|---|---|
| 1 | 创建 Token,不扣款 | card.card_number、card.expiration_month、card.expiration_year、card.security_code、first_name、last_name |
| 2 | Token 支付 | card_token、first_name、last_name |
| 3 | 卡号支付 | card.card_number、card.expiration_month、card.expiration_year、card.security_code、first_name、last_name |
| 4 | 创建收银台 | return_url |
| 5 | 银行账户支付 | bank_account.bsb、bank_account.account_no、bank_account.account_name;不得提供非空 card |
is3ds=1 时还须提供 return_url。process_date 仅适用于操作 2、3、5,须严格晚于业务时区的今天,且不得与 is3ds=1 同用。各字段的类型、长度及取值范围见请求参数。
支持创建支付 Token、Token 支付、卡号支付、收银台及银行账户支付。is3ds=1 时不能预约;仅当响应 data.html 非空时,才须展示该 HTML 引导客户完成验证。html 为空时请按响应状态处理,勿假定一定出现验证页面。trans_func=5 时不得提交非空 card。预约日期须严格晚于服务业务时区的当天。data.sign 为响应签名,示例签名按各支付场景的签名规则,使用公开演示密钥 bb_docs_demo_signing_key_2030 离线计算;3DS 待验证响应的 html 不参与签名计算。示例签名不能用于实际交易。支付失败时顶层 code=1,data 不包含交易详情。
扣款被拒绝或 3DS 验证失败时,顶层 code=1,data=[];错误原因见 message。此时不要按成功响应读取 data.status。
所有示例均为格式示例,客户、订单、卡及账户数据须替换为测试环境获准使用的数据。BASE_URL 为服务根域名,不附加 /api/v2;ACCESS_TOKEN 为 /oauth/token 返回的 access_token。日期示例为 2030 年,执行时请改为满足当前日期限制的实际日期。
授权
OAuth2 client_credentials 授权。access_token 到期后重新获取。
请求体
支付请求。客户标识均不传为无客户模式;同时传 customer_id 和 external_customer_id 时以 customer_id 为准。卡支付只支持 Visa/Mastercard/Amex。金额、姓名、卡号等字段要求仍适用于已有客户;预约只允许 2/3/5。
交易操作:1 建 Token(不扣款);2 Token 支付;3 卡号支付;4 创建收银台会话;5 银行账户支付。
1, 2, 3, 4, 5 业务标识,由 BillBuddy 分配。
1 - 20支付金额。 金额以主货币单位计,例如 10.50 表示 AUD 10.50,最多两位小数。接受数值或数字字符串,最小 0.01、最大 999999.99,两种类型遵守相同范围限制。
0.01 <= x <= 999999.99必须是以下数值的倍数 0.01商户订单号。同一商户范围内必须唯一;重复调用不会重新返回已有成功订单。
1 - 60货币代码,如 AUD。支付服务能否处理该币种还取决于商户渠道配置。
3信用卡信息。
Show child attributes
Show child attributes
BillBuddy 返回的支付 Token。有客户时 Token 必须属于该客户。 trans_func=2 时必填。
255名字。 trans_func 为 1/2/3 时必填。
50姓氏。 trans_func 为 1/2/3 时必填。
50邮箱。
100联系电话。
50地址。
100城市。
50州或省。
100邮编。
4国家两字母代码,如 AU。
2是否使用 3DS。0 不启用,1 启用,省略按 0 处理。银行账户支付不执行 3DS。 是否需要展示验证页面以响应 data.html 为准。
1, 0, null 3DS 验证或收银台完成后的返回地址。 is3ds=1 或 trans_func=4 时必填。请提交有效返回地址,长度限制见 Schema。
255BillBuddy 客户标识,须为当前商户及业务范围内的有效客户。
32商户系统的客户引用编号;未传 customer_id 时用于查询客户。同时传两个标识时以 customer_id 为准。
64是否允许本交易或订阅相关邮件通知。false 表示禁止,true 表示允许;省略或 null 时使用该业务的 API 邮件通知设置,默认关闭。实际发送受通知偏好和适用规则约束。 也兼容 0/1 和字符串 "0"/"1"。
是否允许本交易或订阅相关短信通知。false 表示禁止,true 表示允许;省略或 null 时使用该业务的 API 短信通知设置,默认关闭。实际发送受通知偏好和适用规则约束。 也兼容 0/1 和字符串 "0"/"1"。
银行账户信息。
Show child attributes
Show child attributes
预约处理日期,YYYY-MM-DD,必须严格晚于服务业务时区的当天;只支持 trans_func 2、3、5,且不能与 is3ds=1 一起使用。 建议使用 YYYY-MM-DD。 必须晚于服务业务时区的今天。