NAV
Java Python Csharp Shell Http

onerway V3.0 对外接口文档 v1.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

欢迎阅读 onerway API 参考指南。

Base URLs:

签名

SHA256withRSA

Private Key:

MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDHaM7clWWlJNS6ZR5ZkxSFeMMFt74YGRmYPr67UHrfc4CzFtN9sctIUqZJVv05sfOgnb0rk1G7wx97/LqxPEGs5chc+Nq9HkNf5VopMifOQ85j1Sv1U031oEGk+Oi4MTAR4ZWlLKBQPyKVb5pCP8aIv15GTIiIwJKS17zY5mQUrXzASTDk54DCG9eN4Lgka9xzwRvaYZvmxLg732GxjI5TE797kA5gxY7GxZ0wxdkWkhcee6xX6WWhAcmdHPUUS0EPcnL5wcc3wP07vO+R/jO1XoaXczb6JRh6ApR3Y5VjSFQApqwe7AIgASGf8aSkBU4K95RfZ3QsBjof2SX/3fkfAgMBAAECggEAf5F3NPqGSj3jsVLbNaa4LCLzcIb5n2T/ULxjPGXiFW1I2kkyB2lkiOIG60gxO2WyXABNcsEOOrY7QBCQRq4rvbZKld/F39Kqe4C4Sz6A5J3QPWG0e39NkmNxW165Uox1GhtcpoyECpI5R6xb3SH7mqQCZaq0dffsTPCjKYdKY0bvKPZrC+o8CqadySVzM6cRytvS+ZBjc03eT5MRHH6if1mIIxg8qPnOa2x7iXkq0UibFETqX+1gKZcQ3L9uIaH68t1UJEhjU7BB6YY76kMfZ/IH48iglXKlpcGMfOA7ST5Y81Si5ltsFuyuQ2BprUQ7zF/CDSHGfOA5v/q/tkZxoQKBgQD2by9lTP9JkZ8MvKJvAVpMS+f4zx8eDUFNM/2FA095en7xL5qyx/dXJMF+n4wSa421JcGqeYWN46+hFbnA+7Gv9r8GWDdb9sOKDhITVj9Qwl8KGQZRQJvtPnTygQE5w7GvS+NL/Rnp19iHZJ4IwAgdp2yD64uOFq0SB3x22d+qBwKBgQDPJlZBvgyuTL3z6YNhB3Skc9JDNs/EFSxP8q+hQn5ltsQeROwKot2I66xe0JoEWRpDrjWD9TpbqOg9rmDtPFG7d4matZCsg6hodSSwx7NyJxkI6JGg+ISLylc9LJz/uBmj5u69KDGBIcWIEnktxumuEipLOTSxyaRLDo2CdV7SKQKBgCkaZGpeDFqF+mRSdjlTnW8KXhem3EbT6SdqW4e7BJ97af7qdMALEFstm0R2chOEcu9a69F2UWtYJawVhpUEph92ZWg2gI1LPFQjgqpNAWSD9vwlLmORBjDs8O6dy8mJtXJKkw/SmGbjhI8Yni9RcEkZ6sSaHf3GFHnkW8MrFd4zAoGARFLwwF5e8F5/iKPMoYREBLnu8Bx0CsixBO2W4Cl+Zy4RIaq58Agn6bFR+TP0mNqKvygGnq+TwAfGEhIiBh2PF7YlvNGGFmCWe12n7Gbx2QTsTPPolJ9jmHf0rki4v9+JFXZl6B4Jtf3dmTP+pAqnqLJ1ILqNltZbSiZSpmTwEYECgYB/2Zv8JZ4poDugvvWY8N5e71ptVYljVcddm+BJ+uGgMUofPqoBvz1/hFnjX80CtqzOcxcg6KM+v71gt9qGbe2+483/Axmrwea50UKLqRVH3IXzTOEJth0betqTmbefYFLETn5RXB6MOJQOdzpvvcP305FmtT/grqqcnaeLbosT4A==

Data:

{
  "key":"value",
  "key2":"value2",
  "key1":"value2"
}

Unsigned Data:

key=value&key1=value2&key2=value2

Sign:

RcqXuiVp1JpwJedRGzTpL8M5mUsfeHL29gV9ycaJwmDoNV21AiaQ41au2qiJ8h+jKn/KBMcrJAzHGBTO3CZ0ffGxmqNz9fKhZX+X1MTntH+MhtKTyKR4ZF8kbAtezdVgPfqT69NPQGbWo57R3KP0m4W4n2ZjgkxkcG3yYtBdAgsyxDNoT8W0wH7nK7Y0zp88O8wIMe7kfBnK59J4y0Xz2EwiFX+bNkfRhf3U5WiHIU2TdRbaYsnzndmOkYkVdFAiUH7zoXnEn8ZVqiDZkK4eFG9H1LxU55dStug1hLtwxOKlu5OYFUi4iGAiq0Vlir01eDR1++KAudOdb1gcUyH2rA==

过程

  1. 获取私钥(privateKey);
  2. 算法选择SHA256withRSA;
  3. 将待签名数据转换为UTF-8格式;
  4. 进行签名;
  5. Base64转码。

待签名数据

所有“签名”列为“Yes”且不为空的参数根据参数名称的ASCII码排序,然后以key=value&key1=value1...的方式连接key和value(最后一个参数不需要&)。

SHA256

The Key:

3b5e10b65bff4172a5b9ca2d2ec00a6e

Data:

{
  "merchantNo":"800135",
  "test":"dsaaass1dsag",
  "bizContent":"yesdas1dsa",
  "as":"12334567",
  "bc":"098754"
}

Unsigned Data:

12334567098754yesdas1dsa800135dsaaass1dsag3b5e10b65bff4172a5b9ca2d2ec00a6e

Sign:

0ce84cc90742e79b3af76da6b6909dc158a2e933057562639fe6a5a8e73f5350

过程

  1. 获取密钥;
  2. 将待签名数据和密钥以字符串的形式串联起来;
  3. 将上述字符串转换为UTF-8格式;
  4. 进行sha-256摘要;
  5. 将字节转换为十六进制。

待签名数据

所有“签名”列为“Yes”且不为空的参数根据参数名称的ASCII码排序,然后以vaule1vaule2vaule3...的方式将值拼接起来;

验签

SHA256withRSA

Public Key:

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2jO3JVlpSTUumUeWZMUhXjDBbe+GBkZmD6+u1B633OAsxbTfbHLSFKmSVb9ObHzoJ29K5NRu8Mfe/y6sTxBrOXIXPjavR5DX+VaKTInzkPOY9Ur9VNN9aBBpPjouDEwEeGVpSygUD8ilW+aQj/GiL9eRkyIiMCSkte82OZkFK18wEkw5OeAwhvXjeC4JGvcc8Eb2mGb5sS4O99hsYyOUxO/e5AOYMWOxsWdMMXZFpIXHnusV+lloQHJnRz1FEtBD3Jy+cHHN8D9O7zvkf4ztV6Gl3M2+iUYegKUd2OVY0hUAKasHuwCIAEhn/GkpAVOCveUX2d0LAY6H9kl/935HwIDAQAB

Data:

{
  "key":"value",
  "key2":"value2",
  "key1":"value2",
  "sign":"RcqXuiVp1JpwJedRGzTpL8M5mUsfeHL29gV9ycaJwmDoNV21AiaQ41au2qiJ8h+jKn/KBMcrJAzHGBTO3CZ0ffGxmqNz9fKhZX+X1MTntH+MhtKTyKR4ZF8kbAtezdVgPfqT69NPQGbWo57R3KP0m4W4n2ZjgkxkcG3yYtBdAgsyxDNoT8W0wH7nK7Y0zp88O8wIMe7kfBnK59J4y0Xz2EwiFX+bNkfRhf3U5WiHIU2TdRbaYsnzndmOkYkVdFAiUH7zoXnEn8ZVqiDZkK4eFG9H1LxU55dStug1hLtwxOKlu5OYFUi4iGAiq0Vlir01eDR1++KAudOdb1gcUyH2rA=="
}

Unsigned Data:

key=value&key1=value2&key2=value2

Verify Result:

true

过程

  1. 获取公钥(publicKey);
  2. 算法选择SHA256withRSA;
  3. 将待签名数据转换为UTF-8格式;
  4. 对签名字符串进行base64解码;
  5. 进行签名验证。

待签名数据

所有“签名”列为“Yes”且不为空的参数根据参数名称的ASCII码排序,然后以key=value&key1=value1...的方式连接key和value(最后一个参数不需要&)。

SHA256

The Key:

3b5e10b65bff4172a5b9ca2d2ec00a6e

Data:

{
  "merchantNo":"800135",
  "test":"dsaaass1dsag",
  "bizContent":"yesdas1dsa",
  "as":"12334567",
  "bc":"098754",
  "sign":"0ce84cc90742e79b3af76da6b6909dc158a2e933057562639fe6a5a8e73f5350"
}

Unsigned Data:

12334567098754yesdas1dsa800135dsaaass1dsag3b5e10b65bff4172a5b9ca2d2ec00a6e

Verify Result:

true

