概述
本文档详细描述了调用支付功能时所需的通用参数、业务参数的格式、规则和要求。仅适用于Klarna和其他本地支付场景,请在发起请求前仔细阅读。
调用流程
请求参数
通用参数(所有接口必传)
注意
这部分是所有接口都需要的公共参数,通常与身份认证、签名和账单基础信息相关。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
account | string | 6 | 是 | Oceanpayment账户号 | |
terminal | string | 8-12 | 是 | Oceanpayment终端号 | |
signValue | string | 64 | 是 | 安全签名,用于验证交易的安全性,使用SHA256加密 | |
key | string | 64 | 有条件 | Oceanpayment公钥
| |
backUrl | string | 1-500 | 是 | 同步返回支付信息的网站URL地址 | |
noticeUrl | string | 1-500 | 否 | 服务器回调URL地址,用于交易结果推送及其他业务状态推送 | |
methods | string | 1-50 | 是 | 支付方式
| |
order_number | string | 1-50 | 是 | 网站订单号 | |
order_currency | string | 3 | 是 | 订单号的交易币种
| |
order_amount | string | 1-10 | 是 | 订单号的交易金额
|
账单信息
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
billing_firstName | string | 1-50 | 是 | 消费者的名
| |
billing_lastName | string | 1-50 | 是 | 消费者的姓
| |
billing_email | string | 1-50 | 是 | 消费者的邮箱
| |
billing_phone | string | 0-50 | 否 | 消费者的电话 | |
billing_country | string | 1-100 | 是 | 消费者的账单国家
| |
billing_state | string | 1-100 | 是 | 消费者的州(省、郡)
| |
billing_city | string | 0-500 | 否 | 消费者的城市 | |
billing_address | string | 0-500 | 否 | 消费者的详细地址 | |
billing_zip | string | 0-50 | 否 | 消费者的邮编 | |
billing_ip | string | 0-50 | 有条件 | 消费者的ip地址 |
产品信息
信息
产品信息为结汇合规要求,相关字段均为必传参数。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
productName | string | 1-500 | 是 | 产品名称
| |
productNum | string | 1-50 | 是 | 产品数量
| |
productSku | string | 1-500 | 是 | 产品SKU
| |
productPrice | string | 1-500 | 是 | 产品单价
|
收货信息
当网站没有收货信息时,可以用账单信息的值进行传值。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
ship_firstName | string | 1-50 | 否 | 收货人的名 | |
ship_lastName | string | 1-50 | 否 | 收货人的姓 | |
ship_email | string | 1-50 | 否 | 收货人的邮箱 | |
ship_phone | string | 0-50 | 否 | 收货人的电话 | |
ship_country | string | 1-100 | 否 | 收货人的账单国家
| |
ship_state | string | 1-100 | 否 | 收货人的州(省、郡)
| |
ship_city | string | 0-500 | 否 | 收货人的城市 | |
ship_addr | string | 0-500 | 否 | 收货人的详细地址 | |
ship_zip | string | 0-50 | 否 | 收货人的邮编 |
业务参数
按对接场景需求进行传参。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
order_notes | string | 0-500 | 否 | 订单备注信息,返回时则原样返回 | |
pages | string | 0-50 | 否 | 支付页面终端
| |
logoUrl | string | 0-50 | 否 | 用于显示在支付页面上的logo URL | |
language | string | 0-50 | 否 | 支付页面语言,不传值默认根据浏览器语言进行适配 | |
cssUrl | string | 0-50 | 否 | 在线CSS样式文件链接,用于重写支付页面的样式
|
附加参数(本地支付)
注意
在使用本地支付时,有的需要附加参数传值,请注意不同支付方式的传值要求。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 |
|---|---|---|---|---|
pay_bankCode | string | 1-50 | 有条件 | 支持的银行代码 |
pay_countryCode | string | 1-50 | 有条件 | 支持的国家代码 |
pay_installments | string | 1-50 | 有条件 | 分期数 |
pay_cpf | string | 1-50 | 有条件 | 消费者的CPF,纳税人识别号 |
pay_accountNumber | string | 1-50 | 有条件 |
|
Klarna产品信息
注意
在使用 Klarna支付时,每个订单的总金额必须与明细金额严格一致,否则会导致支付失败。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
itemList | string | 1-500 | 是 | 产品节点信息
| { "0": { "type": "1", "title": "book", "sku": "#001", "price": "100", "quantity": "1", "total_amount": "100.00", "taxRate": "0.01", "taxPrice": "1", "image_url": "https://www.example.com/a.jpg", "product_url": "https://www.example.com/a.html", "remark": "" }, "1": { "type": "3", "title": "discount", "sku": "#002", "price": "1", "quantity": "1", "total_amount": "1", "taxRate": "0.01", "taxPrice": "0.01", "image_url": "", "product_url": "", "remark": "" }, "2": { "type": "4", "title": "shipping_fee", "sku": "#002", "price": "1", "quantity": "1", "total_amount": "1", "taxRate": "0.01", "taxPrice": "0.01", "image_url": "", "product_url": "", "remark": "" }, "3": { "type": "5", "title": "sales_tax", "sku": "#002", "price": "1", "quantity": "1", "total_amount": "1", "taxRate": "1", "taxPrice": "1", "image_url": "", "product_url": "", "remark": "" } } |
订单总价由以下部分组成:
- 商品金额:每个商品单价 × 数量
- 税费:可针对商品、物流或订单全局的税额
- 物流费用:运费、快递费等
- 折扣:优惠券、满减、促销折扣等
订单总价 = 商品金额 + 税费 + 物流费用 - 折扣
航空参数
信息
只适用于航空支付场景。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
travel_totalTaxes | string | 0-50 | 否 | 税费 | |
travel_websiteLanguage | string | 0-50 | 否 | 网站语言 | |
travel_ticketNumber | string | 1-200 | 是 | 机票号码 | |
travel_adult | string | 1 | 是 | 成人数量 | |
travel_child | string | 1 | 是 | 儿童数量 | |
travel_infant | string | 1 | 是 | 婴儿数量 | |
travel_electronicTicket | string | 1 | 是 | 是否为电子票
| |
+travel_customerInfoJson | object | - | 是 | 乘客节点信息(Json格式) |
QuickPay
创建QuickPay ID
Note
当您在使用订阅场景,创建Quickpay ID时,此字段customer_id为必传。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
customer_id | string | 1-50 | 是 | 用户ID
| NO123456 |
发起扣款
Note
当您在使用订阅场景或快捷支付发起扣款时,此字段quickpay_id为必传。
| 参数名 | 类型 | 长度 | 是否必填 | 描述 | 示例 |
|---|---|---|---|---|---|
quickpay_id | string | 1-200 | 是 | Oceanpayment生成的唯一的Quickpay ID
| c6db7a28-7639-4d24-b7c5-6cd222c3e0fc |
返回参数
浏览器同步返回:
- 每笔支付均以POST方式返回至交易传参的
backUrl; - 返回方式默认为POST,可修改为GET方式。
| 参数名 | 类型 | 描述 | 示例 |
|---|---|---|---|
response_type | string | 回调类型
| |
account | string | 账户号 | |
terminal | string | 终端号 | |
signValue | string | 安全签名,用于验证交易的安全性,使用SHA256加密 | |
methods | string | 支付方式 | |
order_number | string | 网站订单号 | |
order_currency | string | 订单号的交易币种 | |
order_amount | string | 订单号的交易金额 | |
order_notes | string | 订单备注信息 | |
card_number | string | 持卡人的信用卡卡号 | |
card_type | string | 卡种 | |
payment_country | string | 消费者IP所在国家 | |
payment_id | string | 支付ID,Oceanpayment的支付唯一单号 | |
payment_status | string | 该笔交易的结果状态
| |
payment_authType | string | 该笔交易的类型
| |
payment_details | string | 该笔交易的支付详情
| |
payment_solutions | string | 付款失败后的解决方法
| |
payment_risk | string | 未通过的风控规则
| |
pay_barCode | string | 订单打印码 |
异步通知
查看完整的Oceanpayment异步通知参数。