- Onerway 商户 API 接入指南
- Onerway Merchant API Testing
- Payment APIs
- Checkout
- JS-SDK
- API
- APMs - Alternative Payment Methods
- Refund
- Settlement
- Query
- Utils
Subscription - Charge by Onerway
Developing
Sandbox Env
https://sandbox-acq.onerway.com
Sandbox Env
https://sandbox-acq.onerway.com
POST
/v1/txn/doTransaction
Request
Body Params application/json
Configuration for establishing a recurring payment agreement that automatically bills the customer at defined intervals
billingInformation
object
TransactionAddress
address
string
地址信息(账单或配送地址)
city
string
城市名称
country
enum<string>
国家代码,请参考ISO 3166标准
Allowed value:
US
email
string
电子邮件地址
firstName
string
名字
identityNumber
string
证件号码
lastName
string
姓氏
phone
string
电话号码
postalCode
string
邮政编码
province
enum<string>
省/州
Allowed value:
CO
merchantCustId
string
客户在商户系统中的唯一标识
merchantNo
enum<string>
商户号
Allowed value:
{{MERCHANT-NO}}
merchantTxnId
string
商户创建的交易订单号
merchantTxnTime
string
商户交易时间,格式为yyyy-MM-dd HH:mm:ss
orderAmount
string
订单金额
orderCurrency
enum<string>
订单币种,参考ISO 4217货 币代码
Allowed value:
USD
shippingInformation
object
TransactionAddress
address
string
地址信息(账单或配送地址)
city
string
城市名称
country
enum<string>
国家代码,请参考ISO 3166标准
Allowed value:
US
email
string
电子邮件地址
firstName
string
名字
identityNumber
string
证件号码
lastName
string
姓氏
phone
string
电话号码
postalCode
string
邮政编码
province
enum<string>
省/州
Allowed value:
CO
sign
null
签名
txnOrderMsg
object
TxnOrderMsg
accept
enum<string>
持卡人浏览器的Accept请求头
<= 2048 characters
Allowed value:
*/*
Example:
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
appId
enum<string>
商户应用程序ID,商户注册网站时Onerway会为商户创建
<= 20 characters
Allowed value:
{{APPID}}
Example:
{{appId}}
colorDepth
enum<string>
ColorDepthEnum
Allowed values:
162432
contentLength
enum<string>
ContentLengthEnum
Allowed values:
0102440961638465536
javaEnabled
boolean
持卡人浏览器是否开启java
Example:
false
language
enum<string>
持卡人浏览器的语言
<= 64 characters
Allowed value:
en-US
Example:
zh-CN
products
array[object (Product) {5}]
商品信息数组,JSON字符串格式
>= 1 items<= 3 items
returnUrl
enum<string>
同步返回地址
<= 256 characters
Allowed value:
{{RETURN-URL}}
Example:
https://docs.onerway.com/
notifyUrl
enum<string>
异步通知地址
Allowed value:
{{WEBHOOK-ENDPOINT}}
screenHeight
enum<string>
ScreenHeightEnum
Allowed values:
4805686406677367407808008448518969159321024108011801200136614401600162018002160
screenWidth
enum<string>
ScreenWidthEnum
Allowed values:
32036037539039341241442876880082096210241280136614401536168019202048256034403840
timeZoneOffset
enum<string>
TimeZoneOffsetEnum
Allowed values:
-840-720-660-600-540-480-420-360-300-240-180-120-60060120180240300360420480540600660720
transactionIp
string
商户客户的交易IP地址
<= 64 characters
Example:
127.0.0.1
userAgent
enum<string>
持卡人的浏览器类型
<= 2048 characters
Allowed value:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Example:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
productType
enum<string>
产品类型
Allowed value:
CARD
subProductType
enum<string>
子产品类型
Allowed value:
SUBSCRIBE
txnType
enum<string>
交易类型
Allowed value:
SALE
cardInfo
object
卡信息
holderName
enum<string>
持卡人姓名
<= 64 characters
Allowed value:
CL BRW2
Example:
John Smith
cardNumber
enum<string>
卡号
<= 16 characters
Allowed value:
4000000000002701
Example:
4000020951595032
month
enum<string>
有效期月份
<= 64 characters
Allowed value:
05
Example:
03
year
enum<string>
有效期年份
<= 64 characters
Allowed value:
26
Example:
2024
cvv
enum<string>
安全码
<= 64 characters
Allowed value:
123
Example:
123
subscription
Onerway发起扣款订阅
One of
requestType
enum<string>
订阅请求类型
<= 1 characters
Allowed value:
0
selfExecute
enum<string>
订阅扣款方式
<= 1 characters
Allowed value:
1
productName
string | null
订阅商品名称
<= 256 characters
frequencyType
enum<string>
订阅频率类型
<= 1 characters
Allowed values:
DWMY
bindCard
绑卡标志
Allowed value:
true
merchantCustId
string
商户客户ID
<= 40 characters
frequencyPoint
string
订阅频率点数
<= 2 characters
notificationEmail
string <email> | null
通知邮箱
<= 256 characters
metaData
string | null
元数据
<= 2048 characters
trialFromPlan
enum<string> | enum<null>
试用模式
<= 256 characters
Allowed values:
01
trialDays
integer
试用天数
expireDate
string | null
过期日期
<= 10 characters
Match pattern:
^\d{4}-\d{2}-\d{2}$
Example
{
"billingInformation": {
"address": "205 Gail Summit",
"city": "Port Desmondshire",
"country": "US",
"email": "Jon_Lindgren@gmail.com",
"firstName": "Mylene",
"identityNumber": "70082124392",
"lastName": "Green",
"phone": "15269654099",
"postalCode": "65983",
"province": "CO"
},
"merchantCustId": "CustId-M1SW-04UL",
"merchantNo": "{{MERCHANT-NO}}",
"merchantTxnId": "b884ba8e-618e-491f-80fe-f314ca84c6fd",
"merchantTxnTime": "2025-05-19 13:36:54",
"orderAmount": "709",
"orderCurrency": "USD",
"shippingInformation": {
"address": "61320 E Cedar Street",
"city": "Kathryneworth",
"country": "US",
"email": "Monserrate_Carter@gmail.com",
"firstName": "Hattie",
"identityNumber": "40437573569",
"lastName": "Gusikowski",
"phone": "15626167579",
"postalCode": "51223",
"province": "CO"
},
"sign": null,
"txnOrderMsg": {
"accept": "*/*",
"appId": "{{APPID}}",
"colorDepth": "24",
"contentLength": "1024",
"javaEnabled": true,
"language": "en-US",
"products": [
{
"currency": "USD",
"name": "mangosteen",
"num": "59",
"price": "285.80",
"type": "elit qui"
},
{
"currency": "USD",
"name": "apple",
"num": "41",
"price": "189.10",
"type": "culpa aute"
},
{
"currency": "USD",
"name": "starfruit",
"num": "2",
"price": "125.29",
"type": "cillum sit eiusmod nisi"
}
],
"returnUrl": "{{RETURN-URL}}",
"notifyUrl": "{{WEBHOOK-ENDPOINT}}",
"screenHeight": "568",
"screenWidth": "1024",
"timeZoneOffset": "-720",
"transactionIp": "83.20.17.78",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
},
"productType": "CARD",
"subProductType": "SUBSCRIBE",
"txnType": "SALE",
"cardInfo": {
"holderName": "CL BRW2",
"cardNumber": "4000000000002701",
"month": "05",
"year": "26",
"cvv": "123"
},
"subscription": {
"requestType": "0",
"selfExecute": "1",
"productName": "Rustic Frozen Pants",
"frequencyType": "D",
"bindCard": true,
"merchantCustId": "CustId-M1SW-04UL",
"frequencyPoint": "1",
"notificationEmail": "Darron_Lehner@hotmail.com",
"metaData": "ea amet id aliqua",
"expireDate": "2025-12-23"
}
}
Request samples
Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://sandbox-acq.onerway.com/v1/txn/doTransaction' \
--header 'Content-Type: application/json' \
--data-raw '{
"billingInformation": {
"address": "205 Gail Summit",
"city": "Port Desmondshire",
"country": "US",
"email": "Jon_Lindgren@gmail.com",
"firstName": "Mylene",
"identityNumber": "70082124392",
"lastName": "Green",
"phone": "15269654099",
"postalCode": "65983",
"province": "CO"
},
"merchantCustId": "CustId-M1SW-04UL",
"merchantNo": "YOUR-MERCHANT-NO",
"merchantTxnId": "b884ba8e-618e-491f-80fe-f314ca84c6fd",
"merchantTxnTime": "2025-05-19 13:36:54",
"orderAmount": "709",
"orderCurrency": "USD",
"shippingInformation": {
"address": "61320 E Cedar Street",
"city": "Kathryneworth",
"country": "US",
"email": "Monserrate_Carter@gmail.com",
"firstName": "Hattie",
"identityNumber": "40437573569",
"lastName": "Gusikowski",
"phone": "15626167579",
"postalCode": "51223",
"province": "CO"
},
"sign": null,
"txnOrderMsg": {
"accept": "*/*",
"appId": "YOUR-APPLICATION-ID",
"colorDepth": "24",
"contentLength": "1024",
"javaEnabled": true,
"language": "en-US",
"products": [
{
"currency": "USD",
"name": "mangosteen",
"num": "59",
"price": "285.80",
"type": "elit qui"
},
{
"currency": "USD",
"name": "apple",
"num": "41",
"price": "189.10",
"type": "culpa aute"
},
{
"currency": "USD",
"name": "starfruit",
"num": "2",
"price": "125.29",
"type": "cillum sit eiusmod nisi"
}
],
"returnUrl": "YOUR-RETURN-URL",
"notifyUrl": "YOUR-WEBHOOK-ENDPOINT",
"screenHeight": "568",
"screenWidth": "1024",
"timeZoneOffset": "-720",
"transactionIp": "83.20.17.78",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
},
"productType": "CARD",
"subProductType": "SUBSCRIBE",
"txnType": "SALE",
"cardInfo": {
"holderName": "CL BRW2",
"cardNumber": "4000000000002701",
"month": "05",
"year": "26",
"cvv": "123"
},
"subscription": {
"requestType": "0",
"selfExecute": "1",
"productName": "Rustic Frozen Pants",
"frequencyType": "D",
"bindCard": true,
"merchantCustId": "CustId-M1SW-04UL",
"frequencyPoint": "1",
"notificationEmail": "Darron_Lehner@hotmail.com",
"metaData": "ea amet id aliqua",
"expireDate": "2025-12-23"
}
}'
Responses
🟢200Success
application/json
Body
object {0}
Example
{}
Modified at 2025-05-19 05:37:46