过程

  1. 获取密钥;
  2. 将待签名数据和密钥以字符串的形式串联起来;
  3. 将上述字符串转换为UTF-8格式;
  4. 进行sha-256摘要;
  5. 将字节转换为十六进制。
  6. 比对签名后的数据是否一致。

待签名数据

所有“签名”列为“Yes”且不为空的参数根据参数名称的ASCII码排序,然后以vaule1vaule2vaule3...的方式将值拼接起来;

收银台支付

收银台支付

POST /txn/payment

Example requests

{
  "billingInformation":"{\"country\":\"US\",\"email\":\"test@qq.com\"}",
  "merchantNo":"800037",
  "merchantTxnId":"1654675447527",
  "merchantTxnTime":"2022-03-08 16:04:07",
  "merchantTxnTimeZone":"+08:00",
  "orderAmount":"35",
  "orderCurrency":"USD",
  "productType":"CARD",
  "shippingInformation":"{\"country\":\"US\",\"email\":\"test@qq.com\"}",
  "subProductType":"DIRECT",
  "txnOrderMsg":"{\"appId\":\"1458672763818790912\",\"returnUrl\":\"http://v1-demo.test.com/\",\"products\":\"[{\\\"price\\\":\\\"110.00\\\",\\\"num\\\":\\\"1\\\",\\\"name\\\":\\\"iphone11\\\",\\\"currency\\\":\\\"USD\\\"}]\"}",
  "txnType":"SALE",
  "sign":"..."
}

请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
merchantTxnId String 64 Yes Yes 商户创建的商户交易订单号,不同的订单号视为不同的交易
merchantTxnTime String / No Yes 商户交易订单发生的时间。 格式为 yyyy-MM-dd HH:mm:ss
merchantTxnTimeZone String 64 No Yes 商户交易订单发生的时区。 例如:+08:00
productType String 16 Yes Yes 产品类型,请参阅 ProductTypeEnum
subProductType String 16 Yes Yes 子产品类型,请参阅 SubProductTypeEnum
txnType String 16 Yes Yes 交易类型,请参阅 TxnTypeEnum
orderAmount String 19 Yes Yes 交易订单金额
orderCurrency String 8 Yes Yes 交易订单的货币。 请参阅 ISO 4217 货币代码
subscription String / No Yes 订阅付款所需的订阅信息。 格式为 json 字符串。 请参阅对象 Subscription
mpiInfo String / No Yes mpi信息,3ds验证结果集,risk3dsStrategy为EXTERNAL时需要。 格式为 json 字符串。 请参阅对象 MpiInfo
txnOrderMsg String / No Yes 交易业务信息,除订阅复购外必填。 格式为 json 字符串。 请参阅对象 TxnOrderMsg
billingInformation String / No Yes 交易账单信息,除订阅复购外必填。 格式为 json 字符串。 请参阅对象 TransactionAddress
shippingInformation String / No Yes 交易邮寄信息,除订阅复购外必填。 格式为 json 字符串。 请参阅对象 TransactionAddress
lpmsInfo String / No Yes 本地支付方式信息,productType为LPMS时必填,格式为json字符串。 请参阅对象 LpmsInfo
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

TxnOrderMsg

名称 类型 长度 必填 签名 描述
returnUrl String 256 Yes No 商户的回跳地址
products String 1024 Yes No 产品信息列表。 格式为 json 字符串。 例如:[{"name":"iphone11","price":"5300.00","num":"2","currency":"CNY"}, {"name":"macBook","price":"1234.00","num":"1","currency":"USD"}]
appId String 20 Yes No 商户应用程序 ID。 商户注册网站时,OnerWay会为商户创建一个应用id

TransactionAddress

名称 类型 长度 必填 签名 描述
firstName String 64 No No
lastName String 64 No No
phone String 32 No No 电话号码
email String 256 Yes No 电子邮件
postalCode String 32 No No 邮政编码
address String 256 No No 地址
country String 64 Yes No 国家。 请参阅 ISO。 例如: 美国 is US
province String 64 No No 州。 当国家是美国 (US) 或加拿大 (CA) 时必填。 请参阅 ISO。 例如:美属萨摩亚 is AS
city String 64 No No 城市
street String 64 No No 街道
number String 64 No No 门牌号
identityNumber String 64 No No 证件号码
birthDate String 64 No No 出生日期,格式为 yyyy/MM/dd

Subscription

名称 类型 长度 必填 签名 描述
requestType String 1 Yes No 订阅请求类型。 枚举如下: 0 - 首购, 收银台仅支持首次购买。
merchantCustId String 50 No No 商户客户id,requestType为0时必填。
expireDate String 10 No No 过期日期,requestType为0时必填,格式为yyyy-MM-dd
frequencyType String 1 No No 订阅频率类型,requestType为0时必填。枚举如下:D - 天
frequencyPoint String 2 No No 订阅频率点数,requestType为0时必填。

MpiInfo

名称 类型 长度 必填 签名 描述
eci String 2 Yes No 责任转移
cavv String 128 Yes No 由发卡行创建
xid String 128 No No 3D-Secure v1版本Mpi交易id(与dsTransID任选其一填写)
dsTransID String 128 No No 3D-Secure v2版本Mpi交易id(与xid任选其一填写)

LpmsInfo

名称 类型 长度 必填 签名 描述
lpmsType String 64 Yes No 本地支付方式。 请参阅 LpmsTypeEnum
bankName String 128 No No 银行名称,某些本地支付方式需要
iBan String 64 No No 银行账户,部分地区转账时需要

Example responses

