# Saved payment method result webhook

> Receive the final result notification for saved payment method (binding) transactions, covering standalone and subscription-with-binding flows.

```yaml
openapi: 3.1.0
info:
  title: Saved payment method result webhook
  version: 1.0.0
  description: Receive the final result notification for saved payment method
    (binding) transactions, covering standalone and subscription-with-binding
    flows.
webhooks:
  payment.method.result:
    post:
      summary: Saved payment method result webhook
      description: Receive the final result notification for saved payment method
        (binding) transactions, covering standalone and
        subscription-with-binding flows.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                notifyType:
                  type: string
                  description: Notification type, identifying the webhook business category.
                  x-onerway-constraints:
                    - kind: values
                      text: Fixed to `TXN` for saved payment method result notifications.
                  x-onerway-signature-participation: included
                transactionId:
                  type: string
                  description: Onerway transaction number generated for this binding transaction,
                    used for tracking, queries, and idempotent processing.
                  x-onerway-constraints:
                    - kind: rule
                      text: This value is a large-ID-style string. Preserve it as a string in
                        JavaScript systems to avoid precision loss.
                    - kind: consistency
                      text: "Standalone card tokenization: equals `transactionId` in the synchronous
                        Create card token response; use it to match that
                        response with this final result. Card subscriptions
                        (`bindCard=true`) and local payment method
                        subscriptions: differs from `transactionId` in the
                        Subscription payment webhook, so it cannot match the two
                        notifications. Process every notification idempotently
                        by its own `transactionId`."
                  x-onerway-signature-participation: included
                paymentId:
                  type:
                    - string
                    - "null"
                  description: Payment intent ID of the binding transaction.
                  x-onerway-constraints:
                    - kind: consistency
                      text: "Card subscriptions (`bindCard=true`): differs from `paymentId` in the
                        Subscription payment webhook. Local payment method
                        subscriptions: same as `paymentId` in the Subscription
                        payment webhook. Do not apply either relation to other
                        payment methods; match the two notifications by the
                        token relation described under `tokenId`."
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when:
                      en: Returned when a payment intent ID has been generated for the transaction.
                      zh: 交易生成了支付意图 ID 时返回。
                  x-onerway-signature-participation: included
                txnType:
                  type: string
                  description: Transaction operation type represented by this notification.
                  enum:
                    - BIND_CARD
                  x-enum-descriptions:
                    BIND_CARD: Saved payment method (binding) transaction.
                  x-onerway-constraints:
                    - kind: values
                      text: "Always `BIND_CARD`. The subscription payment itself is reported
                        separately by the [Subscription payment
                        webhook](/payments/api-reference/webhooks/subscription-\
                        payment). Card subscriptions (`bindCard=true`): Onerway
                        generates the Subscription payment webhook first and
                        sends this notification after the payment succeeds.
                        Local payment method subscriptions: Onerway sends this
                        notification first for the subscription authorization,
                        then the Subscription payment webhook for the first
                        charge. The order in which your server receives them is
                        not guaranteed."
                  x-onerway-signature-participation: included
                merchantNo:
                  type: string
                  description: Merchant number assigned by Onerway, identifying the merchant
                    account receiving this notification.
                  x-onerway-signature-participation: included
                merchantTxnId:
                  type: string
                  description: Merchant transaction number of the binding transaction.
                  x-onerway-constraints:
                    - kind: rule
                      text: "Standalone card tokenization: generated by Onerway; it is not the
                        transaction number from your request. Card subscriptions
                        (`bindCard=true`): differs from `merchantTxnId` in the
                        Subscription payment webhook; do not use it to match the
                        two notifications. Local payment method subscriptions:
                        same as `merchantTxnId` in the Subscription payment
                        webhook."
                  x-onerway-signature-participation: included
                responseTime:
                  type: string
                  description: Time when Onerway generated this notification result in `yyyy-MM-dd
                    HH:mm:ss` format.
                  x-onerway-signature-participation: included
                txnTime:
                  type: string
                  description: Time when the binding transaction occurred or reached this state in
                    `yyyy-MM-dd HH:mm:ss` format.
                  x-onerway-signature-participation: included
                txnTimeZone:
                  type: string
                  description: Time zone offset used by `txnTime`, in `±HH:mm` format.
                  x-onerway-signature-participation: included
                orderAmount:
                  type: string
                  description: Binding transaction amount.
                  x-onerway-constraints:
                    - kind: rule
                      text: Amount values are returned as decimal strings. Avoid binary floating-point
                        arithmetic for money.
                    - kind: values
                      text: Binding transactions are zero-amount; this field returns `0.00`.
                  x-onerway-signature-participation: included
                orderCurrency:
                  type: string
                  description: Binding transaction currency following the request or transaction
                    currency, as a three-letter [ISO
                    4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes)
                    currency code.
                  x-onerway-signature-participation: included
                status:
                  type: string
                  description: Result of the saved payment method transaction.
                  enum:
                    - S
                    - F
                  x-enum-descriptions:
                    S: The payment method was saved successfully.
                    F: Saving the payment method failed or was declined.
                  x-onerway-constraints:
                    - kind: rule
                      text: "Use this field as the final state of the save-payment-method attempt:
                        store and use `tokenId` only when `status` is `S`."
                    - kind: rule
                      text: "When the subscription authorization of a local payment method
                        subscription fails, the subscription ends: no
                        Subscription payment webhook follows, and
                        `subscriptionStatus` in this notification is
                        `canceled`."
                  x-onerway-signature-participation: included
                tokenId:
                  type: string
                  description: Token produced by this transaction. Its type depends on the flow;
                    see the constraints.
                  x-onerway-constraints:
                    - kind: rule
                      text: Store and use this token only when `status` is `S`. A failed notification
                        can still carry a `tokenId`; do not use it.
                    - kind: consistency
                      text: "Standalone card tokenization and card subscriptions (`bindCard=true`):
                        this is a saved payment method token for later
                        `subProductType=TOKEN` payments through [Create direct
                        transaction](/payments/api-reference/endpoints/direct-c\
                        reate-transaction). For card subscriptions,
                        `cardTokenId` in the [Subscription payment
                        webhook](/payments/api-reference/webhooks/subscription-\
                        payment) has the same value, while `tokenId` there is a
                        different subscription token."
                    - kind: consistency
                      text: "Local payment method subscriptions: this is a subscription token with the
                        same value as `tokenId` in the Subscription payment
                        webhook. Use it only for subscription operations; it
                        cannot be used for `subProductType=TOKEN` payments, and
                        the Subscription payment webhook does not return
                        `cardTokenId`."
                  x-onerway-signature-participation: included
                tokenExpireTime:
                  type:
                    - string
                    - "null"
                  description: Expiry time of the saved token in `yyyy-MM-dd HH:mm:ss` format.
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when:
                      en: Returned when `status` is `S`; not returned for failed notifications.
                      zh: "`status=S` 时返回；失败通知不返回。"
                  x-onerway-signature-participation: excluded
                cardBinCountry:
                  type:
                    - string
                    - "null"
                  description: Card BIN country or region, as an [ISO 3166-1
                    alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
                    two-letter code.
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when:
                      en: Returned for card bindings when the card BIN country or region can be
                        identified. Not returned for local payment method
                        subscriptions.
                      zh: 卡绑定且可识别卡 BIN 所属国家 / 地区时返回；本地支付方式订阅不返回。
                  x-onerway-signature-participation: included
                reason:
                  type: string
                  description: Binding result reason object, carried as a JSON string in the
                    notification.
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      respCode:
                        type: string
                        description: Result code. `20000` means the payment method was saved; other
                          values represent decline or failure reasons.
                      respMsg:
                        type: string
                        description: Human-readable message for the result code.
                  x-onerway-format: json_string
                  x-onerway-signature-participation: included
                sign:
                  type: string
                  description: Legacy signature string kept for compatibility. It is computed with
                    only the first enabled key and can mismatch your configured
                    key during key rotation; verify notifications with the
                    `X-Rh-Signature` header instead.
                  x-onerway-constraints:
                    - kind: rule
                      text: Exclude `sign` itself from the canonical string when verifying this
                        webhook.
                  x-onerway-signature-participation: signature-field
                paymentMethod:
                  type: string
                  description: Payment method or card brand that was saved. Besides cards, this
                    webhook also reports the subscription authorization of local
                    payment method subscriptions.
                  x-onerway-signature-participation: excluded
                walletTypeName:
                  type:
                    - string
                    - "null"
                  description: Wallet type name.
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when:
                      en: Not returned by this webhook; wallet subscriptions do not produce a
                        `BIND_CARD` notification.
                      zh: 本通知不返回该字段；钱包支付订阅不会产生 `BIND_CARD` 通知。
                  x-onerway-signature-participation: excluded
                channelRequestId:
                  type:
                    - string
                    - "null"
                  description: Payment channel or processor request identifier, used for
                    channel-side reconciliation or troubleshooting.
                  x-onerway-constraints:
                    - kind: consistency
                      text: "Card subscriptions (`bindCard=true`) and local payment method
                        subscriptions: differs from `channelRequestId` in the
                        Subscription payment webhook, so it cannot match the two
                        notifications."
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when:
                      en: Returned after the binding transaction enters channel processing and a
                        channel request identifier is generated.
                      zh: 绑定交易进入支付渠道处理并生成渠道请求标识后返回。
                  x-onerway-signature-participation: included
                paymentStatus:
                  type:
                    - string
                    - "null"
                  description: Payment intent status of the binding transaction.
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when:
                      en: Returned only when the subscription authorization of a local payment method
                        subscription fails. Successful notifications do not
                        return it.
                      zh: 仅在本地支付方式订阅授权失败时返回；成功通知不返回。
                  x-onerway-signature-participation: included
                contractId:
                  type:
                    - string
                    - "null"
                  description: Subscription contract ID.
                  x-onerway-constraints:
                    - kind: rule
                      text: This value is a large-ID-style string. Preserve it as a string in
                        JavaScript systems to avoid precision loss.
                    - kind: consistency
                      text: "Local payment method subscriptions: same as `contractId` in the
                        Subscription payment webhook. Card subscriptions
                        (`bindCard=true`) do not return it in this webhook, so
                        it cannot serve as a universal key for matching the two
                        notifications."
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when: &a1
                      en: Returned for local payment method subscriptions, where this notification
                        reports the subscription authorization. Not returned for
                        standalone card tokenization or card subscriptions
                        (`bindCard=true`).
                      zh: 本地支付方式订阅返回，此时本通知代表订阅授权结果；纯绑卡和卡订阅（`bindCard=true`）不返回。
                  x-onerway-signature-participation: included
                subscriptionStatus:
                  type:
                    - string
                    - "null"
                  description: Status of the associated subscription contract.
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when: *a1
                  x-onerway-signature-participation: included
                dataStatus:
                  type:
                    - string
                    - "null"
                  description: Data status of the associated subscription contract record.
                  enum:
                    - "0"
                    - "1"
                    - "2"
                    - "3"
                    - null
                  x-enum-descriptions:
                    "0": Pending activation.
                    "1": Active.
                    "2": Inactive.
                    "3": Canceled.
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when: *a1
                  x-onerway-signature-participation: included
                products:
                  type:
                    - string
                    - "null"
                  description: Product list submitted in `txnOrderMsg.products` of the
                    subscription request, returned as a JSON string.
                  contentMediaType: application/json
                  contentSchema:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Product name.
                        price:
                          type: string
                          description: Product unit price as a decimal string.
                          x-onerway-constraints:
                            - kind: rule
                              text: Amount values are returned as decimal strings. Avoid binary floating-point
                                arithmetic for money.
                        num:
                          type: string
                          description: Product quantity.
                          x-onerway-constraints:
                            - kind: rule
                              text: This value can be returned as either a string or a JSON number. Normalize
                                it before downstream reconciliation.
                        currency:
                          type: string
                          description: Product currency, as a three-letter [ISO
                            4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes)
                            currency code.
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when: *a1
                  x-onerway-format: json_string
                  x-onerway-signature-participation: included
                scenarios:
                  type:
                    - string
                    - "null"
                  description: Subscription scenario of this authorization. See the [`scenarios`
                    field of the Subscription payment
                    webhook](/payments/api-reference/webhooks/subscription-payment#webhook-scenarios)
                    for the values.
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when:
                      en: Returned for local payment method subscriptions, where this notification
                        reports the subscription authorization. Not returned for
                        card subscriptions (`bindCard=true`); their scenario is
                        returned in the Subscription payment webhook.
                      zh: 本地支付方式订阅返回，此时本通知代表订阅授权结果；卡订阅（`bindCard=true`）不返回，其订阅场景由订阅扣款通知返回。
                  x-onerway-signature-participation: included
                paymentMethodDetails:
                  type:
                    - string
                    - "null"
                  description: Payment method details object. Card binding details are under the
                    `card` child object.
                  contentMediaType: application/json
                  contentSchema:
                    type: object
                    properties:
                      card:
                        type:
                          - object
                          - "null"
                        properties:
                          checks:
                            type:
                              - object
                              - "null"
                            properties:
                              addressCheck:
                                type:
                                  - string
                                  - "null"
                                description: AVS street-address check result.
                                enum:
                                  - pass
                                  - fail
                                  - unavailable
                                  - unchecked
                                  - notProvided
                                  - unsupported
                                  - null
                                x-enum-descriptions:
                                  pass: The information submitted for verification matches issuer records.
                                  fail: The information submitted for verification does not match issuer records.
                                  unavailable: The issuer does not support this verification.
                                  unchecked: Verification was not performed.
                                  notProvided: The information required for this verification was not provided.
                                  unsupported: AVS is not supported for this transaction.
                                x-onerway-value:
                                  nullable: true
                                  when:
                                    en: Has a value when AVS street-address verification was performed.
                                    zh: 执行 AVS 街道地址校验时有值。
                              postalCodeCheck:
                                type:
                                  - string
                                  - "null"
                                description: AVS postal-code check result.
                                enum:
                                  - pass
                                  - fail
                                  - unavailable
                                  - unchecked
                                  - notProvided
                                  - unsupported
                                  - null
                                x-enum-descriptions:
                                  pass: The information submitted for verification matches issuer records.
                                  fail: The information submitted for verification does not match issuer records.
                                  unavailable: The issuer does not support this verification.
                                  unchecked: Verification was not performed.
                                  notProvided: The information required for this verification was not provided.
                                  unsupported: AVS is not supported for this transaction.
                                x-onerway-value:
                                  nullable: true
                                  when:
                                    en: Has a value when AVS postal-code verification was performed.
                                    zh: 执行 AVS 邮编校验时有值。
                              cardholderNameCheck:
                                type:
                                  - string
                                  - "null"
                                description: American Express AVS result indicating whether the cardholder name
                                  matches issuer records.
                                enum:
                                  - pass
                                  - fail
                                  - unavailable
                                  - unchecked
                                  - notProvided
                                  - unsupported
                                  - null
                                x-enum-descriptions:
                                  pass: The information submitted for verification matches issuer records.
                                  fail: The information submitted for verification does not match issuer records.
                                  unavailable: The issuer does not support this verification.
                                  unchecked: Verification was not performed.
                                  notProvided: The information required for this verification was not provided.
                                  unsupported: AVS is not supported for this transaction.
                                x-onerway-value:
                                  nullable: true
                                  when:
                                    en: Returns the result when American Express cardholder name verification is
                                      performed, or `null` if it is not
                                      performed.
                                    zh: 执行 American Express 持卡人姓名验证时返回验证结果；未执行时返回 `null`。
                              avsResultRawCode:
                                type:
                                  - string
                                  - "null"
                                description: Raw AVS result code returned by the card network.
                                x-onerway-value:
                                  nullable: true
                                  when:
                                    en: Has a value when the card network or Onerway returns a raw AVS result code.
                                    zh: 卡组织或 Onerway 返回原始 AVS 结果码时有值。
                              threeDSecureResult:
                                type:
                                  - object
                                  - "null"
                                properties:
                                  version:
                                    type: string
                                    description: 3D Secure protocol version or `UNKNOWN`.
                                  authenticationFlow:
                                    type:
                                      - string
                                      - "null"
                                    description: 3DS authentication flow type.
                                    x-onerway-value:
                                      nullable: true
                                      when:
                                        en: Has a value when the 3DS authentication flow can be identified.
                                        zh: 可识别 3DS 认证流程时有值。
                                  chargebackLiability:
                                    type: string
                                    description: 3DS chargeback liability party or `UNKNOWN`.
                                  transStatus:
                                    type:
                                      - string
                                      - "null"
                                    description: 3DS authentication result.
                                    x-onerway-value:
                                      nullable: true
                                      when:
                                        en: Has a value when ACS returns an authentication status.
                                        zh: ACS 返回认证状态时有值。
                                  transStatusReason:
                                    type:
                                      - string
                                      - "null"
                                    description: Detailed reason for the 3DS authentication status.
                                    x-onerway-value:
                                      nullable: true
                                      when:
                                        en: Has a value when the authentication status includes a detailed reason.
                                        zh: 需要补充说明 3DS 认证状态时有值。
                                  veresEnrolled:
                                    type:
                                      - string
                                      - "null"
                                    description: 3DS enrollment result.
                                    x-onerway-value:
                                      nullable: true
                                      when:
                                        en: Has a value when the 3DS enrollment result is returned.
                                        zh: 3DS enrollment 结果返回时有值。
                                  eci:
                                    type:
                                      - string
                                      - "null"
                                    description: Electronic Commerce Indicator (ECI).
                                    x-onerway-value:
                                      nullable: true
                                      when:
                                        en: Has a value when the 3DS result returns ECI.
                                        zh: 3DS 结果返回 ECI 时有值。
                                  cvvResult:
                                    type:
                                      - string
                                      - "null"
                                    description: CVV security-code check result.
                                    x-onerway-value:
                                      nullable: true
                                      when:
                                        en: Has a value when the CVV check result is returned.
                                        zh: CVV 校验结果返回时有值。
                                  avsFullResult:
                                    type:
                                      - string
                                      - "null"
                                    description: AVS full address verification result.
                                    x-onerway-value:
                                      nullable: true
                                      when:
                                        en: Has a value when the AVS full-result value is returned.
                                        zh: AVS 综合校验结果返回时有值。
                                  cavvResult:
                                    type:
                                      - string
                                      - "null"
                                    description: CAVV cryptogram returned by 3DS authentication.
                                    x-onerway-value:
                                      nullable: true
                                      when:
                                        en: Has a value when 3DS authentication returns CAVV.
                                        zh: 3DS 认证返回 CAVV 时有值。
                                description: 3D Secure verification result.
                                x-onerway-value:
                                  nullable: true
                                  when:
                                    en: Has a value when 3DS verification results are returned.
                                    zh: 返回 3DS 验证结果时有值。
                            description: Verification check results, including AVS and 3DS results.
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when the payment channel returns AVS, 3DS, or CVV verification
                                  results; binding notifications can return
                                  `null`.
                                zh: 支付渠道返回 AVS / 3DS / CVV 验证结果时有值；绑定通知可能为 `null`。
                          holderName:
                            type:
                              - string
                              - "null"
                            description: Cardholder name.
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when cardholder name is returned.
                                zh: 返回持卡人姓名时有值。
                          year:
                            type:
                              - string
                              - "null"
                            description: Card expiry year, four digits.
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when card expiry year is returned.
                                zh: 返回卡有效期时有值。
                          month:
                            type:
                              - string
                              - "null"
                            description: Card expiry month, two digits (`01`-`12`).
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when card expiry month is returned.
                                zh: 返回卡有效期时有值。
                          cardType:
                            type:
                              - string
                              - "null"
                            description: Card brand or card network.
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when the card network returns the card brand.
                                zh: 卡组织返回卡类型时有值。
                          productCategory:
                            type:
                              - string
                              - "null"
                            description: Card product category.
                            enum:
                              - D
                              - P
                              - C
                              - H
                              - R
                              - N
                              - null
                            x-enum-descriptions:
                              D: Debit
                              P: Prepaid
                              C: Credit
                              H: Charge Card
                              R: Deferred Debit
                              N: Unknown
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when the card network returns the product category.
                                zh: 卡组织返回卡产品类别时有值。
                          issuer:
                            type:
                              - string
                              - "null"
                            description: Issuer name.
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when the issuer can be identified.
                                zh: 可识别发卡行时有值。
                          cardBinCountry:
                            type:
                              - string
                              - "null"
                            description: Card BIN country or region.
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when the card BIN country or region can be identified.
                                zh: 可识别卡 BIN 所属国家 / 地区时有值。
                          authorizationCode:
                            type:
                              - string
                              - "null"
                            description: Issuer or acquiring-side authorization code.
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when the binding authorization returns an authorization code.
                                zh: 绑定授权返回授权码时有值。
                          cardNumber:
                            type:
                              - string
                              - "null"
                            description: Masked card number, keeping only the first 6 and last 4 digits.
                            x-onerway-value:
                              nullable: true
                              when:
                                en: Has a value when masked card number is returned.
                                zh: 返回脱敏卡号时有值。
                        description: Card payment method details.
                        x-onerway-value:
                          nullable: true
                          when:
                            en: Has a value when card binding details are returned.
                            zh: 返回卡绑定详情时有值。
                  x-onerway-value:
                    nullable: true
                    empty: true
                    when:
                      en: Returned for successful card bindings. Not returned for local payment method
                        subscriptions or failed notifications.
                      zh: 卡绑定成功时返回；本地支付方式订阅和失败通知不返回。
                  x-onerway-format: json_string
                  x-onerway-signature-participation: included
            examples:
              saved_payment_method_success:
                summary: Standalone card token saved
                value:
                  notifyType: TXN
                  transactionId: replace_with_bind_transaction_id
                  paymentId: replace_with_bind_payment_id
                  txnType: BIND_CARD
                  merchantNo: replace_with_merchant_no
                  merchantTxnId: replace_with_onerway_generated_bind_reference
                  responseTime: 2026-09-02 08:19:04
                  txnTime: 2026-09-02 08:19:02
                  txnTimeZone: +08:00
                  orderAmount: "0.00"
                  orderCurrency: USD
                  status: S
                  tokenId: replace_with_saved_payment_method_token
                  tokenExpireTime: 2099-12-31 23:59:59
                  cardBinCountry: US
                  reason: '{"respCode":"20000","respMsg":"Success"}'
                  sign: replace_with_sha256_signature
                  paymentMethod: VISA
                  channelRequestId: replace_with_channel_request_id
                  paymentMethodDetails: '{"card":{"checks":null,"holderName":"Example
                    Cardholder","year":"2028","month":"05","cardType":null,"productCategory":null,"issuer":"Example
                    Issuer","cardBinCountry":"US","authorizationCode":null,"cardNumber":"400000******0002"}}'
              subscription_binding_success:
                summary: Card subscription binding saved
                value:
                  notifyType: TXN
                  transactionId: replace_with_card_bind_transaction_id
                  paymentId: replace_with_card_bind_payment_id
                  txnType: BIND_CARD
                  merchantNo: replace_with_merchant_no
                  merchantTxnId: replace_with_onerway_generated_bind_reference
                  responseTime: 2026-01-15 10:10:04
                  txnTime: 2026-01-15 10:10:03
                  txnTimeZone: +08:00
                  orderAmount: "0.00"
                  orderCurrency: USD
                  status: S
                  tokenId: replace_with_saved_card_token
                  tokenExpireTime: 2099-12-31 23:59:59
                  cardBinCountry: US
                  reason: '{"respCode":"20000","respMsg":"Success"}'
                  sign: replace_with_sha256_signature
                  paymentMethod: VISA
                  channelRequestId: replace_with_bind_channel_request_id
                  paymentMethodDetails: '{"card":{"checks":null,"holderName":"Example
                    Cardholder","year":"2028","month":"05","cardType":null,"productCategory":null,"issuer":"Example
                    Issuer","cardBinCountry":"US","authorizationCode":null,"cardNumber":"400000******0002"}}'
              lpms_subscription_binding_success:
                summary: DANA subscription authorization saved
                value:
                  notifyType: TXN
                  transactionId: replace_with_lpms_bind_transaction_id
                  paymentId: replace_with_lpms_payment_id
                  txnType: BIND_CARD
                  merchantNo: replace_with_merchant_no
                  merchantTxnId: replace_with_merchant_subscription_reference
                  responseTime: 2026-01-15 10:30:02
                  txnTime: 2026-01-15 10:30:00
                  txnTimeZone: +08:00
                  orderAmount: "0.00"
                  orderCurrency: IDR
                  status: S
                  contractId: replace_with_lpms_subscription_contract_id
                  tokenId: replace_with_lpms_subscription_token
                  tokenExpireTime: 2099-12-31 23:59:59
                  reason: '{"respCode":"20000","respMsg":"Success"}'
                  sign: replace_with_sha256_signature
                  paymentMethod: DANA
                  subscriptionStatus: active
                  dataStatus: "1"
                  products: '[{"currency":"IDR","name":"Example monthly
                    plan","num":"1","price":"39000.00"}]'
                  channelRequestId: replace_with_lpms_bind_channel_request_id
                  scenarios: SUBSCRIPTION_INITIAL
              subscription_binding_failed:
                summary: DANA subscription authorization failed
                value:
                  notifyType: TXN
                  transactionId: replace_with_failed_bind_transaction_id
                  paymentId: replace_with_failed_bind_payment_id
                  txnType: BIND_CARD
                  merchantNo: replace_with_merchant_no
                  merchantTxnId: replace_with_merchant_subscription_reference
                  responseTime: 2026-09-01 20:10:09
                  txnTime: 2026-09-01 20:10:07
                  txnTimeZone: +08:00
                  orderAmount: "0.00"
                  orderCurrency: USD
                  status: F
                  paymentStatus: N
                  contractId: replace_with_subscription_contract_id
                  tokenId: replace_with_unusable_failed_token
                  reason: '{"respCode":"70002","respMsg":"Unknown decline"}'
                  sign: replace_with_sha256_signature
                  paymentMethod: DANA
                  subscriptionStatus: canceled
                  dataStatus: "2"
                  products: '[{"name":"Example
                    subscription","price":"10.99","num":"1","currency":"USD"}]'
                  channelRequestId: replace_with_failed_channel_request_id
                  scenarios: SUBSCRIPTION_INITIAL
      responses:
        "200":
          description: Return HTTP 200 with the received `transactionId` as the raw
            response body after the saved payment method webhook is received and
            accepted.
          content:
            text/plain:
              schema:
                type: string
              examples:
                return_transaction_id:
                  summary: Return transactionId
                  description: Use a `text/plain` response whose body is the `transactionId` from
                    the received webhook payload.
                  value: replace_with_bind_transaction_id
```
