# 创建直连交易

> 创建直连交易，支持卡、钱包、已保存 token、订阅、分期和本地支付方式。

```yaml
openapi: 3.1.0
info:
  title: 创建直连交易
  version: 1.0.0
  description: 创建直连交易，支持卡、钱包、已保存 token、订阅、分期和本地支付方式。
paths:
  /v1/txn/doTransaction:
    post:
      summary: 创建直连交易
      description: 创建直连交易，支持卡、钱包、已保存 token、订阅、分期和本地支付方式。
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                billingInformation:
                  type: string
                  description: 交易账单信息，包含客户账单地址和联系信息。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      firstName:
                        type: string
                        description: 客户名字。
                      lastName:
                        type: string
                        description: 客户姓氏。
                      jpFirstName:
                        type: string
                        description: 日语片假名格式的名字；仅日本支付方式和日本发行的卡需要。
                      jpLastName:
                        type: string
                        description: 日语片假名格式的姓氏；仅日本支付方式和日本发行的卡需要。
                      phone:
                        type: string
                        description: 客户电话号码，仅填本地号码（不含国家码）；国家码请单独传入 `phoneCountryCode`。Onerway 当前不强校验格式。
                      phoneCountryCode:
                        type: string
                        description: 客户电话号码的国家拨号码，纯数字、不含 `+`；与 `phone` 组合为完整号码。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 当 `lpmsType=MB_WAY` 时必填。
                      email:
                        type: string
                        description: 客户邮箱地址，用于交易确认和争议处理。
                      postalCode:
                        type: string
                        description: 邮政编码；许多地区的 AVS 验证需要此字段。
                      address:
                        type: string
                        description: 完整地址字段，可替代街道、门牌号和城市等拆分字段；不建议用于 AVS 验证。
                      country:
                        type: string
                        description: "[ISO 3166-1
                          alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alph\
                          a-2) 国家或地区代码。"
                      province:
                        type: string
                        description: "[ISO
                          3166-2](https://en.wikipedia.org/wiki/ISO_3166-2#Current_code\
                          s) 省/州代码。"
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 当 `country` 为 `US` 或 `CA` 时必填。
                      city:
                        type: string
                        description: 城市名称。开启 AVS 或需要完整账单地址时建议传入。
                      street:
                        type: string
                        description: 街道名称。开启 AVS 时建议与 `number`、`postalCode`、`city` 拆分传入。
                      number:
                        type: string
                        description: 门牌号或建筑号。开启 AVS 时建议与其他拆分地址字段一起传入。
                      identityNumber:
                        type: string
                        description: 政府颁发的身份标识，通常用于特定本地支付方式或高额交易的 KYC 合规。
                      birthDate:
                        type: string
                        description: 出生日期，格式为 `yyyy/MM/dd`。
                    required:
                      - email
                      - country
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                  x-onerway-format: json_string
                cardInfo:
                  type: string
                  description: 卡支付信息。商户自行采集卡信息（含卡 token 支付时的 `cardInfo.cvv`）需具备 PCI DSS
                    合规资质。钱包支付可选择通过 `cardInfo` 传商户自解密结果，或通过 `tokenInfo` 交由
                    Onerway 代解密；只有 Google Pay `PAN_ONLY` token 需补 CVC 时两者同时提交，此时
                    `cardInfo` 只含 `cvv`。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      holderName:
                        type: string
                        description: 持卡人姓名；建议传入真实持卡人姓名以利风控与对账。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 商户自行采集卡信息支付时必填；钱包解密模式不需要。
                      cardNumber:
                        type: string
                        description: 完整卡号，或钱包解密后的 PAN / DPAN，不含空格。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 商户自行采集卡信息支付和钱包商户自解密模式时必填。
                      month:
                        type: string
                        description: 有效期月份，两位格式（`01`-`12`）。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 提交 `cardInfo.cardNumber` 时必填。
                      year:
                        type: string
                        description: 有效期年份，四位格式（`YYYY`）。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 提交 `cardInfo.cardNumber` 时必填。
                      cvv:
                        type: string
                        description: 卡片安全码；Visa / Mastercard / Discover 通常为 3 位，American Express 通常为 4
                          位。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 商户自行采集卡信息支付时必填。
                          - 卡 token 支付（`subProductType=TOKEN`）时必填。
                          - Google Pay `PAN_ONLY` 商户自行采集 CVC 路径必填。
                        x-onerway-constraints:
                          - kind: rule
                            text: 通过 `tokenInfo` 提交 Google Pay `PAN_ONLY` token、由 Onerway 代解密时，若未传
                              `cardInfo.cvv`，交易响应返回 `data.status=R` 和
                              `data.redirectUrl`。商户需引导用户跳转至 `data.redirectUrl`，在
                              Onerway 托管页面输入 CVC。是否在创建交易前调用检查 Google Pay
                              PAN_ONLY token 接口不影响此行为。
                      cryptogram:
                        type: string
                        description: 解密钱包 token 得到的 3DS cryptogram；需原样透传。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - Apple Pay 商户自解密模式，或 Google Pay
                            `authMethod=CRYPTOGRAM_3DS` 时必填。
                      eci:
                        type: string
                        description: 电子商务指示符（ECI）；需原样透传。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 钱包场景含 3DS 凭证时与 `cryptogram` 一起传入。
                      wallet:
                        type: object
                        properties:
                          type:
                            type: string
                            description: 钱包类型。
                            enum:
                              - ApplePay
                              - GooglePay
                            x-enum-descriptions:
                              ApplePay: Apple Pay 钱包。
                              GooglePay: Google Pay 钱包。
                          applePay:
                            type: object
                            properties:
                              paymentDataType:
                                type: string
                                description: 解密 Apple Pay 支付 token 得到的支付数据类型，按解密结果传入对应类型。
                                enum:
                                  - 3DSecure
                                  - EMV
                                x-enum-descriptions:
                                  3DSecure: Apple Pay 支付 token 中的 3DSecure 支付数据；包含 `onlinePaymentCryptogram`，可能包含
                                    `eciIndicator`，分别原样透传到 `cardInfo.cryptogram`
                                    与 `cardInfo.eci`。
                                  EMV: Apple Pay 支付 token 中的 EMV 支付数据，用于 EMV 模式的 token 交易。
                            required:
                              - paymentDataType
                            description: Apple Pay 专属元数据。
                            x-onerway-required: conditional
                            x-onerway-condition:
                              - 当 `wallet.type=ApplePay` 时必填。
                          googlePay:
                            type: object
                            properties:
                              authMethod:
                                type: string
                                description: Google Pay 解密 token 的认证方式。`CRYPTOGRAM_3DS` 需同时传
                                  `cardInfo.cryptogram` 和
                                  `cardInfo.eci`；`PAN_ONLY` 不含 3DS 凭证。
                                enum:
                                  - CRYPTOGRAM_3DS
                                  - PAN_ONLY
                                x-enum-descriptions:
                                  CRYPTOGRAM_3DS: Google Pay token 含 3DS 凭证；商户自解密后需提交 `cryptogram` 与 `eci`。
                                  PAN_ONLY: Google Pay token 仅包含卡数据，不含 3DS cryptogram。
                            required:
                              - authMethod
                            description: 商户自解密 Google Pay
                              token（`tokenizationSpecification.type=DIRECT`）的元数据。
                            x-onerway-required: conditional
                            x-onerway-condition:
                              - 当 `wallet.type=GooglePay` 时必填。
                            x-onerway-constraints:
                              - kind: rule
                                text: 商户自解密要求 Google Pay 前端使用 `DIRECT` tokenization，`protocolVersion=ECv2` 并在自己的
                                  Google Pay & Wallet Console 注册公钥；token
                                  以商户公钥加密，此时不使用查询可用支付方式返回的 `gatewayName` /
                                  `gatewayMerchantId`。
                        required:
                          - type
                        description: 钱包元数据；按 `type` 二选一传 `applePay` 或 `googlePay`。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 钱包商户自解密模式时必填。
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 商户自行采集卡信息支付时必填。
                    - Apple Pay / Google Pay 商户自解密模式时必填。
                    - 卡 token 支付（`subProductType=TOKEN`）时必填；与 `tokenInfo` 一起提交
                      `cardInfo.cvv`。
                    - Google Pay Onerway 代解密模式下，商户自行采集 `PAN_ONLY` 支付的 CVC 时必填；此时
                      `cardInfo` 只包含 `cvv`，并与 `tokenInfo` 一起提交。
                  x-onerway-constraints:
                    - kind: rule
                      text: Google Pay 商户自解密模式同样需按 Onerway 要求配置 `allowedAuthMethods`，详见
                        [tokenInfo](/zh/payments/api-reference/endpoints/direct-create-transaction#request-tokenInfo)
                        的约束说明。
                  x-onerway-format: json_string
                merchantCustId:
                  type: string
                  description: 客户在商户系统中的唯一标识。订阅交易中应以 `subscription.merchantCustId` 作为订阅客户标识；外层
                    `merchantCustId` 可不传，若同传则必须与 `subscription.merchantCustId`
                    保持一致。
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 卡 token 支付（`subProductType=TOKEN`）和订阅场景必填。
                merchantNo:
                  type: string
                  description: Onerway 分配的商户号；获取方式参见[接入准备](/zh/payments/get-started/setup#获取凭证)。
                  x-onerway-constraints:
                    - kind: rule
                      text: 平台模式下传该笔交易所属子商户的商户号，而不是平台商户号；该子商户需已在 Onerway 完成报备。
                merchantTxnId:
                  type: string
                  description: 商户系统生成的每笔支付唯一交易标识，用于交易跟踪、对账和防重复处理。
                merchantTxnTime:
                  type: string
                  description: 商户发起交易的时间戳，格式为 `yyyy-MM-dd HH:mm:ss`；未传时 Onerway 默认使用 UTC+8
                    时区记录交易时间。
                merchantTxnTimeZone:
                  type: string
                  description: 商户交易时间的时区偏移量；未传时 Onerway 默认使用 UTC+8 时区记录交易时间。
                metaData:
                  type: string
                  description: 本次交易的商户自定义数据，必须是包含合法 JSON 的字符串；交易查询和异步通知会原样返回，未传入时其中的 `metaData`
                    为空。
                mpiInfo:
                  type: string
                  description: 外部 3DS / MPI 认证结果。直连接入可使用自有或外部 MPI / 3DS Server 完成 3DS
                    认证，并将认证结果原样回传。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      version:
                        type: string
                        description: 外部 MPI / 3DS Server 返回的 3DS 协议版本。
                      eci:
                        type: string
                        description: 外部认证流程返回的电子商务指示符（ECI）。
                      cavv:
                        type: string
                        description: 发卡行返回的持卡人认证验证值（CAVV）。
                      xid:
                        type: string
                        description: 3DS v1 交易标识；与 `dsTransID` 二选一。
                      dsTransID:
                        type: string
                        description: 3DS v2+ Directory Server 交易标识；与 `xid` 二选一。
                    required:
                      - version
                      - eci
                      - cavv
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 当 `risk3dsStrategy=EXTERNAL` 时必填。
                  x-onerway-format: json_string
                lpmsInfo:
                  type: string
                  description: 本地支付方式信息，包含所选本地支付方式的配置参数。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      lpmsType:
                        type: string
                        description: 本地支付方式类型。
                        enum:
                          - GooglePay
                          - ApplePay
                          - JdPay
                          - Alipay+
                          - WeChat
                          - AlipayHK
                          - AlipayCN
                          - Kakao_Pay
                          - Klarna
                          - Boleto
                          - BankTransfer
                          - Banrisul
                          - Bradesco
                          - Banco do Brasil
                          - Itau
                          - MercadoPago
                          - PIX
                          - Servipag
                          - Sencillito
                          - Webpay
                          - Multicaja
                          - Baloto
                          - EFT
                          - Efecty
                          - SPEI
                          - OXXO
                          - OXXOPAY
                          - PagoEfectivo
                          - safetypay-cash
                          - safetypay-online
                          - PayU
                          - Przelewy24
                          - Pagosnet
                          - SEPADD
                          - Sofort
                          - Giropay
                          - iDEAL
                          - Konbini
                          - PayEasy
                          - POLi
                          - Bancontact
                          - OVO
                          - MyBank
                          - Dragonpay
                          - Skrill
                          - eNETS
                          - PayseraWallet
                          - LithuanianBanks
                          - PaySafeCard
                          - Paysafecash
                          - Payconiq
                          - Trustly
                          - PAY_BY_BANK
                          - GCash
                          - GrabPay
                          - PayMaya
                          - ELEVEN
                          - GrabPay SG
                          - TrueMoney Wallet
                          - Rabbit_Line_pay
                          - PromptPay
                          - KRUNGSRI_ONLINE
                          - BUALUANG_IBANKING
                          - CITI_POINTS
                          - K_PLUS
                          - MCASH
                          - TOUCH_GO_EWALLET
                          - ShopeePay
                          - Boost
                          - BNI
                          - MANDIRI
                          - Maybank
                          - PERMATA
                          - BRI
                          - CIMB
                          - DANA
                          - QRIS
                          - AKULAKU
                          - Paypay
                          - LINE_Pay
                          - Merpay
                          - Rakuten_Pay
                          - BitCash
                          - Net_Cash
                          - WebMoney
                          - au
                          - SoftBank
                          - NTT_Docomo
                          - Paidy
                          - BLIK
                          - BLIK_SEAMLESS
                          - cardpay
                          - stcpay
                          - tamara
                          - tabby
                          - MB_WAY
                        x-enum-descriptions:
                          GooglePay: Google Pay 钱包支付方式。
                          ApplePay: Apple Pay 钱包支付方式。
                          JdPay: JD Pay 支付方式。
                          Alipay+: Alipay+ 支付方式。
                          WeChat: 微信支付方式。
                          AlipayHK: 支付宝香港支付方式。
                          AlipayCN: 支付宝中国内地支付方式。
                          Kakao_Pay: Kakao Pay 支付方式。
                          Klarna: Klarna 支付方式。
                          Boleto: Boleto 支付方式。
                          BankTransfer: 银行转账支付方式。
                          Banrisul: Banrisul 银行支付方式。
                          Bradesco: Bradesco 银行支付方式。
                          Banco do Brasil: Banco do Brasil 银行支付方式。
                          Itau: Itaú 银行支付方式。
                          MercadoPago: Mercado Pago 支付方式。
                          PIX: PIX 即时支付方式。
                          Servipag: Servipag 支付方式。
                          Sencillito: Sencillito 支付方式。
                          Webpay: Webpay 支付方式。
                          Multicaja: Multicaja 支付方式。
                          Baloto: Baloto 现金支付方式。
                          EFT: 电子资金转账支付方式。
                          Efecty: Efecty 现金支付方式。
                          SPEI: SPEI 银行转账支付方式。
                          OXXO: OXXO 现金凭证支付方式。
                          OXXOPAY: OXXO Pay 支付方式。
                          PagoEfectivo: PagoEfectivo 现金支付方式。
                          safetypay-cash: SafetyPay Cash 支付方式。
                          safetypay-online: SafetyPay Online 支付方式。
                          PayU: PayU 支付方式。
                          Przelewy24: Przelewy24 支付方式。
                          Pagosnet: Pagosnet 支付方式。
                          SEPADD: SEPA 直接借记支付方式。
                          Sofort: Sofort 支付方式。
                          Giropay: giropay 支付方式。
                          iDEAL: iDEAL 支付方式。
                          Konbini: Konbini 便利店支付方式。
                          PayEasy: Pay-easy 支付方式。
                          POLi: POLi 支付方式。
                          Bancontact: Bancontact 支付方式。
                          OVO: OVO 钱包支付方式。
                          MyBank: MyBank 支付方式。
                          Dragonpay: Dragonpay 支付方式。
                          Skrill: Skrill 支付方式。
                          eNETS: eNETS 支付方式。
                          PayseraWallet: Paysera Wallet 支付方式。
                          LithuanianBanks: 立陶宛银行支付方式。
                          PaySafeCard: paysafecard 预付卡支付方式。
                          Paysafecash: paysafecash 支付方式。
                          Payconiq: Payconiq 支付方式。
                          Trustly: Trustly 支付方式。
                          PAY_BY_BANK: Pay by Bank 银行账户支付方式。
                          GCash: GCash 钱包支付方式。
                          GrabPay: GrabPay 钱包支付方式。
                          PayMaya: Maya 钱包支付方式。
                          ELEVEN: 7-Eleven 支付方式。
                          GrabPay SG: GrabPay Singapore 钱包支付方式。
                          TrueMoney Wallet: TrueMoney Wallet 支付方式。
                          Rabbit_Line_pay: Rabbit LINE Pay 支付方式。
                          PromptPay: PromptPay 支付方式。
                          KRUNGSRI_ONLINE: Krungsri Online 网银支付方式。
                          BUALUANG_IBANKING: Bualuang iBanking 支付方式。
                          CITI_POINTS: Citi Rewards Points 支付方式。
                          K_PLUS: K PLUS 支付方式。
                          MCASH: MCash 钱包支付方式。
                          TOUCH_GO_EWALLET: Touch 'n Go eWallet 支付方式。
                          ShopeePay: ShopeePay 钱包支付方式。
                          Boost: Boost 钱包支付方式。
                          BNI: BNI 虚拟账户支付方式。
                          MANDIRI: Mandiri 虚拟账户支付方式。
                          Maybank: Maybank 虚拟账户支付方式。
                          PERMATA: Permata 虚拟账户支付方式。
                          BRI: BRI 虚拟账户支付方式。
                          CIMB: CIMB 虚拟账户支付方式。
                          DANA: DANA 钱包支付方式。
                          QRIS: QRIS 支付方式。
                          AKULAKU: Akulaku 支付方式。
                          Paypay: PayPay 支付方式。
                          LINE_Pay: LINE Pay 支付方式。
                          Merpay: Merpay 支付方式。
                          Rakuten_Pay: Rakuten Pay 支付方式。
                          BitCash: BitCash 支付方式。
                          Net_Cash: NetCash 支付方式。
                          WebMoney: WebMoney 支付方式。
                          au: au PAY 支付方式。
                          SoftBank: SoftBank 运营商支付方式。
                          NTT_Docomo: d払い（Docomo）运营商支付方式。
                          Paidy: Paidy 支付方式。
                          BLIK: BLIK 支付方式。
                          BLIK_SEAMLESS: BLIK Seamless 支付方式。
                          cardpay: MADA 支付方式。
                          stcpay: stc pay 支付方式。
                          tamara: Tamara 支付方式。
                          tabby: Tabby 支付方式。
                          MB_WAY: MB Way 支付方式。
                      bankName:
                        type: string
                        description: 银行标识。请求中传入所选本地支付方式对应枚举项的 `value`；显示名称仅供说明。
                        enum:
                          - banco_agrario
                          - banco_av_villas
                          - banco_bbva_colombia_s.a.
                          - banco_caja_social
                          - banco_colpatria
                          - banco_cooperativo_coopcentral
                          - banco_corpbanca_s.a
                          - banco_davivienda
                          - banco_de_bogota
                          - banco_de_occidente
                          - bancofalabella
                          - banco_gnb_sudameris
                          - banco_pichincha_s.a.
                          - banco_procredit
                          - bancolombia
                          - bancoomeva_s.a.
                          - citibank_
                          - itau
                          - nequi
                          - "20"
                          - "26"
                          - "31"
                          - "33"
                          - "43"
                          - "45"
                          - "49"
                          - "52"
                          - "53"
                          - "54"
                          - "64"
                          - "65"
                          - "69"
                          - "85"
                          - "88"
                          - "90"
                          - "95"
                          - "99"
                          - "112"
                          - "119"
                          - "129"
                          - "131"
                          - "136"
                          - "141"
                          - "143"
                          - "144"
                          - "153"
                          - "154"
                          - "158"
                          - "161"
                          - "185"
                          - "222"
                          - "223"
                          - "243"
                          - "266"
                          - "270"
                          - "271"
                          - "272"
                          - "274"
                          - "275"
                          - "279"
                          - "280"
                        x-onerway-enum-variants:
                          - title: EFT
                            when: 当 `lpmsType=EFT` 时。
                            values:
                              - value: banco_agrario
                                description: BANCO AGRARIO
                              - value: banco_av_villas
                                description: BANCO AV VILLAS
                              - value: banco_bbva_colombia_s.a.
                                description: BANCO BBVA COLOMBIA S.A.
                              - value: banco_caja_social
                                description: BANCO CAJA SOCIAL
                              - value: banco_colpatria
                                description: BANCO COLPATRIA
                              - value: banco_cooperativo_coopcentral
                                description: BANCO COOPERATIVO COOPCENTRAL
                              - value: banco_corpbanca_s.a
                                description: BANCO CORPBANCA S.A
                              - value: banco_davivienda
                                description: BANCO DAVIVIENDA
                              - value: banco_de_bogota
                                description: BANCO DE BOGOTA
                              - value: banco_de_occidente
                                description: BANCO DE OCCIDENTE
                              - value: bancofalabella
                                description: BANCO FALABELLA
                              - value: banco_gnb_sudameris
                                description: BANCO GNB SUDAMERIS
                              - value: banco_pichincha_s.a.
                                description: BANCO PICHINCHA S.A.
                              - value: banco_procredit
                                description: BANCO PROCREDIT
                              - value: bancolombia
                                description: BANCOLOMBIA
                              - value: bancoomeva_s.a.
                                description: BANCOOMEVA S.A.
                              - value: citibank_
                                description: CITIBANK
                              - value: itau
                                description: ITAU
                              - value: nequi
                                description: NEQUI
                          - title: Przelewy24
                            when: 当 `lpmsType=Przelewy24` 时。
                            values:
                              - value: "20"
                                description: Santander Bank Polska - Pretzel24 payment system
                              - value: "26"
                                description: Pay with Inteligo
                              - value: "31"
                                description: Pay with iPKO (PKO BP)
                              - value: "33"
                                description: BNP Paribas banking group
                              - value: "43"
                                description: Bank Polska Kasa Opieki Spółka Akcyjna
                              - value: "45"
                                description: Credit Agricole banking group
                              - value: "49"
                                description: ING Bank Śląski
                              - value: "52"
                                description: Inteligo Account
                              - value: "53"
                                description: Powszechna Kasa Oszczędności Bank Polski (iPKO)
                              - value: "54"
                                description: Santander Bank Polska
                              - value: "64"
                                description: Toyota Bank
                              - value: "65"
                                description: Bank Polska Kasa Opieki Spółka Akcyjna
                              - value: "69"
                                description: Volkswagen Bank
                              - value: "85"
                                description: Bank Millennium S.A.
                              - value: "88"
                                description: Pay with Alior Bank
                              - value: "90"
                                description: Nest Bank
                              - value: "95"
                                description: Credit Agricole banking group
                              - value: "99"
                                description: Pay with BOŚ Bank
                              - value: "112"
                                description: Pay with ING Bank
                              - value: "119"
                                description: Pay with Citi Handlowy
                              - value: "129"
                                description: Alior Bank - Installment payments
                              - value: "131"
                                description: Pay with Plus Bank
                              - value: "136"
                                description: mBank - Installment payments
                              - value: "141"
                                description: E-transfer with Pocztowy24
                              - value: "143"
                                description: Cooperative Banks
                              - value: "144"
                                description: Bank Nowy BFG S.A.
                              - value: "153"
                                description: Getin Bank
                              - value: "154"
                                description: Polish mobile payment system
                              - value: "158"
                                description: Noble Pay payment system
                              - value: "161"
                                description: Pay with Idea Bank
                              - value: "185"
                                description: Envelope Bank
                              - value: "222"
                                description: Nest Bank Transfer
                              - value: "223"
                                description: BNP Paribas - Pay with Pl@net
                              - value: "243"
                                description: mBank - mTransfer service
                              - value: "266"
                                description: P24now payment service
                              - value: "270"
                                description: mBank (ITP Service)
                              - value: "271"
                                description: ING Bank Śląski (ITP Service)
                              - value: "272"
                                description: BNP Paribas (ITP Service)
                              - value: "274"
                                description: PKO BP (ITP Service)
                              - value: "275"
                                description: Santander (ITP Service)
                              - value: "279"
                                description: Inteligo (ITP Service)
                              - value: "280"
                                description: mBank - Installment payments
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 当 `lpmsType=EFT` 或 `lpmsType=Przelewy24` 时必填。
                      walletAccountId:
                        type: string
                        description: 钱包或本地账户标识符。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 所选本地支付方式需要采集钱包账户或本地账户标识符时必填。
                      walletAccountName:
                        type: string
                        description: 钱包或本地账户名称。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 所选本地支付方式需要采集钱包账户或本地账户名称时必填。
                      iBan:
                        type: string
                        description: 国际银行账号。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 在使用 IBAN 进行银行识别的地区转账时必填。
                      prepaidNumber:
                        type: string
                        description: 预付卡或充值卡号。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 所选日本预付类支付方式需要采集预付卡或充值卡号时必填。
                    required:
                      - lpmsType
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 当 `productType=LPMS` 时必填。
                  x-onerway-format: json_string
                orderAmount:
                  type: string
                  description: 指定货币的交易金额，使用十进制字符串。零小数币种必须表示整数金额，可带 `.00` 这类全 0
                    小数；非零小数会被拒绝。格式要求详见[币种与金额校验](/zh/payments/get-started/currency-and-amount)。
                orderCurrency:
                  type: string
                  description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 三位字母货币代码，需与
                    `orderAmount` 匹配。"
                osType:
                  type: string
                  description: 移动端和应用交易的操作系统类型。
                  enum:
                    - IOS
                    - ANDROID
                  x-enum-descriptions:
                    IOS: iOS 设备。
                    ANDROID: Android 设备。
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 当 `paymentMode` 不是 `WEB` 时必填。
                paymentMode:
                  type: string
                  description: 交易平台或环境的支付模式；默认 `WEB`。
                  enum:
                    - WEB
                    - APP
                    - WAP
                  x-enum-descriptions:
                    WEB: 桌面浏览器支付。
                    APP: 原生移动 App 支付。
                    WAP: 移动浏览器支付。
                paymentMethodOptions:
                  type: string
                  description: 支付方式配置选项；直连交易支持 `card` 与 `share` 对象。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      card:
                        type: object
                        properties:
                          avsEnabled:
                            type: boolean
                            description: 是否开启 AVS（地址验证服务）；使用前需提前联系 Onerway 开通。设为 `true` 时使用账单地址进行 AVS
                              验证，结果通过交易查询和 Webhook 的
                              `paymentMethodDetails.card.checks` 返回。
                        description: 卡支付配置项。
                      share:
                        type: object
                        properties:
                          profitShare:
                            type: boolean
                            description: 本次交易是否允许分账；启用后该笔交易才可参与后续分账。传 `true` 但未同时传 `profitShareRate`
                              时不会自动分账，仍可使用本次请求返回的
                              `transactionId`，通过[发起分账或分账回退](/zh/payments/api-reference/endpoints/create-or-reverse-profit-share)接口发起分账。
                          profitShareNotifyUrl:
                            type: string
                            description: 接收自动分账及分账回退通知的地址。不传时，不发送自动分账或分账回退通知。
                            x-onerway-constraints:
                              - kind: consistency
                                text: 非空地址必须使用 HTTPS，并与 `profitShare=true` 同时提交，否则支付请求会被拒绝。
                              - kind: rule
                                text: 仅在 `profitShare=true` 时保存该地址。`CAPTURE` 交易继承原 `AUTH`
                                  交易的地址。原支付已配置该地址时，后续分账或分账回退请求无需再传
                                  `urlCallback`。
                          profitShareRate:
                            type: string
                            description: 自动分账比例，`1` 表示 1%，`100` 表示 100%。`SALE` 或 `CAPTURE`
                              成功后按该比例自动分账给平台商户；发生退款或拒付时，按同一比例退还对应的分账金额。
                            x-onerway-constraints:
                              - kind: range
                                min: 1
                                max: 100
                                unit: "%"
                              - kind: rule
                                text: 需传入整数形式的字符串；小数、`0`、负数或大于 100 的取值会被拒绝。
                              - kind: consistency
                                text: 需与 `profitShare=true` 同时传入；`profitShare` 未传或为 `false` 时传入比例会被拒绝。
                        description: 本次交易的分账配置。平台模式下，子商户收到的款项中会有一部分分给平台商户。
                        x-onerway-lifecycle:
                          status: new
                          since: 2026-08-10
                          description:
                            en: New object for transaction profit sharing.
                            zh: 交易分账的新增对象。
                  x-onerway-format: json_string
                productType:
                  type: string
                  description: 支付方式范围。直连接口必须明确选择 `CARD` 或 `LPMS`；`ALL` 属于收银台聚合展示概念，本接口不支持。
                  enum:
                    - CARD
                    - LPMS
                  x-enum-descriptions:
                    CARD: 卡支付范围，包含商户自行采集卡信息的卡支付以及 Apple Pay / Google Pay 钱包支付。
                    LPMS: 本地支付方式范围；使用该取值时需同时传入 `lpmsInfo`。
                retailers:
                  type: string
                  description: marketplace 交易的零售商信息；订单包含的每个零售商各传入一个对象。
                  contentMediaType: application/json
                  contentSchema:
                    type: array
                    items:
                      type: object
                      properties:
                        retailerId:
                          type: string
                          description: 商户自行定义的零售商唯一标识；需在 marketplace 或商户体系内保持唯一。该标识不是 `merchantNo` 中传入的
                            Onerway 子商户号，两者属于不同的标识体系。
                          x-onerway-constraints:
                            - kind: range
                              max: 64
                              unit: 字符
                        retailerName:
                          type: string
                          description: 零售商名称；建议传入其正式注册名称或对外经营名称。
                          x-onerway-constraints:
                            - kind: range
                              max: 128
                              unit: 字符
                        retailerCountry:
                          type: string
                          description: 零售商所在国家或地区，使用 [ISO 3166-1
                            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
                            国家或地区代码。
                      required:
                        - retailerId
                        - retailerName
                        - retailerCountry
                  x-onerway-constraints:
                    - kind: rule
                      text: 适用于 marketplace / 平台模式下商品由第三方零售商销售的场景；仅销售自有商品的商户无需传入。
                    - kind: consistency
                      text: 传入该字段后，`txnOrderMsg.products` 中的每个商品都需要传入 `retailerId`，且取值需命中此处列出的某个零售商。
                  x-onerway-format: json_string
                  x-onerway-lifecycle:
                    status: new
                    since: 2026-08-10
                    description:
                      en: New field for marketplace retailer information.
                      zh: marketplace 零售商信息的新增字段。
                risk3dsStrategy:
                  type: string
                  description: 3DS 风控策略；直连接入支持 `DEFAULT`、`INNER`、`NONE`、`EXTERNAL`。选择 `EXTERNAL`
                    时必须同时传入 `mpiInfo` 回传外部 3DS 认证结果；如需指定非默认策略，需提前联系 Onerway
                    确认配置。
                  enum:
                    - DEFAULT
                    - INNER
                    - NONE
                    - EXTERNAL
                  x-enum-descriptions:
                    DEFAULT: 默认策略，由 Onerway 根据交易、商户配置和风控判断是否发起 3DS 验证。
                    INNER: 强制使用 Onerway 托管的 3DS 验证流程。
                    NONE: 不走 3DS 验证；是否可用需结合商户配置和风控要求确认。
                    EXTERNAL: 使用外部 MPI / 3DS Server 完成认证，并通过 `mpiInfo` 回传认证结果。
                shippingInformation:
                  type: string
                  description: 交易配送信息，包含客户配送地址和联系信息。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      firstName:
                        type: string
                        description: 客户名字。
                      lastName:
                        type: string
                        description: 客户姓氏。
                      jpFirstName:
                        type: string
                        description: 日语片假名格式的名字；仅日本支付方式和日本发行的卡需要。
                      jpLastName:
                        type: string
                        description: 日语片假名格式的姓氏；仅日本支付方式和日本发行的卡需要。
                      phone:
                        type: string
                        description: 客户电话号码，仅填本地号码（不含国家码）；国家码请单独传入 `phoneCountryCode`。Onerway 当前不强校验格式。
                      phoneCountryCode:
                        type: string
                        description: 客户电话号码的国家拨号码，纯数字、不含 `+`；与 `phone` 组合为完整号码。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 当 `lpmsType=MB_WAY` 时必填。
                      email:
                        type: string
                        description: 客户邮箱地址，用于交易确认和争议处理。
                      postalCode:
                        type: string
                        description: 邮政编码；许多地区的 AVS 验证需要此字段。
                      address:
                        type: string
                        description: 完整地址字段，可替代街道、门牌号和城市等拆分字段；不建议用于 AVS 验证。
                      country:
                        type: string
                        description: "[ISO 3166-1
                          alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alph\
                          a-2) 国家或地区代码。"
                      province:
                        type: string
                        description: "[ISO
                          3166-2](https://en.wikipedia.org/wiki/ISO_3166-2#Current_code\
                          s) 省/州代码。"
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 当 `country` 为 `US` 或 `CA` 时必填。
                      city:
                        type: string
                        description: 城市名称。开启 AVS 或需要完整账单地址时建议传入。
                      street:
                        type: string
                        description: 街道名称。开启 AVS 时建议与 `number`、`postalCode`、`city` 拆分传入。
                      number:
                        type: string
                        description: 门牌号或建筑号。开启 AVS 时建议与其他拆分地址字段一起传入。
                      identityNumber:
                        type: string
                        description: 政府颁发的身份标识，通常用于特定本地支付方式或高额交易的 KYC 合规。
                      birthDate:
                        type: string
                        description: 出生日期，格式为 `yyyy/MM/dd`。
                    required:
                      - email
                      - country
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                  x-onerway-format: json_string
                sign:
                  type: string
                  description: 请求签名字符串；生成方式详见[请求签名](/zh/payments/get-started/request-signing)。
                subProductType:
                  type: string
                  description: 所选支付方式范围下的交易处理模式，需要与 `productType` 和 `txnType` 配合定义交易模型。
                  enum:
                    - DIRECT
                    - TOKEN
                    - SUBSCRIBE
                    - INSTALLMENT
                  x-enum-descriptions:
                    DIRECT: 普通直连支付，按 `productType` 与 `txnType` 执行一次性扣款、钱包支付、本地支付或预授权。
                    TOKEN: 卡 token 支付，使用已保存的卡 token 扣款；需配合客户标识，并必须提交 `cardInfo.cvv`。
                    SUBSCRIBE: 订阅交易；通过 `subscription.requestType` 支持初始订阅、商户自主管理后续扣款与托管订阅计划更新。
                    INSTALLMENT: 分期交易；需在 `txnOrderMsg.periodValue` 中传入咨询分期期数接口返回的期数值。
                subscription:
                  type: string
                  description: 订阅信息。本直连接口支持初始订阅（`requestType=0`）、后续扣款（`requestType=1`，自主管理订阅的本期扣款）和订阅更新（`requestType=2`，托管订阅计划升级
                    / 降级）。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      requestType:
                        type: string
                        description: 订阅请求类型，区分初始订阅、后续扣款与订阅更新。
                        enum:
                          - "0"
                          - "1"
                          - "2"
                        x-enum-descriptions:
                          "0": 初始订阅请求，建立订阅合约。
                          "1": 后续扣款，使用已有合约与 token 完成本期扣款。
                          "2": 托管订阅计划更新，例如升级或降级。
                      merchantCustId:
                        type: string
                        description: 订阅客户在商户系统中的唯一标识。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 选填。订阅客户标识通过外层 `merchantCustId` 传入；本字段如同时传入，两者必须一致。
                      selfExecute:
                        type: string
                        description: 订阅执行方式，用于区分托管订阅和自主管理订阅。
                        enum:
                          - "1"
                          - "2"
                        x-enum-descriptions:
                          "1": 由 Onerway 按订阅计划自动扣款。
                          "2": 由商户在每个订阅周期主动发起扣款。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 初始订阅请求（`requestType=0`）中提供。
                      mode:
                        type: string
                        description: 订阅首期扣款方式；不传时默认为 `2`。
                        enum:
                          - "1"
                          - "2"
                        x-enum-descriptions:
                          "1": 仅获取用户订阅授权并返回授权结果，暂不扣款；首期扣款改由商户自行发起，仅自主管理订阅（`selfExecute=2`）适用。
                          "2": 获取用户授权后立即完成首期扣款；适用于卡订阅及需用户授权的本地支付方式。
                      metaData:
                        type: string
                        description: 订阅的商户自定义数据，必须是包含合法 JSON 的字符串；同时传入外层 `metaData` 与
                          `subscription.metaData` 时，以 `subscription.metaData`
                          为准。
                      productName:
                        type: string
                        description: 订阅产品或计划名称；`selfExecute=1` 和 `selfExecute=2` 均支持传入，用于在订阅记录中区分商品或计划。
                      amountOff:
                        type: string
                        description: 优惠期内每期订阅扣款减免的固定金额。
                        x-onerway-constraints:
                          - kind: rule
                            text: 使用 decimal string 格式；币种和精度与外层 `orderCurrency`
                              一致，规则见[币种与金额校验](/zh/payments/get-started/currency-and-amount)。
                          - kind: consistency
                            text: 必须大于 `0` 且小于外层 `orderAmount`，以确保实际扣款金额大于 `0`。
                          - kind: unsupported
                            text: 续费请求（`requestType=1`）和托管订阅（`selfExecute=1`）不支持该字段。
                        x-onerway-lifecycle:
                          status: new
                          since: 2026-08-12
                          description:
                            en: New field for fixed-amount discounts on initial merchant-managed
                              subscription cycles.
                            zh: 非托管订阅前若干期固定金额优惠的新增字段。
                      amountOffCycleCount:
                        type: integer
                        description: 享受 `amountOff` 优惠的成功订阅扣款期数；不传时仅首次成功扣款享受优惠。
                        x-onerway-constraints:
                          - kind: range
                            min: 1
                            unit: 期
                          - kind: consistency
                            text: 仅可与 `amountOff` 同时传入；与托管订阅的 `cycleCount` 字段无关。
                          - kind: rule
                            text: 仅成功扣款消耗优惠期数；仅授权、失败、取消和处理中的交易均不消耗。
                          - kind: unsupported
                            text: 续费请求（`requestType=1`）和托管订阅（`selfExecute=1`）不支持该字段。
                        x-onerway-lifecycle:
                          status: new
                          since: 2026-08-12
                          description:
                            en: New field for extending a fixed-amount discount across multiple subscription
                              charges.
                            zh: 将固定金额优惠延续到多期订阅扣款的新增字段。
                      frequencyType:
                        type: string
                        description: 订阅计费频率类型。`selfExecute=1` 支持 `D`、`M`、`Y`；`selfExecute=2` 仅支持 `D`。
                        enum:
                          - D
                          - M
                          - Y
                        x-enum-descriptions:
                          D: 按天计费。
                          M: 按月计费。
                          Y: 按年计费。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 初始订阅请求中提供；自主管理订阅（`selfExecute=2`）仅支持 `D`。
                      frequencyPoint:
                        type: string
                        description: 计费周期长度，单位由 `frequencyType` 指定。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 初始订阅请求中提供。
                        x-onerway-constraints:
                          - kind: values
                            text: 托管订阅（`selfExecute=1`）中，`frequencyType=D` 时可传
                              `1`、`7`、`14`；`frequencyType=M` 时可传
                              `1`、`3`、`6`；`frequencyType=Y` 时仅可传
                              `1`。自主管理订阅（`selfExecute=2`）中该值没有固定取值集合，表示计费周期的天数，例如月度订阅传
                              `30`、年度订阅传 `365`。
                          - kind: rule
                            text: 自主管理订阅（`selfExecute=2`）中，该值仅用于记录订阅的计费周期：Onerway
                              不据此自动发起扣款，也不校验实际扣款时间是否符合该周期；每期续费扣款由商户自行发起。
                      expireDate:
                        type: string
                        description: 订阅到期日期。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 使用到期日期定义订阅结束时间时提供。
                      cycleCount:
                        type: integer
                        description: 订阅计费周期数量，取值范围 `1-99`。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 托管订阅（`selfExecute=1`）中使用固定周期数定义订阅计划时提供。
                      trialFromPlan:
                        type: string
                        description: 托管订阅的试用期计费控制。
                        enum:
                          - "0"
                          - "1"
                        x-enum-descriptions:
                          "0": 试用期不收费。
                          "1": 试用期按订阅计划计费。
                      trialDays:
                        type: integer
                        description: 试用期持续天数，取值范围 `3-365`。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 托管订阅中按天数设置试用期时提供；与 `trialEnd` 二选一。
                      trialEnd:
                        type: string
                        description: 试用期结束日期。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 托管订阅中按结束日期设置试用期时提供；与 `trialDays` 二选一。
                      notificationEmail:
                        type: string
                        description: 订阅通知邮箱；订阅确认、状态变更、扣款通知都会发送到该邮箱。
                      bindCard:
                        type: boolean
                        description: 托管卡订阅首次支付成功后，是否保存客户的卡。保存结果由 Onerway
                          通过独立的[保存支付方式结果通知](/zh/payments/api-reference/webhooks/payment-method-result)（`txnType=BIND_CARD`）发送。
                        x-onerway-constraints:
                          - kind: rule
                            text: 保存成功时，[保存支付方式结果通知](/zh/payments/api-reference/webhooks/payment-method-result)返回
                              `status=S`，其 `tokenId` 即保存支付方式 token，可用于本接口的
                              `subProductType=TOKEN`
                              支付。订阅扣款使用[订阅扣款通知](/zh/payments/api-reference/webhooks/subscription-payment)返回的
                              `contractId` 与 `tokenId`，通过
                              `subProductType=SUBSCRIBE` 发起，与保存支付方式 token 是两个不同的
                              token。
                          - kind: rule
                            text: 本地支付方式订阅忽略该字段：其订阅授权结果总会通过保存支付方式结果通知发送。
                          - kind: unsupported
                            text: "`selfExecute=2` 自主管理订阅不支持。"
                      contractId:
                        type: string
                        description: 初始订阅成功后返回的订阅合约 ID。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 后续扣款或订阅更新（`requestType=1` 或 `2`）时必填。
                      tokenId:
                        type: string
                        description: 初始订阅保存的支付 token。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 后续扣款或订阅更新（`requestType=1` 或 `2`）时必填。
                      changeMode:
                        type: string
                        description: 订阅计划变更的生效方式。
                        enum:
                          - "1"
                          - "2"
                        x-enum-descriptions:
                          "1": 立即生效；Onerway 按当前计费周期剩余天数计算 proration，升级即时扣款，降级如需退款需调用退款接口处理。
                          "2": 下个计费周期生效；不立即扣款，变更在下次计费日生效。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 托管订阅计划更新（`requestType=2`）时传入。
                      proration:
                        type: string
                        description: 计划变更需向用户收取的差价金额。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 托管订阅计划更新且 `prorationMode=0`（商户计算）时必填。
                      prorationMode:
                        type: string
                        description: 托管订阅更新时差价由谁计算；不传时默认由 Onerway 自动计算（`1`）。
                        enum:
                          - "0"
                          - "1"
                        x-enum-descriptions:
                          "0": 商户计算差价，并通过 `proration` 提交金额。
                          "1": Onerway 自动计算差价。
                    required:
                      - requestType
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 当 `subProductType=SUBSCRIBE` 时必填。
                  x-onerway-format: json_string
                tokenInfo:
                  type: string
                  description: 以 token 凭据发起支付。钱包场景传钱包 SDK 返回的加密 token，由 Onerway 代解密。卡 token 支付传生成卡
                    token 或保存支付方式返回的卡 token；订阅 token 通过 `subscription.tokenId`
                    传入，不在此处。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      provider:
                        type: string
                        description: 钱包 token 来源类型。
                        enum:
                          - ApplePay
                          - GooglePay
                        x-enum-descriptions:
                          ApplePay: Apple Pay 钱包。
                          GooglePay: Google Pay 钱包。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 钱包支付必填；卡 token 支付时不传。
                      tokenId:
                        type: string
                        description: token 值。钱包场景为钱包 SDK 返回的加密 token，需原样透传；卡 token 支付为此前返回的卡 token。
                    required:
                      - tokenId
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - Apple Pay / Google Pay Onerway 代解密模式时必填。
                    - 卡 token 支付（`subProductType=TOKEN`）时必填。
                  x-onerway-constraints:
                    - kind: rule
                      text: Onerway 要求 Google Pay `CARD` 支付方式参数中的 `allowedAuthMethods` 同时包含 `PAN_ONLY`
                        和 `CRYPTOGRAM_3DS`。该要求适用于 Onerway 代解密和商户自解密两种模式；商户自解密时通过
                        [cardInfo](/zh/payments/api-reference/endpoints/direct-create-transaction#request-cardInfo)
                        提交解密后的支付数据。
                    - kind: rule
                      text: Google Pay 由 Onerway 代解密时对应 `PAYMENT_GATEWAY` tokenization：Google Pay 前端的
                        `gateway` 与 `gatewayMerchantId` 参数分别取查询可用支付方式返回的
                        `gatewayName` 与 `gatewayMerchantId`。该 token 以 Onerway
                        密钥加密，商户无法自行解密。
                    - kind: rule
                      text: Google Pay Onerway 代解密模式下，创建交易前可选择调用[检查 Google Pay PAN_ONLY
                        token](/zh/payments/api-reference/endpoints/check-google-pay-pan-only)。提交
                        `PAN_ONLY` token 时，若未传
                        `cardInfo.cvv`，无论是否已调用检查接口，交易响应均返回 `data.status=R` 和
                        `data.redirectUrl`。商户需引导用户跳转至 `data.redirectUrl`，在
                        Onerway 托管页面输入 CVC；若自行采集 CVC，则通过
                        [cardInfo.cvv](/zh/payments/api-reference/endpoints/direct-create-transaction#request-cardInfo-cvv)
                        与 `tokenInfo` 一起提交。
                  x-onerway-format: json_string
                txnOrderMsg:
                  type: string
                  description: 交易业务信息，包含 `returnUrl`、`notifyUrl`、`appId`、商品信息以及由商户采集的浏览器、设备和持卡人 IP
                    信息。
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      returnUrl:
                        type: string
                        description: 同步回跳地址，主要用于 3DS challenge 等跳转场景；商户应通过 Webhook 或交易查询确认最终结果。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      products:
                        type: string
                        description: 顾客购买的商品信息列表；商品金额、折扣和运费合计需要等于 `orderAmount`。
                        contentMediaType: application/json
                        contentSchema:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                description: 商品名称。
                              price:
                                type: string
                                description: 商品单价。
                              num:
                                type: string
                                description: 商品数量。
                              productAvatarUrl:
                                type: string
                                description: 商品图片链接；需为 HTTPS，格式 JPG / PNG / WebP。
                                x-onerway-required: conditional
                                x-onerway-condition:
                                  - 当 `lpmsType` 为 `stcpay`、`tamara`、`tabby` 或
                                    `cardpay` 时必填。
                              desc:
                                type: string
                                description: 商品描述。
                              currency:
                                type: string
                                description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 货币代码。"
                              type:
                                type: string
                                description: 商品类别；默认不填即普通商品。`discount` 商品金额需要传负数。
                                enum:
                                  - virtual
                                  - physical
                                  - shipping_fee
                                  - discount
                                x-enum-descriptions:
                                  virtual: 虚拟商品。
                                  physical: 实物商品。
                                  shipping_fee: 运费商品项。
                                  discount: 折扣商品项，金额需要传负数。
                                x-onerway-required: conditional
                                x-onerway-condition:
                                  - 当 `lpmsType` 为 `stcpay`、`tamara`、`tabby` 或
                                    `cardpay` 时必须使用 `virtual` 或 `physical`
                                    区分商品类别；`shipping_fee` 和 `discount`
                                    可用于所有支付方式。
                              retailerId:
                                type: string
                                description: 销售该商品的零售商标识。
                                x-onerway-required: conditional
                                x-onerway-condition:
                                  - 传入 `retailers` 时必填。
                                x-onerway-constraints:
                                  - kind: consistency
                                    text: 取值必须命中 `retailers` 中的某一个 `retailerId`。
                                x-onerway-lifecycle:
                                  status: new
                                  since: 2026-08-10
                                  description:
                                    en: New field linking each product to its retailer.
                                    zh: 将商品关联到零售商的新增字段。
                            required:
                              - name
                              - price
                              - num
                              - currency
                        x-onerway-format: json_string
                      transactionIp:
                        type: string
                        description: 持卡人交易 IP，由商户采集并传入；应为终端用户 IP，而不是商户服务器 IP。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      appId:
                        type: string
                        description: 店铺 ID，商户在 Onerway 入驻时生成并可在后台获取。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      javaEnabled:
                        type: boolean
                        description: 持卡人浏览器是否启用 Java，由商户前端采集；可通过 `window.navigator.javaEnabled()` 获取。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      colorDepth:
                        type: string
                        description: 持卡人屏幕色深，由商户前端采集；可通过 `window.screen.colorDepth` 获取。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      screenHeight:
                        type: string
                        description: 持卡人屏幕高度，由商户前端采集；可通过 `window.screen.height` 获取。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      screenWidth:
                        type: string
                        description: 持卡人屏幕宽度，由商户前端采集；可通过 `window.screen.width` 获取。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      timeZoneOffset:
                        type: string
                        description: 持卡人浏览器时区偏移，由商户前端采集；可通过 `((new
                          Date()).getTimezoneOffset()).toString()` 获取。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      accept:
                        type: string
                        description: 持卡人浏览器的 `Accept` request header，由商户采集并传入。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      userAgent:
                        type: string
                        description: 持卡人浏览器 User-Agent，由商户前端采集。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      contentLength:
                        type: string
                        description: 持卡人浏览器内容长度，由商户采集并传入。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      customerPlatform:
                        type: string
                        description: 商户平台标识，Web 端传网站域名，App 端传应用名称。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 当 `lpmsType` 为 `stcpay`、`tamara`、`tabby` 或 `cardpay`
                            时必填。
                      language:
                        type: string
                        description: 持卡人浏览器语言，由商户前端采集；可通过 `window.navigator.language` 获取。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                      periodValue:
                        type: string
                        description: 分期付款期数，应使用咨询分期期数接口返回的期数值。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 外层 `subProductType=INSTALLMENT` 时必填。
                      notifyUrl:
                        type: string
                        description: 支付结果异步通知地址；商户收到 Webhook 通知后建议主动查询确认交易结果。
                        x-onerway-required: conditional
                        x-onerway-condition:
                          - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                    required:
                      - products
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - 除订阅后续扣款 / 更新（`subscription.requestType=1` 或 `2`）外必填。
                  x-onerway-format: json_string
                txnType:
                  type: string
                  description: 要执行的支付操作类型；该字段与 `productType`、`subProductType` 共同定义交易模型。`REFUND` 与
                    `BIND_CARD` 不在本下单接口范围。
                  enum:
                    - SALE
                    - AUTH
                  x-enum-descriptions:
                    SALE: 扣款型交易。与 `subProductType=DIRECT` / `TOKEN` / `SUBSCRIBE` / `INSTALLMENT`
                      组合时，分别用于普通支付、token 支付、订阅或分期交易。
                    AUTH: 预授权交易，先冻结持卡人卡上金额、暂不扣款；适用于商户自行采集卡信息支付和卡 token 支付，不适用于 LPMS、订阅或分期。
              required:
                - merchantNo
                - merchantTxnId
                - orderAmount
                - orderCurrency
                - productType
                - sign
                - subProductType
                - txnType
            examples:
              one-time-card:
                summary: 一次性商户自行采集卡信息支付
                value:
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  cardInfo: '{"holderName":"John
                    Smith","cardNumber":"{{CARD-NUMBER}}","month":"12","year":"2030","cvv":"{{CVV}}"}'
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_direct_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "99.99"
                  orderCurrency: USD
                  paymentMethodOptions: '{"card":{"avsEnabled":true}}'
                  paymentMode: WEB
                  productType: CARD
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  sign: "{{SIGN}}"
                  subProductType: DIRECT
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Demo
                    product\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  txnType: SALE
              wallet-token:
                summary: Onerway 代解密 Apple Pay 支付
                value:
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_wallet_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "99.99"
                  orderCurrency: USD
                  paymentMethodOptions: '{"card":{"avsEnabled":true}}'
                  paymentMode: WEB
                  productType: CARD
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  sign: "{{SIGN}}"
                  subProductType: DIRECT
                  tokenInfo: '{"provider":"ApplePay","tokenId":"{{APPLE-PAY-TOKEN}}"}'
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Demo
                    product\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  txnType: SALE
              saved-token:
                summary: 卡 token 支付
                value:
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  cardInfo: '{"cvv":"{{CVV}}"}'
                  merchantCustId: cust_demo_202606140001
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_saved_token_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "99.99"
                  orderCurrency: USD
                  paymentMethodOptions: '{"card":{"avsEnabled":true}}'
                  paymentMode: WEB
                  productType: CARD
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  sign: "{{SIGN}}"
                  subProductType: TOKEN
                  tokenInfo: '{"tokenId":"{{PAYMENT-TOKEN}}"}'
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Demo
                    product\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  txnType: SALE
              subscription:
                summary: 直连订阅支付
                value:
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  cardInfo: '{"holderName":"John
                    Smith","cardNumber":"{{CARD-NUMBER}}","month":"12","year":"2030","cvv":"{{CVV}}"}'
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_direct_subscription_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "99.99"
                  orderCurrency: USD
                  paymentMethodOptions: '{"card":{"avsEnabled":true}}'
                  paymentMode: WEB
                  productType: CARD
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  sign: "{{SIGN}}"
                  subProductType: SUBSCRIBE
                  subscription: '{"requestType":"0","merchantCustId":"cust_demo_subscription_202606140001","selfExecute":"1","mode":"2","productName":"Demo
                    monthly
                    subscription","frequencyType":"M","frequencyPoint":"1","cycleCount":12,"trialFromPlan":"0","notificationEmail":"customer@example.com","bindCard":true,"metaData":"{\"planCode\":\"monthly_basic\"}"}'
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Demo
                    product\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  txnType: SALE
              subscription-renewal:
                summary: 自主管理订阅后续扣款
                value:
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_direct_subscription_renewal_202606140001
                  merchantCustId: cust_demo_subscription_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  productType: CARD
                  subProductType: SUBSCRIBE
                  txnType: SALE
                  orderAmount: "9.99"
                  orderCurrency: USD
                  subscription: '{"requestType":"1","contractId":"replace_with_subscription_contract_id","tokenId":"replace_with_subscription_token_id"}'
                  txnOrderMsg: '{"products":"[{\"name\":\"Example unlimited
                    plan\",\"price\":\"9.99\",\"num\":\"1\",\"currency\":\"USD\"}]","appId":"{{APPID}}","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  sign: "{{SIGN}}"
              installment:
                summary: 直连分期支付
                value:
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  cardInfo: '{"holderName":"John
                    Smith","cardNumber":"{{CARD-NUMBER}}","month":"12","year":"2030","cvv":"{{CVV}}"}'
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_direct_installment_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "99.99"
                  orderCurrency: USD
                  paymentMethodOptions: '{"card":{"avsEnabled":true}}'
                  paymentMode: WEB
                  productType: CARD
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  sign: "{{SIGN}}"
                  subProductType: INSTALLMENT
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Demo
                    product\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}","periodValue":"3"}'
                  txnType: SALE
              local-payment-method:
                summary: 直连本地支付方式支付
                value:
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  lpmsInfo: '{"lpmsType":"EFT","bankName":"bancolombia"}'
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_direct_lpms_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "99.99"
                  orderCurrency: USD
                  paymentMethodOptions: '{"card":{"avsEnabled":true}}'
                  paymentMode: WEB
                  productType: LPMS
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  sign: "{{SIGN}}"
                  subProductType: DIRECT
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Demo
                    product\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  txnType: SALE
              pre-authorization:
                summary: 直连预授权支付
                value:
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  cardInfo: '{"holderName":"John
                    Smith","cardNumber":"{{CARD-NUMBER}}","month":"12","year":"2030","cvv":"{{CVV}}"}'
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_direct_auth_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "99.99"
                  orderCurrency: USD
                  paymentMethodOptions: '{"card":{"avsEnabled":true}}'
                  paymentMode: WEB
                  productType: CARD
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  sign: "{{SIGN}}"
                  subProductType: DIRECT
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Demo
                    product\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  txnType: AUTH
              apple-pay-merchant-decrypted:
                summary: 商户自解密 Apple Pay 支付
                value:
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_apple_pay_decrypted_202609090001
                  merchantTxnTime: 2026-09-09 10:30:00
                  merchantTxnTimeZone: +08:00
                  orderAmount: "99.99"
                  orderCurrency: USD
                  productType: CARD
                  subProductType: DIRECT
                  txnType: SALE
                  paymentMode: WEB
                  cardInfo: '{"holderName":"John
                    Smith","cardNumber":"{{CARD-NUMBER}}","month":"12","year":"2030","cryptogram":"{{APPLE-PAY-CRYPTOGRAM}}","eci":"05","wallet":{"type":"ApplePay","applePay":{"paymentDataType":"3DSecure"}}}'
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Wireless
                    Headphones\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  metaData: '{"orderSource":"direct-api-demo"}'
                  risk3dsStrategy: DEFAULT
                  sign: "{{SIGN}}"
              google-pay-onerway-decrypted:
                summary: Onerway 代解密 Google Pay 支付
                value:
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_google_pay_202609090001
                  merchantTxnTime: 2026-09-09 10:30:00
                  merchantTxnTimeZone: +08:00
                  orderAmount: "99.99"
                  orderCurrency: USD
                  productType: CARD
                  subProductType: DIRECT
                  txnType: SALE
                  paymentMode: WEB
                  tokenInfo: '{"provider":"GooglePay","tokenId":"{{GOOGLE-PAY-TOKEN}}"}'
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Wireless
                    Headphones\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  metaData: '{"orderSource":"direct-api-demo"}'
                  risk3dsStrategy: DEFAULT
                  sign: "{{SIGN}}"
              google-pay-merchant-decrypted:
                summary: 商户自解密 Google Pay CRYPTOGRAM_3DS 支付
                value:
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_google_pay_decrypted_202609090001
                  merchantTxnTime: 2026-09-09 10:30:00
                  merchantTxnTimeZone: +08:00
                  orderAmount: "99.99"
                  orderCurrency: USD
                  productType: CARD
                  subProductType: DIRECT
                  txnType: SALE
                  paymentMode: WEB
                  cardInfo: '{"holderName":"John
                    Smith","cardNumber":"{{CARD-NUMBER}}","month":"12","year":"2030","cryptogram":"{{GOOGLE-PAY-CRYPTOGRAM}}","eci":"05","wallet":{"type":"GooglePay","googlePay":{"authMethod":"CRYPTOGRAM_3DS"}}}'
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Wireless
                    Headphones\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  metaData: '{"orderSource":"direct-api-demo"}'
                  risk3dsStrategy: DEFAULT
                  sign: "{{SIGN}}"
              google-pay-pan-only-cvv:
                summary: Google Pay PAN_ONLY 商户自行采集 CVC 支付
                value:
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_google_pay_202609090001
                  merchantTxnTime: 2026-09-09 10:30:00
                  merchantTxnTimeZone: +08:00
                  orderAmount: "99.99"
                  orderCurrency: USD
                  productType: CARD
                  subProductType: DIRECT
                  txnType: SALE
                  paymentMode: WEB
                  tokenInfo: '{"provider":"GooglePay","tokenId":"{{GOOGLE-PAY-TOKEN}}"}'
                  cardInfo: '{"cvv":"{{CVV}}"}'
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Wireless
                    Headphones\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  metaData: '{"orderSource":"direct-api-demo"}'
                  risk3dsStrategy: DEFAULT
                  sign: "{{SIGN}}"
              marketplace-retailers:
                summary: 多零售商 marketplace 直连支付
                value:
                  billingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  cardInfo: '{"holderName":"John
                    Smith","cardNumber":"{{CARD-NUMBER}}","month":"12","year":"2030","cvv":"{{CVV}}"}'
                  merchantNo: "{{MERCHANT-NO}}"
                  merchantTxnId: txn_demo_direct_marketplace_202606140001
                  merchantTxnTime: 2026-06-14 10:30:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "150.00"
                  orderCurrency: USD
                  paymentMethodOptions: '{"card":{"avsEnabled":true}}'
                  paymentMode: WEB
                  productType: CARD
                  retailers: '[{"retailerId":"RTL_100001","retailerName":"ABC Retail
                    Limited","retailerCountry":"GB"},{"retailerId":"RTL_100002","retailerName":"XYZ
                    Store GmbH","retailerCountry":"DE"}]'
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"John","lastName":"Doe","phone":"4848980027","phoneCountryCode":"1","email":"customer@example.com","postalCode":"94016","address":"100
                    Market Street","country":"US","province":"CA","city":"San
                    Francisco","street":"Market Street","number":"100"}'
                  sign: "{{SIGN}}"
                  subProductType: DIRECT
                  txnOrderMsg: '{"returnUrl":"{{RETURN-URL}}","products":"[{\"name\":\"Wireless
                    Headphones\",\"price\":\"50.00\",\"num\":\"2\",\"currency\":\"USD\",\"retailerId\":\"RTL_100001\"},{\"name\":\"Desk
                    Lamp\",\"price\":\"50.00\",\"num\":\"1\",\"currency\":\"USD\",\"retailerId\":\"RTL_100002\"}]","transactionIp":"203.0.113.10","appId":"{{APPID}}","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"{{WEBHOOK-ENDPOINT}}"}'
                  txnType: SALE
              automatic-profit-share:
                summary: 配置自动分账通知的支付
                value:
                  billingInformation: '{"firstName":"Example","lastName":"Customer","email":"customer@example.com","country":"US","province":"CA"}'
                  cardInfo: '{"holderName":"Example
                    Customer","cardNumber":"replace_with_card_number","month":"12","year":"2030","cvv":"replace_with_cvv"}'
                  merchantNo: replace_with_merchant_no
                  merchantTxnId: example_automatic_profit_share_payment
                  merchantTxnTime: 2026-09-17 10:00:00
                  merchantTxnTimeZone: +08:00
                  metaData: '{"orderSource":"direct-api-demo"}'
                  orderAmount: "99.99"
                  orderCurrency: USD
                  paymentMethodOptions: '{"share":{"profitShare":true,"profitShareRate":"10","profitShareNotifyUrl":"https://developers.onerway.com/example-profit-callback"}}'
                  paymentMode: WEB
                  productType: CARD
                  risk3dsStrategy: DEFAULT
                  shippingInformation: '{"firstName":"Example","lastName":"Customer","email":"customer@example.com","country":"US","province":"CA"}'
                  sign: replace_with_calculated_signature
                  subProductType: DIRECT
                  txnOrderMsg: '{"returnUrl":"https://developers.onerway.com/example-return","products":"[{\"name\":\"Demo
                    product\",\"price\":\"99.99\",\"num\":\"1\",\"currency\":\"USD\"}]","transactionIp":"203.0.113.10","appId":"replace_with_app_id","javaEnabled":false,"colorDepth":"24","screenHeight":"1080","screenWidth":"1920","timeZoneOffset":"-480","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","userAgent":"Mozilla/5.0
                    (Demo
                    Browser)","contentLength":"0","language":"en-US","notifyUrl":"https://developers.onerway.com/example-notify"}'
                  txnType: SALE
      responses:
        "200":
          description: 需要跳转
          content:
            application/json:
              schema:
                type: object
                properties:
                  respCode:
                    type: string
                    description: 响应码；`20000`
                      表示请求处理成功，其余为错误码。完整码表见[响应码](/zh/payments/api-reference/response-codes)。
                  respMsg:
                    type: string
                    description: 响应码对应的可读说明。
                  data:
                    type: object
                    properties:
                      transactionId:
                        type:
                          - string
                          - "null"
                        description: Onerway 为本次交易生成的交易号，用于跟踪与查询。
                        x-onerway-value:
                          nullable: true
                          when:
                            en: Returned `null` in the redirect response of a Google Pay `PAN_ONLY` token
                              that still needs the CVC.
                            zh: Google Pay `PAN_ONLY` token 需补 CVC 的跳转响应中为 `null`。
                      paymentId:
                        type:
                          - string
                          - "null"
                        description: 支付意图 ID，标识本次支付；当前一笔请求对应一个 `paymentId`，与 `transactionId` 一一对应。
                        x-onerway-value:
                          nullable: true
                          when:
                            en: Returned `null` in the redirect response of a Google Pay `PAN_ONLY` token
                              that still needs the CVC.
                            zh: Google Pay `PAN_ONLY` token 需补 CVC 的跳转响应中为 `null`。
                      responseTime:
                        type:
                          - string
                          - "null"
                        description: 接口响应时间，格式 `yyyy-MM-dd HH:mm:ss`。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value after the transaction is processed.
                            zh: 交易处理后才有值。
                      txnTime:
                        type:
                          - string
                          - "null"
                        description: 交易完成时间，格式 `yyyy-MM-dd HH:mm:ss`。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value after the transaction completes.
                            zh: 交易完成后才有值。
                      txnTimeZone:
                        type:
                          - string
                          - "null"
                        description: 交易时区偏移量，格式 `±HH:mm`。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value after the transaction completes.
                            zh: 交易完成后才有值。
                      orderAmount:
                        type: string
                        description: 原始订单金额，以交易币种计价；以十进制字符串返回，精度遵循提交的 `orderCurrency` 可接受的小数规则。
                      orderCurrency:
                        type: string
                        description: 下单币种，[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 三位字母货币代码。
                      txnAmount:
                        type:
                          - string
                          - "null"
                        description: 旧版到账金额字段。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Deprecated field; do not rely on this response value for the settlement
                              amount.
                            zh: 已弃用字段；不要依赖该响应值判断到账金额。
                        deprecated: true
                        x-onerway-deprecated:
                          description:
                            en: Do not rely on this field for the settled amount. The actual settlement
                              amount follows settlement batch details or
                              reports.
                            zh: 请勿依赖本字段判断到账金额。实际结算金额按结算批次结算，以对应批次的结算明细 / 结算报表为准。
                      txnCurrency:
                        type:
                          - string
                          - "null"
                        description: 旧版结算币种字段。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Deprecated field; do not rely on this response value for the settlement
                              currency.
                            zh: 已弃用字段；不要依赖该响应值判断结算币种。
                        deprecated: true
                        x-onerway-deprecated:
                          description:
                            en: Do not rely on this field for the settlement currency. The settlement
                              currency follows the merchant settlement
                              configuration agreed with Onerway.
                            zh: 请勿依赖本字段判断结算币种。结算币种以商户与 Onerway 预先约定的结算配置为准。
                      status:
                        type: string
                        description: 当前交易处理状态。直连交易同步响应即可返回终态（`S` / `F`）或需跳转态（`R`）。
                        enum:
                          - S
                          - F
                          - P
                          - R
                          - N
                          - I
                          - U
                        x-enum-descriptions:
                          S: 交易成功。
                          F: 交易失败。
                          P: 交易处理中。
                          R: 需要跳转以继续支付。
                          N: 交易已取消（含超时未支付关单）。
                          I: 交易审核或审批中。
                          U: 未支付，等待客户完成支付。
                      paymentStatus:
                        type: string
                        description: 支付意图级状态。当前本直连接口一笔请求对应一个支付意图，`paymentStatus` 与交易状态保持一致。
                        enum:
                          - I
                          - U
                          - P
                          - R
                          - A
                          - O
                          - S
                          - N
                        x-enum-descriptions:
                          I: 支付意图已初始化。
                          U: 支付意图待支付。
                          P: 支付意图处理中。
                          R: 支付意图需要跳转。
                          A: 支付意图已授权。
                          O: 支付意图仍打开。
                          S: 支付意图已成功。
                          N: 支付意图已关闭：超时未完成支付，包括下单后未支付关单与多次尝试均失败后关单。
                      redirectUrl:
                        type:
                          - string
                          - "null"
                        description: 跳转地址，可能是 3DS 验证页，也可能是本地支付方式的跳转页。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value when `status=R` and `actionType=RedirectURL`.
                            zh: 当 `status=R` 且 `actionType=RedirectURL` 时才有值。
                      contractId:
                        type:
                          - string
                          - "null"
                        description: 订阅合约号，是完成后续扣款的关键参数。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value after the initial subscription succeeds, usually together with
                              `tokenId`.
                            zh: 初始订阅成功后才有值，通常与 `tokenId` 成对返回。
                      tokenId:
                        type:
                          - string
                          - "null"
                        description: 基于买家支付信息生成的支付 token。订阅 token 与卡 token 属不同体系、不可混用。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value after the initial subscription or card tokenization succeeds.
                            zh: 初始订阅成功或生成卡 token 成功后才有值。
                      eci:
                        type:
                          - string
                          - "null"
                        description: 电子商务指示符（ECI），标识交易安全等级与责任转移。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value only for 3DS transactions.
                            zh: 3DS 交易才有值。
                      periodValue:
                        type:
                          - string
                          - "null"
                        description: 分期付款期数。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value only for installment transactions.
                            zh: 分期交易才有值。
                      codeForm:
                        type:
                          - string
                          - "null"
                        description: 支付码信息对象，以 JSON 字符串承载。
                        contentMediaType: application/json
                        contentSchema:
                          type: object
                          properties:
                            expireTime:
                              type:
                                - string
                                - "null"
                              description: 支付码失效时间，ISO 8601 格式。
                              x-onerway-value:
                                nullable: true
                                empty: true
                                when:
                                  en: Provided when the code has an expiration time.
                                  zh: 支付码存在失效时间时提供。
                            codeDetails:
                              type:
                                - array
                                - "null"
                              description: 支付码明细列表。
                              items:
                                type: object
                                properties:
                                  codeValueType:
                                    type:
                                      - string
                                      - "null"
                                    description: 码格式类型。
                                    enum:
                                      - BARCODE
                                      - QRCODE
                                      - null
                                    x-enum-descriptions:
                                      BARCODE: 条形码格式。
                                      QRCODE: 二维码格式。
                                    x-onerway-value:
                                      nullable: true
                                      empty: true
                                      when:
                                        en: Provided with each code detail.
                                        zh: 随码明细提供。
                                  codeValue:
                                    type:
                                      - string
                                      - "null"
                                    description: 码内容值，供用户展示或终端扫描的实际编码数据。
                                    x-onerway-value:
                                      nullable: true
                                      empty: true
                                      when:
                                        en: Provided with each code detail.
                                        zh: 随码明细提供。
                                  displayType:
                                    type:
                                      - string
                                      - "null"
                                    description: 展示方式，决定码在 UI 中如何渲染。
                                    enum:
                                      - TEXT
                                      - IMAGE
                                      - null
                                    x-enum-descriptions:
                                      TEXT: 以文本或可复制标签展示。
                                      IMAGE: 以适合扫描的图片展示。
                                    x-onerway-value:
                                      nullable: true
                                      empty: true
                                      when:
                                        en: Provided with each code detail.
                                        zh: 随码明细提供。
                              x-onerway-value:
                                nullable: true
                                empty: true
                                when:
                                  en: Provided together with `codeForm` when code details are available.
                                  zh: 随 `codeForm` 返回且码明细可用时提供。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value when a QR code or barcode must be presented to the customer.
                            zh: 需向用户展示支付码（二维码 / 条码）的支付方式才有值。
                        x-onerway-format: json_string
                      presentContext:
                        type:
                          - string
                          - "null"
                        description: 供渲染支付界面元素的附加上下文，JSON 字符串。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value when `status=R` and `actionType=ShowContext`.
                            zh: 当 `status=R` 且 `actionType=ShowContext` 时才有值。
                      actionType:
                        type:
                          - string
                          - "null"
                        description: 需执行的后续动作类型。
                        enum:
                          - RedirectURL
                          - QrCode
                          - ShowContext
                          - null
                        x-enum-descriptions:
                          RedirectURL: 跳转至支付网关、3DS 页面或本地支付方式页面。
                          QrCode: 展示 `codeForm` 承载的二维码或条码。
                          ShowContext: 展示 `presentContext` 承载的上下文信息。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value when `status=R` and the transaction requires an additional
                              customer action.
                            zh: 当 `status=R` 且交易需要额外动作时才有值。
                      subscriptionManageUrl:
                        type:
                          - string
                          - "null"
                        description: 订阅管理地址，买家可通过该地址查看和管理订阅。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value only in subscription scenarios.
                            zh: 订阅场景才有值。
                      rrn:
                        type:
                          - string
                          - "null"
                        description: 收单参考号（Retrieval Reference Number，RRN），可用于对账与查询。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value after the transaction is accepted by the acquiring network.
                            zh: 交易被收单网络受理后才有值。
                      authorizationCode:
                        type:
                          - string
                          - "null"
                        description: 发卡行授权码，可用于对账与争议处理。
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value after issuer authorization is approved.
                            zh: 发卡行授权通过后才有值。
                      cardInfo:
                        type:
                          - string
                          - "null"
                        description: 卡信息（脱敏）对象，在卡信息可用时返回。
                        contentMediaType: application/json
                        contentSchema:
                          type: object
                          properties:
                            {}
                        x-onerway-value:
                          nullable: true
                          empty: true
                          when:
                            en: Has a value for card transactions after masked card details are available.
                            zh: 卡类交易在脱敏卡信息可用后才有值。
                        x-onerway-format: json_string
                      sign:
                        type: string
                        description: 响应签名字符串；当前不建议商户对响应验签。
                    description: 直连交易响应的业务数据对象。同步响应即可返回终态，也可能要求商户跳转或展示后续动作。
              examples:
                redirect-required:
                  summary: 需要跳转
                  value:
                    respCode: "20000"
                    respMsg: Success
                    data:
                      transactionId: "2064485863093829632"
                      paymentId: "2064485863068663808"
                      responseTime: 2026-06-14 10:30:02
                      txnTime: null
                      txnTimeZone: null
                      orderAmount: "99.99"
                      orderCurrency: USD
                      txnAmount: ""
                      txnCurrency: null
                      status: R
                      paymentStatus: R
                      redirectUrl: https://developers.onerway.com/example-direct-redirect
                      contractId: null
                      tokenId: null
                      eci: null
                      periodValue: null
                      codeForm: null
                      presentContext: null
                      actionType: RedirectURL
                      subscriptionManageUrl: null
                      rrn: null
                      authorizationCode: null
                      cardInfo: null
                      sign: "{{SIGN}}"
                google-pay-pan-only-redirect:
                  summary: Google Pay PAN_ONLY token，跳转 Onerway 页面采集 CVC
                  value:
                    respCode: "20000"
                    respMsg: Success
                    data:
                      transactionId: null
                      paymentId: null
                      responseTime: null
                      txnTime: null
                      txnTimeZone: null
                      orderAmount: "99.99"
                      orderCurrency: USD
                      txnAmount: ""
                      txnCurrency: null
                      status: R
                      paymentStatus: R
                      redirectUrl: https://developers.onerway.com/example-google-pay-cvv
                      contractId: null
                      tokenId: null
                      eci: null
                      periodValue: null
                      codeForm: null
                      presentContext: null
                      actionType: RedirectURL
                      subscriptionManageUrl: null
                      rrn: null
                      authorizationCode: null
                      cardInfo: null
                      sign: "{{SIGN}}"
```
