跳到主要内容

概述

本文档详细描述了调用支付功能时所需的通用参数、业务参数的格式、规则和要求。仅适用于Klarna和其他本地支付场景,请在发起请求前仔细阅读。

调用流程

请求参数

通用参数(所有接口必传)

注意

这部分是所有接口都需要的公共参数,通常与身份认证、签名和账单基础信息相关。

参数名类型长度是否必填描述示例
accountstring6Oceanpayment账户号
terminalstring8-12Oceanpayment终端号
signValuestring64安全签名,用于验证交易的安全性,使用SHA256加密
keystring64有条件Oceanpayment公钥
backUrlstring1-500同步返回支付信息的网站URL地址
noticeUrlstring1-500服务器回调URL地址,用于交易结果推送及其他业务状态推送
methodsstring1-50支付方式
order_numberstring1-50网站订单号
order_currencystring3订单号的交易币种
order_amountstring1-10订单号的交易金额
  • 最大支持小数点后2位数,如:1.00
  • 如果交易金额为0,不需要发送交易

账单信息

参数名类型长度是否必填描述示例
billing_firstNamestring1-50消费者的名
  • 为了保证签名一致,需要过滤字符:首尾空格,双引号,小于号,大于号,单引号
billing_lastNamestring1-50消费者的姓
  • 为了保证签名一致,需要过滤字符:首尾空格,双引号,小于号,大于号,单引号
billing_emailstring1-50消费者的邮箱
  • 为了保证签名一致,需要过滤字符:首尾空格,双引号,小于号,大于号,单引号
billing_phonestring0-50消费者的电话
billing_countrystring1-100消费者的账单国家
billing_statestring1-100消费者的州(省、郡)
billing_citystring0-500消费者的城市
billing_addressstring0-500消费者的详细地址
billing_zipstring0-50消费者的邮编
billing_ipstring0-50有条件消费者的ip地址

产品信息

信息

产品信息为结汇合规要求,相关字段均为必传参数。

参数名类型长度是否必填描述示例
productNamestring1-500产品名称
  • 多个产品用英文,隔开
productNumstring1-50产品数量
  • 多个产品用英文,隔开
productSkustring1-500产品SKU
  • 多个产品用英文,隔开
productPricestring1-500产品单价
  • 多个产品用英文,隔开

收货信息

当网站没有收货信息时,可以用账单信息的值进行传值。

参数名类型长度是否必填描述示例
ship_firstNamestring1-50收货人的名
ship_lastNamestring1-50收货人的姓
ship_emailstring1-50收货人的邮箱
ship_phonestring0-50收货人的电话
ship_countrystring1-100收货人的账单国家
ship_statestring1-100收货人的州(省、郡)
ship_citystring0-500收货人的城市
ship_addrstring0-500收货人的详细地址
ship_zipstring0-50收货人的邮编

业务参数

按对接场景需求进行传参。

参数名类型长度是否必填描述示例
order_notesstring0-500订单备注信息,返回时则原样返回
pagesstring0-50支付页面终端
  • 0:PC端 (默认)
  • 1:移动端
logoUrlstring0-50用于显示在支付页面上的logo URL
languagestring0-50支付页面语言,不传值默认根据浏览器语言进行适配
cssUrlstring0-50在线CSS样式文件链接,用于重写支付页面的样式
  • 必须为https协议开头,
  • 覆盖Oceanpayment支付页面原有的样式,
  • 只支持托管结账嵌入式集成

附加参数(本地支付)

注意

在使用本地支付时,有的需要附加参数传值,请注意不同支付方式的传值要求。

参数名类型长度是否必填描述
pay_bankCodestring1-50有条件支持的银行代码
pay_countryCodestring1-50有条件支持的国家代码
pay_installmentsstring1-50有条件分期数
pay_cpfstring1-50有条件消费者的CPF,纳税人识别号
pay_accountNumberstring1-50有条件
  • ApplePay&GooglePay直连返回的Payment Token参数
  • 微信/支付宝面对面付款-商家扫码消费者支付授权码
    • 微信授权码格式要求:^1[0-6][0-9]16$
    • 支付宝授权码格式要求:^\d{16,24}$
  • 消费者账户号码

Klarna产品信息

注意

在使用 Klarna支付时,每个订单的总金额必须与明细金额严格一致,否则会导致支付失败。

参数名类型长度是否必填描述示例
itemListstring1-500产品节点信息
  • Json格式,最多只允许25个节点
{
  "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
string0-50
税费
travel_websiteLanguage
string0-50
网站语言
travel_ticketNumber
string1-200
机票号码
travel_adult
string1
成人数量
travel_child
string1
儿童数量
travel_infant
string1
婴儿数量
travel_electronicTicket
string1
是否为电子票
  • 1: True
  • 0: False
    +travel_customerInfoJson
    object-
    乘客节点信息(Json格式)

    QuickPay

    创建QuickPay ID

    Note

    当您在使用订阅场景,创建Quickpay ID时,此字段customer_id为必传。

    参数名类型长度是否必填描述示例
    customer_idstring1-50用户ID
    • 唯一值,商户用来区分不同用户
    NO123456

    发起扣款

    Note

    当您在使用订阅场景或快捷支付发起扣款时,此字段quickpay_id为必传。

    参数名类型长度是否必填描述示例
    quickpay_idstring1-200Oceanpayment生成的唯一的Quickpay ID
    • UUID格式
    c6db7a28-7639-4d24-b7c5-6cd222c3e0fc

    返回参数

    浏览器同步返回:

    • 每笔支付均以POST方式返回至交易传参的backUrl
    • 返回方式默认为POST,可修改为GET方式。
    参数名类型描述示例
    response_typestring回调类型
    • 0:浏览器返回
    • 1:服务器异步通知
    accountstring账户号
    terminalstring终端号
    signValuestring安全签名,用于验证交易的安全性,使用SHA256加密
    methodsstring支付方式
    order_numberstring网站订单号
    order_currencystring订单号的交易币种
    order_amountstring订单号的交易金额
    order_notesstring订单备注信息
    card_numberstring持卡人的信用卡卡号
    card_typestring卡种
    payment_countrystring消费者IP所在国家
    payment_idstring支付ID,Oceanpayment的支付唯一单号
    payment_statusstring该笔交易的结果状态
    • -1:待处理(预授权才会返回)
    • 0:支付失败
    • 1:支付成功
    payment_authTypestring该笔交易的类型
    • 0:该交易类型为‘Sale’一般交易
    • 1:该交易类型为‘预授权且非3D’交易
    • 2:该交易类型为‘3D且非预授权’交易
    • 3:该交易类型为‘3D且预授权’交易
    payment_detailsstring该笔交易的支付详情
    • 网站可以进行处理,在付款结果页面显示给消费者看
    payment_solutionsstring付款失败后的解决方法
    • 网站可以进行处理,在付款结果页面显示给消费者看
    payment_riskstring未通过的风控规则
    • 格式为:风控规则=分数;风控规则=分数;......
    pay_barCodestring订单打印码

    异步通知

    查看完整的Oceanpayment异步通知参数。