Onerway
POST

预授权、请款与撤销通知

回调地址
该回调通知用于接收 AUTH、CAPTURE 与 VOID 交易通知,并通过 paymentId 关联预授权生命周期。

除以下字段外,全部回调报文字段均参与验签:

回调报文字段

notifyType
通知类型,标识本次 Webhook 的业务大类。
约束
取值
预授权、请款与撤销通知固定返回 TXN。
transactionId
Onerway 为本次授权、请款或撤销操作生成的交易号,用于跟踪、查询和幂等处理。
约束
规则
该值为大整数样式字符串;JavaScript 系统中应按字符串保存和比对,避免精度丢失。
一致性
同一授权生命周期中,AUTH、CAPTURE 与 VOID 是关联但不同的交易操作,各自 transactionId 不同。
paymentId
支付意图 ID,用于关联原预授权及其后续请款或撤销操作。
约束
规则
该值为大整数样式字符串;JavaScript 系统中应按字符串保存和比对,避免精度丢失。
一致性
同一预授权生命周期下的授权、请款与撤销操作可通过同一个 paymentId 关联。
txnType
交易操作类型,表示本次通知对应预授权创建、请款还是撤销。
可选值
AUTH
预授权创建,对持卡人资金发起授权;是否已授权以 status 与 paymentStatus 为准。
CAPTURE
预授权请款,对已授权金额发起请款。
VOID
预授权撤销,释放已授权金额,不进行请款。
merchantNo
Onerway 分配的商户号,标识接收该通知的商户账户。
merchantTxnId
商户交易号,用于对账和关联订单。
约束
规则
请款通知可能回显原预授权订单的商户交易号;VOID 通知可返回撤销请求中的商户交易号。按 transactionId 对操作通知去重,并结合 paymentId、transactionId 与交易查询结果关联授权生命周期。
responseTime
Onerway 生成本次通知结果的时间,格式为 yyyy-MM-dd HH:mm:ss。
txnTime
本次授权、请款或撤销交易发生的时间,格式为 yyyy-MM-dd HH:mm:ss。
txnTimeZone
txnTime 使用的时区偏移,格式为 ±HH:mm。
orderAmount
原预授权订单金额;请款或撤销通知中表示关联原预授权金额。
约束
规则
金额以 decimal string 返回,商户系统应避免用二进制浮点数直接计算金额。
orderCurrency
原预授权订单币种,ISO 4217 三位字母货币代码。
status
本次授权、请款或撤销操作的当前处理状态。
可选值
S
成功;交易已成功完成。
F
失败;交易被拒绝或处理失败。
P
处理中;交易正在处理。
约束
一致性
status 表示本次操作结果;不要与支付意图级的 paymentStatus 混用。
paymentStatus
支付意图级状态,表示预授权生命周期当前状态。
可选值
A
支付意图已授权,等待后续动作(如请款)。
O
支付意图保持开放,可继续尝试。
S
支付意图达到最终成功。
约束
规则
AUTH 成功后可返回 A(已授权,等待请款或撤销);AUTH 失败时也可能返回 O(支付意图保持开放,可继续尝试);CAPTURE 成功后可返回 S(支付意图成功);VOID 成功后返回 N(支付意图已关闭)。
eci
电子商务指示符(ECI),表示交易相关的 3DS 认证状态。
cardBinCountry
卡 BIN 所属国家 / 地区,ISO 3166-1 alpha-2 两位字母代码。
交易结果原因对象,通知中按 JSON string 承载。
periodValue
分期付款期数。
sign
兼容保留的签名字符串:仅使用第一个启用的密钥计算,密钥轮换期间可能与商户配置的密钥不一致;请改用 X-Rh-Signature header 验签。
约束
规则
验签时不要把 sign 自身作为待签名字段。
paymentMethod
本次授权、请款或撤销使用的支付方式或卡品牌。
channelRequestId
支付渠道侧的请求标识,可用于渠道侧对账或排查。
支付方式详情对象;卡交易的明细位于 card 子对象。

回调示例

{
  "notifyType": "TXN",
  "transactionId": "replace_with_authorization_transaction_id",
  "paymentId": "replace_with_payment_id",
  "txnType": "AUTH",
  "merchantNo": "replace_with_merchant_no",
  "merchantTxnId": "replace_with_merchant_transaction_id",
  "responseTime": "2026-05-01 03:08:19",
  "txnTime": "2026-05-01 03:05:45",
  "txnTimeZone": "+08:00",
  "orderAmount": "79.97",
  "orderCurrency": "USD",
  "status": "S",
  "paymentStatus": "A",
  "reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
  "sign": "replace_with_sha256_signature",
  "paymentMethod": "MASTERCARD",
  "channelRequestId": "replace_with_channel_request_id",
  "paymentMethodDetails": "{\"card\":{\"checks\":null,\"cardType\":\"MASTERCARD\",\"cardNumber\":\"512345******0008\"}}"
}

应答说明

成功接收并受理预授权、请款或撤销 webhook 后返回 HTTP 200,并在响应体中原样返回收到的 transactionId。

应答正文示例

replace_with_transaction_id