{
  "respCode":"20000",
  "respMsg":"Success",
  "data":{
    "transactionId":"1534446161027346432",
    "merchantTxnId":"1654675447527",
    "merchantNo":"800037",
    "responseTime":"",
    "txnTime":"",
    "orderAmount":"35.00",
    "orderCurrency":"USD",
    "txnAmount":"",
    "txnCurrency":null,
    "txnTimeZone":null,
    "status":"U",
    "reason":null,
    "redirectUrl":"https://test-v3-checkout.ronhan.com/checkout/67c32c03db894932a97c05f9d9068a64",
    "sign":"..."
  }
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data Map No 响应数据。 请参阅对象 TxnInfo

TxnInfo

名称 类型 签名 描述
transactionId String Yes Onerway创建的交易订单号,对应商户订单号
merchantNo String Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
merchantTxnId String Yes 商户创建的商户交易订单号,不同的订单号视为不同的交易
responseTime String Yes 接口响应时间,格式为yyyy-MM-dd HH:mm:ss
txnTime String Yes 交易完成时间,格式为yyyy-MM-dd HH:mm:ss
txnTimeZone String Yes 交易完成时区,例如:+08:00
orderAmount String Yes 交易订单金额
orderCurrency String Yes 交易订单币种。 请参阅 ISO 4217 货币代码
txnAmount String Yes 订单金额转换成结算币种后的金额
txnCurrency String Yes 结算币种。 请参阅 ISO 4217 货币代码
status String Yes 交易处理结果。 请参阅 TxnStatusEnum
reason String Yes 交易失败的原因
redirectUrl String Yes 当交易状态为U时,需要将商户重定向到这里才能打开收银页面(url需要经过URLDecoder解码)
sign String No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

两方接口支付

咨询支付方式

POST /v1/txn/consultPaymentMethod

Example requests

{
  "merchantNo": "800037",
  "appId":"1514185267394957312",
  "country":"PH",
  "orderAmount":"0.2",
  "orderCurrency":"USD",
  "sign": "..."
}

请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
appId String 20 Yes Yes 商户应用程序 ID。 商户注册网站时,OnerWay会为商户创建一个应用id
country String 64 Yes Yes 国家。 请参阅 ISO。 例如: 美国 is US
paymentMode String 16 No Yes 支付模式。 请参阅 PaymentModeEnum。默认为WEB
osType String 16 No Yes 操作系统类型。 请参阅 OsTypeEnum。paymentMode不是WEB时必填
orderAmount String 19 Yes Yes 交易订单金额
orderCurrency String 8 Yes Yes 交易订单币种。 请参阅 ISO 4217 货币代码
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Example responses

{
  "respCode":"20000",
  "respMsg":"Success",
  "data":[
    {
      "productType":"CARD",
      "paymentMethod":"AE",
      "paymentMethodDetail":null
    },
    {
      "productType":"CARD",
      "paymentMethod":"MASTERCARD",
      "paymentMethodDetail":null
    },
    {
      "productType":"CARD",
      "paymentMethod":"VISA",
      "paymentMethodDetail":null
    },
    {
      "productType":"LPMS",
      "paymentMethod":"Alipay+",
      "paymentMethodDetail":{
        "paymentMethodName":"Alipay+",
        "logos":[
          {
            "logoName": "AlipayPlus",
            "logoUrl": "https://cdn.marmot-cloud.com/storage/aplus-checkout-prod/icon/prod/CONNECT_WALLET.png",
            "logoPattern": "default",
            "logoWidth": "810",
            "logoHeight": "190"
          }
        ],
        "promoNames": [
          "{\"en_US\":\"RM1 Voucher\", \"zh_CN\":\"1 元 红包\"}"
        ]
      }
    }
  ]
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data List No 响应数据。请参阅对象 PaymentMethod

PaymentMethod

名称 类型 签名 描述
productType String No 产品类型,请参阅 ProductTypeEnum
paymentMethod String No 具体支付方式,包括卡和本地支付类型
paymentMethodDetail Map No 支付方式详情。请参阅对象 PaymentMethodDetail

PaymentMethodDetail

名称 类型 签名 描述
paymentMethodName String No 支付方式品牌名称
logos List No 付款方式图标信息。 请参阅对象 Logo
promoNames List No 促销信息列表。 key是语言,例如 en_US,而value是促销名称,例如 RM1 Voucher。 格式为 json 字符串。
常用的语言包括:
zh_CN: 简体中文
zh_HK: 繁体中文
en_US: 英语
ko_KR: 韩语
fil_PH: 菲律宾语
ms_MY: 马来语
id_ID: 印度尼西亚语
th_TH: 泰语

Logo

名称 类型 签名 描述
logoName String No 图标名称
logoUrl String No 图标链接
logoPattern String No 图标模式。 该参数对应商户指定的图标名称
logoWidth String No 图标宽度。 单位:px
logoHeight String No 图标高度。 单位:px

两方接口支付

POST /v1/txn/doTransaction

Example requests

{
  "merchantNo": "800037",
  "merchantTxnId": "1640229747000",
  "merchantTxnTime": "2021-12-22 15:30:30",
  "merchantTxnTimeZone": "+08:00",
  "productType": "CARD",
  "subProductType": "DIRECT",
  "txnType": "SALE",
  "orderAmount": "20",
  "orderCurrency": "USD",
  "txnOrderMsg": "{\"returnUrl\":\"https://www.ronhan.com/\",\"products\":\"test\",\"transactionIp\":\"127.0.0.1\",\"appId\":1458672763818790912,\"javaEnabled\":false,\"colorDepth\":\"24\",\"screenHeight\":\"1080\",\"screenWidth\":\"1920\",\"timeZoneOffset\":\"-480\",\"accept\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36\",\"contentLength\":\"340\",\"language\":\"zh-CN\"}",
  "cardInfo": "{\"cardNumber\":\"4000027891380961\",\"cvv\":\"789\",\"month\":\"12\",\"year\":\"2022\",\"holderName\":\"test sandbox\"}",
  "shippingInformation": "{\"firstName\":\"ShippingFirstName\",\"lastName\":\"ShippingLastName\",\"phone\":\"188888888888\",\"email\":\"shipping@test.com\",\"postalCode\":\"888888\",\"address\":\"ShippingAddress\",\"country\":\"CN\",\"province\":\"SH\",\"city\":\"SH\",\"street\":\"lujiazui\",\"number\":\"1\",\"identityNumber\":\"110000\"}",
  "billingInformation": "{\"firstName\":\"billingFirstName\",\"lastName\":\"billingLastName\",\"phone\":\"18600000000\",\"email\":\"billing@test.com\",\"postalCode\":\"430000\",\"address\":\"BillingAddress\",\"country\":\"CN\",\"province\":\"HK\",\"city\":\"HK\",\"street\":\"jianshazui\",\"number\":\"2\",\"identityNumber\":\"220000\"}",
  "sign": "..."
}

请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
merchantTxnId String 64 Yes Yes 商户创建的商户交易订单号,不同的订单号视为不同的交易
merchantTxnTime String / No Yes 商户交易订单发生的时间。 格式为 yyyy-MM-dd HH:mm:ss
merchantTxnTimeZone String 64 No Yes 商户交易订单发生的时区。 例如:+08:00
productType String 16 Yes Yes 产品类型,请参阅 ProductTypeEnum
subProductType String 16 Yes Yes 子产品类型,请参阅 SubProductTypeEnum
txnType String 16 Yes Yes 交易类型,请参阅 TxnTypeEnum
paymentMode String 16 No Yes 支付模式。 请参阅 PaymentModeEnum。默认为WEB
osType String 16 No Yes 操作系统类型。 请参阅 OsTypeEnum。paymentMode不是WEB时必填
orderAmount String 19 Yes Yes 交易订单金额
orderCurrency String 8 Yes Yes 交易订单的货币。 请参阅 ISO 4217 货币代码
originTransactionId String 20 No Yes 来源于Onerway的原始交易订单号,常用于退款等反向交易时通过此ID查找对应的交易订单号
risk3dsStrategy String 16 No Yes 3ds风险控制策略。 请参阅 Risk3dsStrategyEnum
subscription String / No Yes 订阅付款所需的订阅信息。 格式为 json 字符串。 请参阅对象 Subscription
mpiInfo String / No Yes mpi信息,3ds验证结果集,risk3dsStrategy为EXTERNAL时需要。 格式为 json 字符串。 请参阅对象 MpiInfo
txnOrderMsg String / No Yes 交易业务信息,除订阅复购外必填。 格式为 json 字符串。 请参阅对象 TxnOrderMsg
cardInfo String / No Yes 交易卡信息,productType为CARD时,除订阅复购外必填。 格式为 json 字符串。 请参阅对象 TxnCardInfo
billingInformation String / No Yes 交易账单信息,除订阅复购外必填。 格式为 json 字符串。 请参阅对象 TransactionAddress
shippingInformation String / No Yes 交易邮寄信息,除订阅复购外必填。 格式为 json 字符串。 请参阅对象 TransactionAddress
lpmsInfo String / No Yes 本地支付方式信息,productType为LPMS时必填,格式为json字符串。 请参阅对象 LpmsInfo
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

TxnOrderMsg

名称 类型 长度 必填 签名 描述
returnUrl String 256 Yes No 商户的回跳地址
products String 1024 Yes No 产品信息列表。 格式为 json 字符串。 例如:[{"name":"iphone11","price":"5300.00","num":"2","currency":"CNY"}, {"name":"macBook","price":"1234.00","num":"1","currency":"USD"}]
transactionIp String 64 Yes No 持卡人交易IP
appId String 20 Yes No 商户应用程序 ID。 商户注册网站时,OnerWay会为商户创建一个应用id
javaEnabled Boolean / No No 持卡人浏览器是否开启java
colorDepth String 64 No No 持卡人屏幕色深
screenHeight String 64 No No 持卡人的屏幕分辨率
screenWidth String 64 No No 持卡人的屏幕分辨率
timeZoneOffset String 64 No No 持卡人浏览器的时区
accept String 2048 No No 持卡人浏览器的 Accept 请求头
userAgent String 2048 No No 持卡人的浏览器类型
contentLength String 64 No No 持卡人浏览器内容长度头部以外的内容长度
language String 64 No No 持卡人浏览器的语言
periodValue String / No No 分期付款期数。 当 subProductType 为 INSTALLMENT 时必填。

TxnCardInfo

名称 类型 长度 必填 签名 描述
holderName String 64 Yes No 持卡人姓名
cardNumber String 128 Yes No 持卡人的卡号
month String 64 Yes No 卡号月份,例如:03
year String 64 Yes No 卡号年份,例如: 2021
cvv String 64 Yes No 卡号cvv

TransactionAddress

名称 类型 长度 必填 签名 描述
firstName String 64 No No
lastName String 64 No No
phone String 32 No No 电话号码
email String 256 Yes No 电子邮件
postalCode String 32 No No 邮政编码
address String 256 No No 地址
country String 64 Yes No 国家。 请参考 ISO。 例如: 美国 is US
province String 64 No No 州。 当国家是美国 (US) 或加拿大 (CA) 时必填。 请参考 ISO。 例如:美属萨摩亚 is AS
city String 64 No No 城市
street String 64 No No 街道
number String 64 No No 门牌号
identityNumber String 64 No No 证件号码
birthDate String 64 No No 出生日期,格式为 yyyy/MM/dd

Subscription

名称 类型 长度 必填 签名 描述
requestType String 1 Yes No 订阅请求类型。 枚举如下:0 - 首购 1 - 复购
merchantCustId String 50 No No 商户客户id,requestType为0时必填。
expireDate String 10 No No 过期日期,requestType为0时必填,格式为yyyy-MM-dd
frequencyType String 1 No No 订阅频率类型,requestType为0时必填。枚举如下:D - 天
frequencyPoint String 2 No No 订阅频率点数,requestType为0时必填。
contractId String 20 No No 订阅合同id,requestType为1时必填。
tokenId String 300 No No 订阅令牌id,requestType为1时必填。

MpiInfo

名称 类型 长度 必填 签名 描述
eci String 2 Yes No 责任转移
cavv String 128 Yes No 由发卡行创建
xid String 128 No No 3D-Secure v1版本Mpi交易id(与dsTransID任选其一填写)
dsTransID String 128 No No 3D-Secure v2版本Mpi交易id(与xid任选其一填写)

LpmsInfo

名称 类型 长度 必填 签名 描述
lpmsType String 64 Yes No 本地支付方式。 请参阅 LpmsTypeEnum
bankName String 128 No No 银行名称,某些本地支付方式需要
iBan String 64 No No 银行账户,部分地区转账时需要

Example responses

{
  "respCode": "20000",
  "respMsg": "Success",
  "data": {
    "transactionId": "1473856517125345280",
    "responseTime": "2021-12-23 11:22:31",
    "txnTime": "2021-12-23 11:22:31",
    "txnTimeZone": "+08:00",
    "orderAmount": "20.00",
    "orderCurrency": "USD",
    "txnAmount": "20.00",
    "txnCurrency": "USD",
    "status": "S",
    "redirectUrl": null,
    "periodValue": null,
    "contractId": null,
    "tokenId": null,
    "eci": null,
    "sign": "..."
  }
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data Map No 响应数据。 请参阅对象 TxnInfo

TxnInfo

名称 类型 签名 描述
transactionId String Yes Onerway创建的交易订单号,对应商户订单号
responseTime String Yes 接口响应时间,格式为yyyy-MM-dd HH:mm:ss
txnTime String Yes 交易完成时间,格式为yyyy-MM-dd HH:mm:ss
txnTimeZone String Yes 交易完成时区,例如:+08:00
orderAmount String Yes 交易订单金额
orderCurrency String Yes 交易订单币种。 请参阅 ISO 4217 货币代码
txnAmount String Yes 订单金额转换成结算币种后的金额
txnCurrency String Yes 结算币种。 请参阅 ISO 4217 货币代码
status String Yes 交易处理结果。 请参阅 TxnStatusEnum
redirectUrl String Yes 当交易状态为R时,商户需要重定向到该URL完成部分交易,包括3ds验证、本地支付收银等
periodValue String No 分期付款期数
contractId String Yes 订阅合同id,首购时返回
tokenId String Yes 订阅令牌id ,首购时返回
eci String Yes 责任转移
sign String No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

海关申报

海关申报

POST /v1/txn/declareCustoms

Example requests

{
  "merchantNo":"800058",
  "originTxnId":"1524994590991003648",
  "isUpdate":false,
  "merCustomsNo":"hanguo",
  "merCustomsName":"jwyhanguo_card",
  "customs":"NINGBO",
  "isSplit":false,
  "subOrderNo":"",
  "productAmount":"10",
  "transportAmount":"0",
  "amount":"18.29",
  "currency":"CNY",
  "buyer":"{\"certType\":\"ID_CARD\",\"idNo\":\"230227198707200000\",\"name\":\"TEST\"}",
  "sign":"..."
}

请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
originTxnId String 20 Yes Yes 需要申报的来自Onerway的交易订单号。
isUpdate Boolean / Yes Yes 商户可以决定是否更新报关信息。 该字段的值为true表示更新,false表示新增。
merCustomsNo String 128 Yes Yes 在海关系统中注册的商户代码。
merCustomsName String 256 Yes Yes 在海关系统中注册的商户名称。
customs String 64 Yes Yes 海关编码。 请参阅 CustomsCodeEnum
amount String 19 Yes Yes 要申报的金额。
currency String 8 Yes Yes 申报金额的币种。 请参阅 ISO 4217 货币代码。 目前只支持CNY
buyer String / Yes Yes 买家信息。 格式为 json 字符串。 请参阅对象 Buyer
isSplit Boolean / Yes Yes 商户可以决定是否拆分订单进行申报。 如果该字段的值为true,则表示拆单处理。
subOrderNo String 64 No Yes 商家分配的用于识别订单的唯一ID。 当isSplit为true时,该字段为必填项,作为向海关申报的订单ID。
productAmount String 19 No Yes 产品的数量。 当isSplit为true时,此字段为必填项
transportAmount String 19 No Yes 物流费用金额。 当isSplit为true时,此字段为必填项
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Buyer

名称 类型 长度 必填 签名 描述
certType String 64 Yes No 证件类型。 请参阅 CredentialsTypeEnum。 目前只支持ID_CARD
idNo String 64 Yes No 证件号码
name String 64 Yes No 买家全名

Example responses

{
  "respCode": "20000",
  "respMsg": "Success",
  "data": {
    "declareCustomsId": "1524997122043752448",
    "sign": "..."
  }
}


响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data Map No 响应数据。 请参阅对象 DeclareCustoms

DeclareCustoms

名称 类型 签名 描述
declareCustomsId String Yes Onerway创建的报关单号。 该字段可用于查询报关结果
sign String No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

取消交易

申请取消交易

POST /v1/txn/cancelTxn

Example requests

{
  "merchantNo": "800058",
  "originTransactionId": "1484408335541923840",
  "sign": "..."
}

请求参数

名称 类型 长度 必填 签名 描述
originTransactionId String 20 Yes Yes 来源于Onerway的原始交易订单号,常用于反向交易时通过此ID查找对应的交易订单号
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Example responses

{
  "respCode": "20000",
  "respMsg": "Success",
  "data": {
    "transactionId": "1484409612279672832",
    "status": "I"
  }
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data Map No 响应数据。 请参阅对象 TxnCancelInfo

TxnCancelInfo

名称 类型 签名 描述
transactionId String No 申请取消的交易订单号
status String No 申请取消的交易订单状态。 请参阅 TxnStatusEnum

取消订阅合同

POST /v1/txn/sub/cancel

Example requests

{
  "merchantNo": "800037",
  "contractId": "1473942457062490112",
  "sign": "..."
}

请求参数

名称 类型 长度 必填 签名 描述
contractId String 20 Yes Yes 订阅合同id
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Example responses

{
  "respCode": "20000",
  "respMsg": "Success",
  "data": "3"
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data String No 合同状态. 请参阅 ContractStatusEnum

退款

申请退款

POST /v1/txn/onlineRefund

Example requests

{
  "merchantNo": "800037",
  "refundType": "0",
  "merchantTxnId": "1640241780000",
  "originTransactionId":"1473906683882672128",
  "refundAmount": "20",
  "sign": "..."
}

请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
refundType String 1 Yes Yes 交易退款类型,枚举如下:0 - 申请退款 1 - 取消退款申请
merchantTxnId String 64 No Yes 商户创建的商户退款交易订单号,不同的订单号视为不同的交易
originTransactionId String 20 Yes Yes 来自 Onerway 的原始交易订单号。 当refundType为0时为传原交易订单号,当refundType为1时传原退款交易订单号。
refundAmount String 19 Yes Yes 退款交易金额,该金额的币种应与原交易时发送的订单币种对应
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Example responses

{
  "respCode": "20000",
  "respMsg": "Success",
  "data": "1473906993397141504"
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
transactionId String No Onerway创建的退款交易订单号,申请退款时才会返回

交易查询

查询交易订单

POST /v1/txn/list

Example requests

{
  "merchantNo": "800037",
  "merchantTxnIds": "1640244407000,1640244473000",
  "transactionIds": "",
  "txnTypes": "",
  "startTime": "",
  "endTime": "",
  "current": "1",
  "sign": "..."
}

请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
merchantTxnIds String / No Yes 商户交易订单号,可以是多个,以逗号分隔,例如:“554815,684541”
transactionIds String / No Yes Onerway交易订单号,可以是多个,以逗号分隔
txnTypes String / No Yes 交易类型,可以是多个,用逗号分隔
startTime String / No Yes 交易开始时间,格式为yyyy-MM-dd HH:mm:ss
endTime String / No Yes 交易结束时间,格式为yyyy-MM-dd HH:mm:ss。 最长间隔为 90 天。
current String / Yes Yes 查询的当前页码
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Example responses

{
  "respCode": "20000",
  "respMsg": "Success",
  "data": {
    "content": [
      {
        "transactionId": "1473918047031586816",
        "merchantTxnId": "1640244407000",
        "txnTime": "2021-12-23 15:27:01",
        "originTransactionId": null,
        "productType": "CARD",
        "subProductType": "DIRECT",
        "txnType": "0006",
        "status": "S",
        "cardType": "VISA",
        "orderAmount": "20.00",
        "orderCurrency": "USD",
        "txnAmount": "20.00",
        "txnCurrency": "USD",
        "arn": null,
        "appId": "1458672763818790912",
        "website": "800037.sc.com",
        "cardBinCountry": "US",
        "cardNumber": "400002******0961",
        "reason": null
      },
      {
        "transactionId": "1473918280901783552",
        "merchantTxnId": "1640244473000",
        "txnTime": "2021-12-23 15:27:56",
        "originTransactionId": null,
        "productType": "CARD",
        "subProductType": "DIRECT",
        "txnType": "0006",
        "status": "S",
        "cardType": "VISA",
        "orderAmount": "20.00",
        "orderCurrency": "USD",
        "txnAmount": "20.00",
        "txnCurrency": "USD",
        "arn": null,
        "appId": "1458672763818790912",
        "website": "800037.sc.com",
        "cardBinCountry": "US",
        "cardNumber": "400002******0961",
        "reason": null
      }
    ],
    "current": "1",
    "size": "10",
    "totalPages": "1",
    "totalElements": "2"
  }
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data Map No 响应数据。 请参阅对象 Page

Page

名称 类型 签名 描述
content List No 交易信息列表,请参阅对象 TxnInfo
current String No 当前页码
size String No 当前页大小
totalPages String No 总页数
totalElements String No 总条数

TxnInfo

名称 类型 签名 描述
transactionId String No Onerway创建的交易订单号,对应商户订单号
merchantTxnId String No 商户创建的商户交易订单号,不同的订单号视为不同的交易
txnTime String No 交易完成时间
originTransactionId String No 来自 Onerway 的原交易订单号。
productType String No 产品类型,请参阅 ProductTypeEnum
subProductType String No 子产品类型,请参阅 SubProductTypeEnum
txnType String No 交易类型,请参阅 TxnTypeEnum
status String No 交易处理结果。 请参阅 TxnStatusEnum
reason String No 交易失败原因
paymentMethod String No 具体支付方式,包括卡和本地支付类型
walletTypeName String No 钱包的品牌名称
orderAmount String No 交易订单金额
orderCurrency String No 交易订单币种。 请参阅 ISO 4217 货币代码
txnAmount String No 订单金额转换成结算币种后的金额
txnCurrency String No 结算币种。 请参阅 ISO 4217 货币代码
customsDeclarationAmount String No 可报关金额
customsDeclarationCurrency String No 可用于报关的金额对应币种。 请参阅 ISO 4217 货币代码
arn String No ARN
appId String No 商户应用程序 ID。 商户注册网站时,OnerWay会为商户创建一个应用id
website String No 交易网站
cardBinCountry String No 卡bin所属国家
cardNumber String No 交易卡号

查询拒付单

POST /v1/chargeback/list

Example requests

{
  "chargebackIds":"",
  "current":"1",
  "importTimeEnd":"",
  "importTimeStart":"",
  "merchantNo":"800037",
  "merchantTxnIds":"",
  "originTransactionIds":"1535176982304575488",
  "sign":"…"
}

请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
merchantTxnIds String / No Yes 商户交易订单号,可以是多个,以逗号分隔,例如:“554815,684541”
originTransactionIds String / No Yes 来自Onerway的原交易订单号,可以是多个,以逗号分隔
chargebackIds String / No Yes 来自Onerway的拒付交易单号,可以是多个,以逗号分隔
importTimeStart String / No Yes 拒付单导入onerway的开始时间,格式为yyyy-MM-dd HH:mm:ss
importTimeEnd String / No Yes 拒付单导入onerway的结束时间,格式为yyyy-MM-dd HH:mm:ss。 最长间隔为 90 天。
current String / Yes Yes 查询的当前页码
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Example responses

{
  "respCode":"20000",
  "respMsg":"Success",
  "data":{
    "content":[
      {
        "merchantNo":"800037",
        "chargebackId":"1535178069061324800",
        "importTime":"2022-06-10 16:32:29",
        "merchantTxnId":"1654849689044",
        "originTransactionId":"1535176982304575488",
        "txnAmount":"30.90",
        "txnCurrency":"EUR",
        "txnTime":"2022-06-10 16:28:10",
        "paymentMethod":"VISA",
        "chargebackAmount":"1.00",
        "chargebackCurrency":"USD",
        "chargebackDate":"2022-06-10",
        "chargebackReason":"chargeback occurs",
        "chargebackArn":"123",
        "disputeDueDate":"2022-09-10",
        "chargebackStatus":"NEW"
      }
    ],
    "current":"1",
    "size":10,
    "totalPages":1,
    "totalElements":1
  }
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data Map No 响应数据。 请参阅对象 Page

Page

名称 类型 签名 描述
content List No 交易信息列表,请参阅对象 ChargebackInfo
current String No 当前页码
size String No 当前页大小
totalPages String No 总页数
totalElements String No 总条数

ChargebackInfo

名称 类型 签名 描述
merchantNo String No 商户号。 商户注册时,OnerWay会为商户创建商户号
merchantTxnId String No 商户创建的商户交易订单号,不同的订单号视为不同的交易
originTransactionId String No 来自 Onerway 的原交易订单号。
txnAmount String No 以结算币种计的原交易金额
txnCurrency String No 原交易结算币种。 请参阅 ISO 4217 货币代码
txnTime String No 原交易完成时间
paymentMethod String No 具体支付方式,包括卡和本地支付类型
chargebackId String No Onerway创建的拒付交易订单号
importTime String No 将拒付交易导入 onerway 的时间
chargebackAmount String No 发生的拒付金额
chargebackCurrency String No 拒付金额的币种。 请参阅 ISO 4217 货币代码
chargebackDate String No 拒付发生的日期
chargebackStatus String No 拒付交易状态。 请参阅 ChargebackStatusEnum
chargebackReason String No 拒付原因
chargebackArn String No ARN
disputeDueDate String No 申诉信息提交的截止日期

查询报关结果

POST /v1/txn/getCustomsResult

Example requests

{
  "declareCustomsId":"1524997122043752448",
  "merchantNo":"800058",
  "sign":"..."
}

请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
declareCustomsId String 20 Yes Yes 商户发出报关请求时,Onerway创建的报关单号
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Example responses

{
  "respCode": "20000",
  "respMsg": "Success",
  "data": {
    "declareCustomsId": "1524997122043752448",
    "updateTime": "2022-05-13 14:20:40",
    "status": "S",
    "reason": null,
    "verifyDepartment": "CUP",
    "verifyDepartmentTxnId": "202108120000000808000000",
    "actualAmount": "18.29",
    "payCode": "31222699S7",
    "subOrderNo": null,
    "sign": "..."
  }
}

响应参数

名称 类型 签名 描述
respCode String No 来自 Onerway 的响应码
respMsg String No 来自 Onerway 的响应信息
data Map No 响应数据。 请参阅对象 CustomsResult

CustomsResult

名称 类型 签名 描述
declareCustomsId String Yes 商户发出报关请求时,Onerway创建的报关单号
updateTime String Yes 报关完成时间,格式为yyyy-MM-dd HH:mm:ss
status String Yes 报关处理结果。 请参阅 TxnStatusEnum
reason String Yes 报关失败原因
verifyDepartment String Yes 清算组织。 请参阅 VerifyDepartmentEnum
verifyDepartmentTxnId String Yes 清算组织的清算序列号。 可由中国人民银行委托的机构进行验证。
actualAmount String Yes 实际报关金额。 币种为人民币。
payCode String Yes 钱包在海关系统中的注册ID。
subOrderNo String Yes 商家分配的用于识别订单的唯一ID。
sign String No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

通知

通知

通知url由商户在注册时提供,商户需要根据以下参数开发并响应接收通知。 请将 v1/txn/notifyResult 添加到 notify url 的 URI 部分中。

POST {notifyUrl}

Example requests

{
  "notifyType": "TXN",
  "transactionId": "1530009844336164864",
  "txnType": "SALE",
  "merchantNo": "800067",
  "merchantTxnId": "T205271653617741988",
  "responseTime": "2022-05-27 10:15:51",
  "txnTime": "2022-05-27 10:15:47",
  "txnTimeZone": "+08:00",
  "orderAmount": "5.00",
  "orderCurrency": "USD",
  "txnAmount": "5.00",
  "txnCurrency": "USD",
  "customsDeclarationAmount": null,
  "customsDeclarationCurrency": null,
  "status": "S",
  "contractId": null,
  "tokenId": null,
  "eci": null,
  "reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
  "sign": "..."
}

请求参数

名称 类型 长度 签名 描述
notifyType String / Yes 通知类型。 请参阅 NotifyTypeEnum
txnType String / Yes 交易类型,请参阅 TxnTypeEnum. 当 notifyType 为 TXN 时返回
transactionId String 20 Yes Onerway创建的交易订单号,对应商户订单号
merchantNo String 20 Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
merchantTxnId String 64 Yes 商户创建的商户交易订单号,不同的订单号视为不同的交易
responseTime String / Yes 接口响应时间,格式为yyyy-MM-dd HH:mm:ss
txnTime String / Yes 交易完成时间,格式为yyyy-MM-dd HH:mm:ss
txnTimeZone String / Yes 交易完成时区,例如:+08:00
orderAmount String 19 Yes 交易订单金额
orderCurrency String 8 Yes 交易订单的货币。 请参阅 ISO 4217 货币代码
txnAmount String 19 Yes 订单金额转换成结算币种后的金额
txnCurrency String 8 Yes 结算币种。 请参阅 ISO 4217 货币代码
customsDeclarationAmount String 19 No 可报关金额
customsDeclarationCurrency String 8 No 可用于报关的金额对应币种。 请参阅 ISO 4217 货币代码
paymentMethod String 64 No 具体支付方式,包括卡和本地支付类型
walletTypeName String 128 No 钱包的品牌名称
status String 1 Yes 交易处理结果。 枚举如下: S - 交易成功/取消交易成功 F - 交易失败/审批不通过/取消交易失败
reason String 512 Yes 交易失败的原因
periodValue String / No 分期付款期数
contractId String 20 Yes 订阅合同id,首购时返回
tokenId String 300 Yes 订阅令牌id,首购时返回
eci String 2 Yes 责任转移
sign String / No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

Example responses

{
  "transactionId": "1530009844336164864"
}

响应参数

名称 类型 签名 描述
transactionId String No Onerway创建的交易订单号,对应商户订单号

文件下载

下载结算文件

GET /v1/settlementFile/download

header请求参数

名称 类型 长度 必填 签名 描述
merchantNo String 20 Yes Yes 商户号。 商户注册时,OnerWay会为商户创建商户号
date String 8 Yes Yes 结算日期,格式为yyyyMMdd
currency String 8 Yes Yes 结算币种。 请参阅 ISO 4217 货币代码
sign String / Yes No 签名字符串。 需要签名的字段范围是“签名”列为“Yes”且不为空的参数

文件内容说明

结算批次

名称 描述
Settlement Date 按结算周期计算的结算日期
Settlement Currency 给商户结算的币种
Transaction Amount 以结算币种计的交易金额
Refund Amount 发生退款交易且退款成功的金额
Transaction Processing Fee 支付交易收取的处理费
Refund Processing Fee 退款交易收取的处理费
Fee 支付交易收取的手续费
Interchange Fee 仅在 IC++ 模式下有
Scheme Fee 仅在 IC++ 模式下有
Markup 仅在 IC++ 模式下有
Deposit Release 返还的保证金金额
Deposit 保证金金额,到期返还
Settlement Amount 结算金额,即交易金额和手续费轧差后净额

结算明细

名称 描述
Settlement Date 按结算周期计算的结算日期
Settlement Batch ID 结算批次号,一个结算批次只会有一个批次号
Transaction ID 交易订单号
Merchant Order ID 商户交易订单号
Production Type 产品类型
Card Type 卡类型或本地支付方式
APP ID 商户应用程序 ID。 商户注册网站时,OnerWay会为商户创建一个应用id
Transaction URL 商户交易网站
Order_Currency 交易订单币种
Order Amount 交易订单金额
Transaction Type /
Transaction Status /
Settlement Currency 给商户结算的币种
Transaction Amount 以结算币种计的交易金额
Processing Fee 处理费
Fee 手续费
Interchange Fee 仅在 IC++ 模式下有
Scheme Fee 仅在 IC++ 模式下有
Markup 仅在 IC++ 模式下有
Deposit 保证金金额,到期返还
Settlement Amount 每笔交易的结算金额,即交易金额和手续费轧差后净额
Settlement Status 结算状态,结算成功/结算失败

交易类型

代码 描述
SALE 支付交易
REFUND 退款交易
CB 拒付交易
CB_CANCEL 拒付撤销交易
CB_VOID 拒付作废
CB_APPEAL 拒付第一次申诉
CB_APPEAL_SUCCESS 拒付第一次申诉成功
CB_APPEAL_SECOND 拒付第二次申诉
CB_APPEAL_SECOND_SUCCESS 拒付第二次申诉成功
CB_APPEAL_SECOND_FAILURE 拒付第二次申诉失败

响应码

常用响应码

响应码 响应信息 建议措施
20000 Success N/A
40004 API that does not exist N/A
40000 Illegal parameter [] N/A
40013 Abnormal parameters (cannot be read) N/A
40005 Unsupported request method N/A
40015 Unsupported media type N/A
50000 Unknown exception 通常需要人工干预。 建议您联系技术支持团队解决问题。
50001 Merchant was not found 建议您联系技术支持团队解决问题。
50002 Repeated order transactions! N/A
50003 The query condition cannot be empty! (Order number or start and end time, both cannot be empty at the same time) 请确保请求参数符合要求。
50005 The cumulative refund amount cannot be greater than the transaction amount! N/A
50006 The source transaction does not support online refunds! 建议您联系技术支持团队解决问题。
50007 The time range of transaction inquiry cannot exceed ninety days! N/A
50008 The initiating transaction ip is not in the configured whitelist! 通常需要人工干预。 建议您联系技术支持团队解决问题。
50012 Repurchase initiation failed, contract information verification failed! 建议您联系技术支持团队解决问题。
50015 Online refund failed, this transaction does not support the initiation of a refund! N/A
50016 Online refund failed, there are unapproved orders! 请等待退款审核完成。
50017 Online refund failed, the source transaction was unsuccessful! N/A
50018 Non-existent transaction order! 检查请求中的交易订单号或原交易订单号是否正确。
50020 Forced refund failed, the channel does not support online refund! 建议您联系技术支持团队解决问题。
50021 Failed to cancel the refund request, the refund has been processed and cannot be canceled! N/A
50023 Card number cannot be empty! 请确保请求参数符合要求。
50028 Invalid product format 请确保请求参数符合要求。
50029 Card year/month is invalid 请检查请求中的卡信息是否正确。
50031 Card expired card 请检查请求中的卡信息是否正确。
50032 Invalid card number 请检查请求中的卡信息是否正确。
50033 Unsupported currency 请检查请求中的币种是否正确。
50034 Invalid transaction type 请确保请求参数符合要求。
50035 Invalid transaction amount 请检查请求中的金额是否正确。
50036 Incorrect card information 请确保请求参数符合要求。
50037 Merchant not enabled 建议您联系技术支持团队解决问题。
50045 Transaction Website is invalid 请检查请求中的网站是否正确。
50047 Refund transaction must go through the designated interface for refund! 请使用申请退款接口进行退款交易。
50048 Invalid productType! 请确保请求参数符合要求。
50049 Invalid subProductType! 请确保请求参数符合要求。
50070 Subscription contract unavailable 订阅合同已关闭或取消,请创建新订阅。
50071 Subscription contract expired 订阅合同已过期,请创建新订阅。
50072 Subscription frequency is illegal 复购频率与订阅合同信息不符,请确认复购频率。
50073 Subscription contract param can not be null 请确保请求参数符合要求。
50074 Transaction number does not match merchant number N/A
50090 Subscription failed! Merchant customer number cannot be empty! 请确保请求参数符合要求。
50091 Repurchase failed! The contract number or token cannot be empty! 请确保请求参数符合要求。
50092 Transaction failed 通常需要人工干预。 建议您联系技术支持团队解决问题。
50120 billingInformation cannot be empty or email and country cannot be empty 请确保请求参数符合要求。
50121 risk3dsStrategy is EXTERNAL, mpiInfo not be null 请检查3DS风控策略。
50201 Account is disabled or does not exist! 请联系运营人员确认商户账户状态。
50204 Appid is invalid! 请联系运营人员确认app id状态。
53001 Invalid 3DS service 3DS服务有问题。 请联系技术支持。
53002 3DS permission is not available 3DS 服务通常在发卡行或收单行出现故障。 请联系技术支持。
53003 No such issuer 卡号有问题,例如信用卡BIN与收单行列表中任何一个发卡行的范围都不匹配。
53004 Timeout 收单方和发行方之间发生超时。 请再试一次。
54001 Invalid transaction 此响应码由发卡行在没有返回特定拒绝原因/代码时生成。
54002 Invalid merchant 通常,这并不表示商家存在任何一般性问题。此拒绝原因通常是与内部标准有关的问题的结果。
54003 Duplicate transmission. 表示一个交易被发送了两次。 请修改并重试。
54004 Payment failed. 通用错误,由失败的交易引起的错误。
54005 Common decline 未知错误。
54006 Invalid request parameter value. 请确保请求参数符合要求。
55001 3DS Authentication failure 3DS 验证失败。
55002 Invalid billing information 账单信息中的某些信息不可用。 请检查并重试。
55003 Decline for CVV2 failure CVV输入错误导致失败,请持卡人检查后重试。
55004 Incorrect PIN or PIN missing 此错误是由 PIN 问题引起的,并且可能表明该卡由于安全问题而被阻止,例如超过销售点的 PIN 输入尝试限制。
55005 Lost card or Stolen card 当卡在发卡行被列为丢失或被盗时,将返回此错误代码。
55006 High risk 因风控导致交易失败。
55007 Exceeds withdrawal frequency limit 交易金额或次数超过此卡或账户允许的频率。
55008 Strong customer authentication requried. 此错误意味着需要更强的客户身份验证。
55009 Invalid amount or currency conversion field overflow 此错误码是交易金额或币种问题导致。 由于币种或资金不足等财务原因,可能会触发此代码。
55010 Refer to card issuer 请咨询发卡机构。 此类交易可能会通过语音 AuthCode 进行授权。
55011 Card Authentication failed 此错误为卡信息验证失败,请持卡人检查卡信息后重试。
55012 Card not effective 卡无效,请持卡人核对卡信息后重试。
55013 Card processing is forbidden 禁用卡,请持卡人核对卡信息后重试。
55014 No credit account 这通常表明与信用卡关联的账户存在问题,例如账户已过期、取消或不存在。
55015 No checking account 这通常表明与信用卡关联的账户存在问题,例如账户已过期、取消或不存在。
55016 No savings account 这通常表明与信用卡关联的账户存在问题,例如账户已过期、取消或不存在。
55017 Missing or invalid CardData data 卡信息数据缺失或无效,请持卡人核对卡信息后重试。
55018 Expired card or expiration date is missing 信用卡不再有效或缺少到期日期。 到期日期也可能与卡的详细信息不匹配。
55019 Do not honor 最常见和最普遍的发卡行拒绝代码。 此代码由发卡行在没有返回特定拒绝原因/代码时生成。
55020 Retain Card 保留卡,请持卡人核对卡信息后重试。
55021 Restricted card 受限卡,请持卡人核对卡信息后重试。
55022 Rejected by customer N/A
55023 Custom Fraud Screen Filter. N/A
55024 Suspected fraud 该交易涉嫌欺诈。
55025 Transaction not permitted to cardholder 发卡行基于内部原因不允许针对此卡进行此交易,例如该交易源自特定受限制的行业或国家/地区。
55026 Insufficient funds 信用卡持有人缺乏足够的资金来完成交易。
55027 Transaction failed trying again later. 请重试。
55028 Soft Decline – Authentication is Advised. 用户错误--一般原因-请重试。
55029 Cardholder withdrawal frequency limit 用户错误--一般原因-请重试。
55030 Invalid issuing account N/A
55031 Abnormal issuing account N/A
55032 Invalid Card Number 用户错误--不正确的卡号。
55033 Cryptographic failure 用户错误--不正确的密码。

参考

RSA密钥生成方法

1. 生成 pkcs1 私钥

openssl genrsa -out private.pem 2048

2. 将 pkcs1 私钥转换为 pkcs8 私钥

openssl pkcs8 -topk8 -inform PEM -in private.pem -outform pem -nocrypt -out pkcs8.pem

3. 生成pkcs8的公钥

openssl rsa -in private.pem -pubout -out public_pkcs8.pem

SHA256withRSA签名验签代码示例

pom dependencies

<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.14</version>
</dependency>

Code samples

package xxx;

import org.apache.commons.codec.binary.Base64;

import java.nio.charset.StandardCharsets;
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Signature;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;


public class RSASecureDemo {

  /**
   * 签名
   *
   * @param privateKey the private key
   * @param sign       the unsigned data
   * @return signed    signature
   */
  public static String signRSA(String privateKey, String sign) {
    try {
      byte[] keyBytes = Base64.decodeBase64(privateKey);
      PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);
      KeyFactory keyFactory = KeyFactory.getInstance("RSA");
      PrivateKey priKey = keyFactory.generatePrivate(pkcs8KeySpec);
      Signature signature = Signature.getInstance("SHA256withRSA");
      signature.initSign(priKey);
      signature.update(sign.getBytes(StandardCharsets.UTF_8));
      return Base64.encodeBase64String(signature.sign());
    } catch (Exception e) {
      throw new RuntimeException("ras sign failed");
    }
  }


  /**
   * 验签
   *
   * @param publicKey the public key
   * @param sign      the unsigned data
   * @param signed    signature
   * @return
   */
  public static boolean verifyRSA(String publicKey, String sign, String signed) {
    try {
      byte[] keyBytes = Base64.decodeBase64(publicKey);
      X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);
      KeyFactory keyFactory = KeyFactory.getInstance("RSA");
      PublicKey pubKey = keyFactory.generatePublic(keySpec);
      Signature signature = Signature.getInstance("SHA256withRSA");
      signature.initVerify(pubKey);
      signature.update(sign.getBytes(StandardCharsets.UTF_8));
      return signature.verify(Base64.decodeBase64(signed));
    } catch (Exception e) {
      throw new RuntimeException("ras verify failed");
    }
  }


  public static void main(String[] args) {


    String pubKey = //"-----BEGIN PUBLIC KEY-----\n" +
      "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2jO3JVlpSTUumUeWZMU\n" +
        "hXjDBbe+GBkZmD6+u1B633OAsxbTfbHLSFKmSVb9ObHzoJ29K5NRu8Mfe/y6sTxB\n" +
        "rOXIXPjavR5DX+VaKTInzkPOY9Ur9VNN9aBBpPjouDEwEeGVpSygUD8ilW+aQj/G\n" +
        "iL9eRkyIiMCSkte82OZkFK18wEkw5OeAwhvXjeC4JGvcc8Eb2mGb5sS4O99hsYyO\n" +
        "UxO/e5AOYMWOxsWdMMXZFpIXHnusV+lloQHJnRz1FEtBD3Jy+cHHN8D9O7zvkf4z\n" +
        "tV6Gl3M2+iUYegKUd2OVY0hUAKasHuwCIAEhn/GkpAVOCveUX2d0LAY6H9kl/935\n" +
        "HwIDAQAB\n"
      //+ "-----END PUBLIC KEY-----"
      ;


    String priKey =//"-----BEGIN PRIVATE KEY-----\n" +
      "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDHaM7clWWlJNS6\n" +
        "ZR5ZkxSFeMMFt74YGRmYPr67UHrfc4CzFtN9sctIUqZJVv05sfOgnb0rk1G7wx97\n" +
        "/LqxPEGs5chc+Nq9HkNf5VopMifOQ85j1Sv1U031oEGk+Oi4MTAR4ZWlLKBQPyKV\n" +
        "b5pCP8aIv15GTIiIwJKS17zY5mQUrXzASTDk54DCG9eN4Lgka9xzwRvaYZvmxLg7\n" +
        "32GxjI5TE797kA5gxY7GxZ0wxdkWkhcee6xX6WWhAcmdHPUUS0EPcnL5wcc3wP07\n" +
        "vO+R/jO1XoaXczb6JRh6ApR3Y5VjSFQApqwe7AIgASGf8aSkBU4K95RfZ3QsBjof\n" +
        "2SX/3fkfAgMBAAECggEAf5F3NPqGSj3jsVLbNaa4LCLzcIb5n2T/ULxjPGXiFW1I\n" +
        "2kkyB2lkiOIG60gxO2WyXABNcsEOOrY7QBCQRq4rvbZKld/F39Kqe4C4Sz6A5J3Q\n" +
        "PWG0e39NkmNxW165Uox1GhtcpoyECpI5R6xb3SH7mqQCZaq0dffsTPCjKYdKY0bv\n" +
        "KPZrC+o8CqadySVzM6cRytvS+ZBjc03eT5MRHH6if1mIIxg8qPnOa2x7iXkq0Uib\n" +
        "FETqX+1gKZcQ3L9uIaH68t1UJEhjU7BB6YY76kMfZ/IH48iglXKlpcGMfOA7ST5Y\n" +
        "81Si5ltsFuyuQ2BprUQ7zF/CDSHGfOA5v/q/tkZxoQKBgQD2by9lTP9JkZ8MvKJv\n" +
        "AVpMS+f4zx8eDUFNM/2FA095en7xL5qyx/dXJMF+n4wSa421JcGqeYWN46+hFbnA\n" +
        "+7Gv9r8GWDdb9sOKDhITVj9Qwl8KGQZRQJvtPnTygQE5w7GvS+NL/Rnp19iHZJ4I\n" +
        "wAgdp2yD64uOFq0SB3x22d+qBwKBgQDPJlZBvgyuTL3z6YNhB3Skc9JDNs/EFSxP\n" +
        "8q+hQn5ltsQeROwKot2I66xe0JoEWRpDrjWD9TpbqOg9rmDtPFG7d4matZCsg6ho\n" +
        "dSSwx7NyJxkI6JGg+ISLylc9LJz/uBmj5u69KDGBIcWIEnktxumuEipLOTSxyaRL\n" +
        "Do2CdV7SKQKBgCkaZGpeDFqF+mRSdjlTnW8KXhem3EbT6SdqW4e7BJ97af7qdMAL\n" +
        "EFstm0R2chOEcu9a69F2UWtYJawVhpUEph92ZWg2gI1LPFQjgqpNAWSD9vwlLmOR\n" +
        "BjDs8O6dy8mJtXJKkw/SmGbjhI8Yni9RcEkZ6sSaHf3GFHnkW8MrFd4zAoGARFLw\n" +
        "wF5e8F5/iKPMoYREBLnu8Bx0CsixBO2W4Cl+Zy4RIaq58Agn6bFR+TP0mNqKvygG\n" +
        "nq+TwAfGEhIiBh2PF7YlvNGGFmCWe12n7Gbx2QTsTPPolJ9jmHf0rki4v9+JFXZl\n" +
        "6B4Jtf3dmTP+pAqnqLJ1ILqNltZbSiZSpmTwEYECgYB/2Zv8JZ4poDugvvWY8N5e\n" +
        "71ptVYljVcddm+BJ+uGgMUofPqoBvz1/hFnjX80CtqzOcxcg6KM+v71gt9qGbe2+\n" +
        "483/Axmrwea50UKLqRVH3IXzTOEJth0betqTmbefYFLETn5RXB6MOJQOdzpvvcP3\n" +
        "05FmtT/grqqcnaeLbosT4A==\n"
      //  +"-----END PRIVATE KEY-----"
      ;

    System.out.println(pubKey);
    System.out.println(priKey);

    String sign = "key=value&key1=value2&key2=value2";
    String signed = signRSA(priKey, sign);
    System.out.println(signed);
    boolean b = verifyRSA(pubKey, sign, signed);
    System.out.println(b);

  }

}

SHA256签名验签代码示例

pom dependencies

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>


Code samples

package xxx;

import org.apache.commons.lang3.StringUtils;

import java.security.MessageDigest;
import java.util.TreeMap;
import java.util.UUID;


public class SHA256SecureDemo {

  public static void main(String[] args) throws Exception{
    TreeMap<String, String> signRes = new TreeMap();
    signRes.put("merchantNo","800135");
    signRes.put("test","yesdas1dsa");
    signRes.put("bizContent","dsaaass1dsag");
    signRes.put("as","12334567");
    signRes.put("bc","098754");

    String sign =strcatValueSign(signRes);
    String key= UUID.randomUUID().toString().replace("-","");
    String signed= signSha256(key,sign);
    System.out.println(signed);
    boolean b = verifySha256(key, sign, signed);
    System.out.println(b);

  }

  private static String strcatValueSign(TreeMap<String, String> treeMap) {
    StringBuffer buffer = new StringBuffer();
    treeMap.forEach((k, v) -> {
      if (StringUtils.isNotBlank(v)) {
        buffer.append(v);
      }
    });
    return buffer.toString();
  }


  public static boolean verifySha256(String key, String sign ,String signed){
    String sha256 = signSha256(key , sign);
    return sha256.equals(signed);
  }



  public static String signSha256(String key, String sign ){

    String str=sign + key;
    MessageDigest messageDigest;
    String encodestr = "";
    try {
      messageDigest = MessageDigest.getInstance("SHA-256");
      messageDigest.update(str.getBytes("UTF-8"));
      encodestr = byte2Hex(messageDigest.digest());
    } catch (Exception e) {
      e.printStackTrace();
    }
    return encodestr;
  }

  /**
   * 将字节转换为十六进制
   *
   * @param bytes
   * @return
   */
  private static String byte2Hex(byte[] bytes) {
    StringBuffer stringBuffer = new StringBuffer();
    String temp = null;
    for (int i = 0; i < bytes.length; i++) {
      temp = Integer.toHexString(bytes[i] & 0xFF);
      if (temp.length() == 1) {
        stringBuffer.append("0");
      }
      stringBuffer.append(temp);
    }
    return stringBuffer.toString();
  }

}

枚举

产品类型

ProductTypeEnum

代码 描述
ALL 只能在收银支付场景下使用,表示要打开聚合收银台
CARD 信用卡
LPMS 本地支付方式

子产品类型

SubProductTypeEnum

代码 描述
DIRECT 直接支付
SUBSCRIBE 订阅支付
INSTALLMENT 分期支付

交易类型

TxnTypeEnum

代码 描述
SALE 支付
REFUND 退款,仅用于交易查询

支付模式

PaymentModeEnum

代码 描述
WEB 终端是通过PC浏览器打开的网站
WAP 终端是通过移动浏览器打开的HTML页面

操作系统类型

OsTypeEnum

代码 描述
IOS IOS
ANDROID 安卓

通知类型

NotifyTypeEnum

代码 描述
TXN 交易类通知
REFUND_AUDIT 退款审核通知
CANCEL 取消交易通知

交易状态

TxnStatusEnum

代码 描述
S 交易成功
F 交易失败 / 审核不通过
P 交易结果未知(处理中)
R 需要3ds验证
N 交易被取消
I 退款待审核/取消待处理
U 待付款,仅在收银台支付中出现

合同状态

ContractStatusEnum

代码 描述
0 处理中
1 生效
2 不生效
3 被取消

3ds风控策略

Risk3dsStrategyEnum

代码 描述
INNER 内部 3ds(强制使用 Onerway 提供的 3ds)
EXTERNAL 外置3ds(强制使用商家自己的3ds)
NONE 强制不使用 3ds
DEFAULT 默认(取决于Onerway判断是否需要走3ds)

海关编码

CustomsCodeEnum

代码 描述
GUANGZHOU 广州海关
HANGZHOU 杭州海关
NINGBO 宁波海关
ZHENGZHOU_BS 郑州(保税物流中心)
CHONGQING 重庆海关
SHANGHAI 上海海关
SHENZHEN 深圳海关
ZHENGZHOU_ZH_ZS 郑州综合保税区
TIANJIN 天津海关

证件类型

CredentialsTypeEnum

代码 描述
ID_CARD 身份证号

清算渠道

VerifyDepartmentEnum

代码 描述
CUP 表示清算渠道为银联
NUCC 表示清算通道为网联
OTHER 表示清算通道为其他

拒付状态

ChargebackStatusEnum

代码 描述
NEW 表示发生新的拒付
FA 在第一次申诉中
FAF 第一次申诉失败
FAS 第一次申诉成功
FAT 第一次申诉超时
SA 在第二次申诉中
SAF 第二次申诉失败
SAS 第二次申诉成功
SAT 第二次申诉超时
ACCEPT 接受拒付
REVOKE 拒付被撤销

本地支付方式

LpmsTypeEnum

本地支付方式类型 国家(ISO标准) 支持币种 必填字段
Boleto BR BRL, EUR, USD Email, Country, identityNumber, state, street, city, zipCode
BankTransfer BR BRL, EUR, USD Email, Country, identityNumber, state, street, city, zipCode
Banrisul BR BRL, EUR, USD Email, Country, identityNumber, state, street, city, zipCode
Bradesco BR BRL, EUR, USD Email, Country, identityNumber, state, street, city, zipCode
BancoDoBrasil BR BRL, EUR, USD Email, Country, identityNumber, state, street, city, zipCode
Itau BR BRL, EUR, USD Email, Country, identityNumber, state, street, city, zipCode
MercadoPago BR BRL, EUR, USD Email, Country, identityNumber, state, street, city, zipCode
PIX BR BRL, EUR, USD Email, Country, identityNumber, state, street, city, zipCode
Rapipago AR ARS, USD Email, Country, identityNumber
PagoFacil AR ARS, USD Email, Country, identityNumber
Cupon AR ARS, USD Email, Country, identityNumber
MercadoPago AR ARS, USD Email, Country, identityNumber
Servipag CL CLP, EUR, USD Email, Country
Sencillito CL CLP, EUR, USD Email, Country
Webpay CL CLP, EUR, USD Email, Country
Multicaja CL CLP, EUR, USD Email, Country
Baloto CO COP, EUR, USD Email, Country
EFT CO COP, EUR, USD Email, Country, identityNumber, eftCode
Efecty CO COP, EUR, USD Email, Country
SPEI MX MXN, USD Email, Country
OXXO MX MXN, USD Email, Country
oxxopay MX MXN, USD Email, Country
MercadoPago MX MXN, USD Email, Country
PagoEfectivo PE PEN, USD Email, Country
safetypay-cash PE PEN, USD Email, Country
safetypay-online PE PEN, USD Email, Country
PayU PL,CZ PLN, CZK Email, Country
Przelewy24 PL PLN Email, Country, eftCode
safetypay-cash EC USD Email, Country
safetypay-online EC USD Email, Country
Pagosnet BO BOB, USD Email, Country
Sofort AT, BE, FR, DE, IT, NL, PL, SK, ES, CH, GB EUR、GBP /
Giropay DE EUR /
iDEAL NL AUD, CAD, DKK, EUR, GBP, HKD, NOK, SEK, USD /
Konbini JP JPY Email, Country
Payeasy JP JPY Email, Country
POLI AU AUD Email, Country
bancontact BE EUR Email, Country
OVO ID IDR Email, Country
MyBank IT EUR Email, Country
Dragonpay Worldwide PHP Email, Country
skrill Worldwide EUR, GBP, USD Email, Country
eNETS SG SG Email, Country
PayseraWallet LT, LV, EE EUR Email, Country
LithuanianBanks LT EUR Email, Country
Klarna_pay_over_time Austria(AT) , Denmark(DK), Finland(FI) , Germany(DE), Netherlands(NL) , Norway(NO), Sweden(SE) , Switzerland(CH), United Kingdom(GB) , United States(US), Australia(AU) , Belgium(BE), Spain(ES) , Italy(IT) EUR, DKK, NOK, SEK, CHF, GBP , USD, AUD /
Klarna_pay_later Austria(AT) , Denmark(DK), Finland(FI) , Germany(DE), Netherlands(NL) , Norway(NO), Sweden(SE) , Switzerland(CH), United Kingdom(GB) , United States(US), Australia(AU) , Belgium(BE), Spain(ES) , Italy(IT) EUR, DKK, NOK, SEK, CHF, GBP , USD, AUD /
Klarna_pay_now Austria(AT) , Denmark(DK), Finland(FI) , Germany(DE), Netherlands(NL) , Norway(NO), Sweden(SE) , Switzerland(CH), United Kingdom(GB) , United States(US), Australia(AU) , Belgium(BE), Spain(ES) , Italy(IT) EUR, DKK, NOK, SEK, CHF, GBP , USD, AUD /
Paysafecard AT, AU, BE, BG, CA, CH, CY, CZ, DE, DK, ES, FI, FR, GB, GE, GI, GR, HR, HU, IE, IT, LI, LT, LU, MT, MX, NL, NZ, NO, PE, PL, PT, RO, SE, SI, SK, UY AUD, CAD, CHF, EUR, GBP, NOK, PLN, RON, SEK, USD Email, Country
Paysafecash AT, BE, CA, CH, CY, CZ, DK, ES, FR, GB, GR, HR, HU, IE, IT, LU, LT, MT, NL, PL, PT, RO, SE, SI, SK AUD, CAD, CHF, EUR, GBP, NOK, PLN, RON, SEK, USD Email, Country
Payconiq BE, NL, LU EUR Email, Country
Trustly DE, DK, EE, ES, FI, GB, LT, LV, NL, NO, PL, SE, SK DKK, EUR, GBP, NOK, PLN, SEK Email, Country
Alipay+ PH,MY,ID,KR,CN,HK,TH GBP /