> ## Documentation Index
> Fetch the complete documentation index at: https://requestnetwork-docs-openapi-secure-payments.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get secure payment data by token

> Retrieves secure payment display data and resolved destination info. The token must be valid, not expired, and the payment must be in 'pending' status.



## OpenAPI

````yaml /api-reference/openapi.v2.json get /v2/secure-payments/{token}
openapi: 3.0.0
info:
  title: Request Network API
  description: API for easily creating and paying Requests with Request Network.
  version: 0.13.0
  contact: {}
servers:
  - url: https://api.request.network
    description: Production server
  - url: https://api.stage.request.network
    description: Staging server
  - url: http://127.0.0.1:8080
    description: Local development server
security: []
tags:
  - name: V2/Request
    description: Core payment request operations (V2)
  - name: V2/Payments
    description: Payment search and management operations (V2)
  - name: V2/Payouts
    description: Pay a request without creating one first (V2)
  - name: V2/Payer
    description: Crypto-to-fiat payer management operations (V2)
  - name: V2/Currencies
    description: Currency operations (V2)
  - name: V2/Client IDs
    description: Client ID management (V2)
  - name: V2/Secure Payment
    description: Secure payment operations with token-based access (V2)
  - name: V2/Payee Destination
    description: Payee destination management (V2)
externalDocs:
  description: Request Network Docs
  url: https://docs.request.network/request-network-api
paths:
  /v2/secure-payments/{token}:
    get:
      tags:
        - V2/Secure Payment
      summary: Get secure payment data by token
      description: >-
        Retrieves secure payment display data and resolved destination info. The
        token must be valid, not expired, and the payment must be in 'pending'
        status.
      operationId: SecurePaymentController_getSecurePaymentByToken_v2
      parameters:
        - name: token
          in: path
          description: >-
            Secure payment token (ULID) returned by POST /v2/secure-payments,
            POST /v2/secure-payments/payouts, or POST
            /v2/secure-payments/multicall-payouts. Distinct from the `token`
            query parameter, which selects the crosschain source currency.
          required: true
          schema:
            type: string
        - name: token
          required: false
          in: query
          description: >-
            The source token of the crosschain payment. Pair with `chain`; both
            must be sent together. Not the secure payment token — that is the
            `{token}` path parameter.
          schema:
            enum:
              - USDC
              - USDT
              - EURC
              - USDT0
            type: string
        - name: x-client-id
          in: header
          description: Client ID for frontend authentication
          required: true
          schema:
            type: string
        - name: Origin
          in: header
          description: Origin header (automatically set by browser)
          required: true
          schema:
            type: string
        - name: wallet
          required: false
          in: query
          description: >-
            The wallet address of the payer (optional, used to check existing
            approvals)
          schema:
            type: string
        - name: chain
          required: false
          in: query
          description: The source chain of the crosschain payment
          schema:
            enum:
              - BASE
              - OPTIMISM
              - ARBITRUM
              - ETHEREUM
              - POLYGON
              - BNB
            type: string
        - name: eoaWallet
          required: false
          in: query
          description: >-
            The EOA wallet address that holds the funds. When provided, balance
            checks and LiFi quotes use this address while the wallet param is
            used for calldata building (smart account flow).
          schema:
            type: string
        - name: isSafe
          required: false
          in: query
          description: >-
            When true, prepares calldata for a Gnosis Safe multisig payer
            (wallet must be the Safe address). Mutually exclusive with
            eoaWallet.
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
      responses:
        '200':
          description: Secure payment data retrieved successfully
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      paymentType:
                        type: string
                        enum:
                          - single
                        description: 'Type of payment: single or batch'
                      status:
                        type: string
                        enum:
                          - pending
                          - completed
                          - expired
                          - invalidated
                          - compliance_failed
                      redirectUrl:
                        type: string
                        description: >-
                          Optional redirect URL configured at creation time.
                          Null when no redirect was set.
                        nullable: true
                      redirectLabel:
                        type: string
                        description: >-
                          Optional label describing the redirect destination.
                          Null when no label was provided.
                        nullable: true
                      orchestratorId:
                        type: string
                        description: >-
                          Orchestrator ID associated with the secure payment, if
                          any
                        nullable: true
                      branding:
                        type: object
                        properties:
                          id:
                            type: string
                          clientIdId:
                            type: string
                          orchestratorId:
                            type: string
                          logoPath:
                            type: string
                          pageBackgroundColor:
                            type: string
                          cardBackgroundColor:
                            type: string
                          primaryActionColor:
                            type: string
                          primaryTextColor:
                            type: string
                          secondaryTextColor:
                            type: string
                          termsPath:
                            type: string
                          privacyPath:
                            type: string
                          displayRequestBranding:
                            type: boolean
                        required:
                          - id
                        nullable: true
                      paymentOptions:
                        type: object
                        additionalProperties:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              balance:
                                type: string
                              hasEnoughBalance:
                                type: boolean
                              neededAmount:
                                type: string
                            required:
                              - balance
                              - hasEnoughBalance
                              - neededAmount
                      analytics:
                        type: object
                        properties:
                          creationTimestamp:
                            type: string
                            format: date-time
                          totalPaymentAmountUsd:
                            type: string
                          protocolFeeAmountUsd:
                            type: string
                          orchestratorPayerFeeAmountUsd:
                            type: string
                          orchestratorRecipientFeeAmountUsd:
                            type: string
                          feeAmountsUsdUnavailableReason:
                            type: string
                            enum:
                              - fee_plan_unavailable
                          numberOfPaymentsExcludingFees:
                            type: integer
                            minimum: 0
                          destinationIds:
                            type: array
                            items:
                              type: string
                          payoutKytProvider:
                            type: string
                        description: >-
                          Vendor-neutral analytics metadata that SPP maps into
                          Mixpanel shared properties. Amount values are decimal
                          USD strings to avoid frontend precision loss.
                      requestIds:
                        type: array
                        items:
                          type: string
                        description: >-
                          Request Network request IDs represented by this
                          payment
                      payee:
                        type: string
                        description: Payee wallet address
                      network:
                        type: string
                        description: Blockchain network
                      amount:
                        type: string
                        description: Payment amount
                      paymentCurrency:
                        type: string
                        description: Payment currency ID
                      isNativeCurrency:
                        type: boolean
                        description: >-
                          Whether the payment currency is the native currency
                          (e.g., ETH)
                      destination:
                        type: object
                        properties:
                          destinationId:
                            type: string
                            description: >-
                              Composite destination ID: ERC-7828 payee address +
                              token address (e.g.,
                              '0x742d...bEb0@eip155:11155111#80B12379:0x370D...623C').
                              Omitted when payee-address fields are masked.
                          payeeAddress:
                            type: string
                            description: Payee address in ERC-7828 human-readable format
                          tokenAddress:
                            type: string
                            description: ERC20 token contract address
                          walletAddress:
                            type: string
                            description: Raw wallet address
                          network:
                            type: string
                            description: Blockchain network name
                          isMasked:
                            type: boolean
                            description: >-
                              Whether payee-address fields in this destination
                              are intentionally masked
                        required:
                          - payeeAddress
                          - tokenAddress
                          - walletAddress
                          - network
                        description: >-
                          Resolved destination for this payment, or null when
                          the payment is not linked to a stored destination
                          (e.g., payouts created from raw recipient details).
                        nullable: true
                      reference:
                        type: string
                        description: Merchant reference for the payment
                        nullable: true
                      isPayeeAddressMasked:
                        type: boolean
                        description: >-
                          Whether payee-address fields are intentionally masked
                          until access is approved
                      feePlan:
                        type: object
                        properties:
                          version:
                            type: number
                            enum:
                              - 1
                          flow:
                            type: string
                            enum:
                              - get_paid
                              - pay
                          defaultFeeBearer:
                            type: string
                            enum:
                              - payer
                              - payee
                          grossAmountUsd:
                            type: string
                          netRecipientAmountUsd:
                            type: string
                          payerTotalAmountUsd:
                            type: string
                          totalFeesUsd:
                            type: string
                          payeeBorneFeesUsd:
                            type: string
                          payerBorneFeesUsd:
                            type: string
                          fees:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                label:
                                  type: string
                                feeBearer:
                                  type: string
                                  enum:
                                    - payer
                                    - payee
                                feeBearerSource:
                                  type: string
                                  enum:
                                    - fee_config
                                    - payment_default_override
                                    - flow_default
                                    - forced_fee_policy
                                percentageBps:
                                  type: number
                                capUsd:
                                  type: string
                                  nullable: true
                                fixedAmountUsd:
                                  type: string
                                  nullable: true
                                calculatedAmountUsd:
                                  type: string
                                destinationResolver:
                                  type: string
                                destinationRef:
                                  type: object
                                  properties:
                                    evmAddress:
                                      type: string
                                    tronAddress:
                                      type: string
                                configSource:
                                  type: string
                              required:
                                - type
                                - label
                                - feeBearer
                                - feeBearerSource
                                - percentageBps
                                - capUsd
                                - calculatedAmountUsd
                                - destinationResolver
                                - destinationRef
                                - configSource
                        required:
                          - version
                          - flow
                          - defaultFeeBearer
                          - grossAmountUsd
                          - netRecipientAmountUsd
                          - payerTotalAmountUsd
                          - totalFeesUsd
                          - payeeBorneFeesUsd
                          - payerBorneFeesUsd
                          - fees
                        description: >-
                          Fee plan snapshot captured at creation time. Null when
                          fees don't apply (non-stablecoin currency, payment
                          created before fee plan rollout, etc.).
                        nullable: true
                      accessDecision:
                        type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - approved
                              - rejected
                              - error
                          reasonCode:
                            type: string
                          provider:
                            type: string
                            nullable: true
                          walletResults:
                            type: array
                            items:
                              type: object
                              properties:
                                walletAddress:
                                  type: string
                                walletType:
                                  type: string
                                  enum:
                                    - eoa
                                    - smart_account
                                parentWalletAddress:
                                  type: string
                                  nullable: true
                                status:
                                  type: string
                                  enum:
                                    - approved
                                    - rejected
                                    - error
                                reasonCode:
                                  type: string
                                provider:
                                  type: string
                                  nullable: true
                                evaluatedAt:
                                  anyOf:
                                    - type: string
                                      format: date-time
                                    - type: string
                              required:
                                - walletAddress
                                - walletType
                                - status
                                - reasonCode
                                - provider
                        required:
                          - status
                          - reasonCode
                          - provider
                          - walletResults
                    required:
                      - paymentType
                      - status
                      - redirectUrl
                      - redirectLabel
                      - branding
                      - requestIds
                      - payee
                      - network
                      - amount
                      - paymentCurrency
                      - isNativeCurrency
                      - destination
                      - reference
                      - feePlan
                  - type: object
                    properties:
                      paymentType:
                        type: string
                        enum:
                          - batch
                        description: 'Type of payment: single or batch'
                      status:
                        type: string
                        enum:
                          - pending
                          - completed
                          - expired
                          - invalidated
                          - compliance_failed
                      redirectUrl:
                        type: string
                        description: >-
                          Optional redirect URL configured at creation time.
                          Null when no redirect was set.
                        nullable: true
                      redirectLabel:
                        type: string
                        description: >-
                          Optional label describing the redirect destination.
                          Null when no label was provided.
                        nullable: true
                      orchestratorId:
                        type: string
                        description: >-
                          Orchestrator ID associated with the secure payment, if
                          any
                        nullable: true
                      branding:
                        type: object
                        properties:
                          id:
                            type: string
                          clientIdId:
                            type: string
                          orchestratorId:
                            type: string
                          logoPath:
                            type: string
                          pageBackgroundColor:
                            type: string
                          cardBackgroundColor:
                            type: string
                          primaryActionColor:
                            type: string
                          primaryTextColor:
                            type: string
                          secondaryTextColor:
                            type: string
                          termsPath:
                            type: string
                          privacyPath:
                            type: string
                          displayRequestBranding:
                            type: boolean
                        required:
                          - id
                        nullable: true
                      paymentOptions:
                        type: object
                        additionalProperties:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              balance:
                                type: string
                              hasEnoughBalance:
                                type: boolean
                              neededAmount:
                                type: string
                            required:
                              - balance
                              - hasEnoughBalance
                              - neededAmount
                      analytics:
                        type: object
                        properties:
                          creationTimestamp:
                            type: string
                            format: date-time
                          totalPaymentAmountUsd:
                            type: string
                          protocolFeeAmountUsd:
                            type: string
                          orchestratorPayerFeeAmountUsd:
                            type: string
                          orchestratorRecipientFeeAmountUsd:
                            type: string
                          feeAmountsUsdUnavailableReason:
                            type: string
                            enum:
                              - fee_plan_unavailable
                          numberOfPaymentsExcludingFees:
                            type: integer
                            minimum: 0
                          destinationIds:
                            type: array
                            items:
                              type: string
                          payoutKytProvider:
                            type: string
                        description: >-
                          Vendor-neutral analytics metadata that SPP maps into
                          Mixpanel shared properties. Amount values are decimal
                          USD strings to avoid frontend precision loss.
                      requestIds:
                        type: array
                        items:
                          type: string
                        description: >-
                          Request Network request IDs represented by this
                          payment
                      payees:
                        type: array
                        items:
                          type: string
                        description: >-
                          Array of payee wallet addresses. Order matches amounts
                          and paymentCurrencies arrays.
                      network:
                        type: string
                        description: Blockchain network
                      amounts:
                        type: array
                        items:
                          type: string
                        description: >-
                          Array of payment amounts. Order matches payees and
                          paymentCurrencies arrays.
                      paymentCurrencies:
                        type: array
                        items:
                          type: string
                        description: >-
                          Array of payment currency IDs. Order matches payees
                          and amounts arrays. Each index corresponds to one
                          payment request.
                      isNativeCurrency:
                        type: array
                        items:
                          type: boolean
                        description: >-
                          Array indicating whether each payment currency is
                          native. Order matches payees, amounts, and
                          paymentCurrencies arrays.
                      destinations:
                        type: array
                        items:
                          type: object
                          properties:
                            destinationId:
                              type: string
                              description: >-
                                Composite destination ID: ERC-7828 payee address
                                + token address (e.g.,
                                '0x742d...bEb0@eip155:11155111#80B12379:0x370D...623C').
                                Omitted when payee-address fields are masked.
                            payeeAddress:
                              type: string
                              description: Payee address in ERC-7828 human-readable format
                            tokenAddress:
                              type: string
                              description: ERC20 token contract address
                            walletAddress:
                              type: string
                              description: Raw wallet address
                            network:
                              type: string
                              description: Blockchain network name
                            isMasked:
                              type: boolean
                              description: >-
                                Whether payee-address fields in this destination
                                are intentionally masked
                          required:
                            - payeeAddress
                            - tokenAddress
                            - walletAddress
                            - network
                          nullable: true
                        description: >-
                          Resolved destinations for each payment in the batch.
                          Order matches payees array. Entries may be null when a
                          payment is not linked to a stored destination.
                      reference:
                        type: string
                        description: Merchant reference for the payment
                        nullable: true
                      isPayeeAddressMasked:
                        type: boolean
                        description: >-
                          Whether payee-address fields are intentionally masked
                          until access is approved
                      feePlan:
                        allOf:
                          - type: object
                            properties:
                              version:
                                type: number
                                enum:
                                  - 1
                              flow:
                                type: string
                                enum:
                                  - get_paid
                                  - pay
                              defaultFeeBearer:
                                type: string
                                enum:
                                  - payer
                                  - payee
                              grossAmountUsd:
                                type: string
                              netRecipientAmountUsd:
                                type: string
                              payerTotalAmountUsd:
                                type: string
                              totalFeesUsd:
                                type: string
                              payeeBorneFeesUsd:
                                type: string
                              payerBorneFeesUsd:
                                type: string
                              fees:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                    label:
                                      type: string
                                    feeBearer:
                                      type: string
                                      enum:
                                        - payer
                                        - payee
                                    feeBearerSource:
                                      type: string
                                      enum:
                                        - fee_config
                                        - payment_default_override
                                        - flow_default
                                        - forced_fee_policy
                                    percentageBps:
                                      type: number
                                    capUsd:
                                      type: string
                                      nullable: true
                                    fixedAmountUsd:
                                      type: string
                                      nullable: true
                                    calculatedAmountUsd:
                                      type: string
                                    destinationResolver:
                                      type: string
                                    destinationRef:
                                      type: object
                                      properties:
                                        evmAddress:
                                          type: string
                                        tronAddress:
                                          type: string
                                    configSource:
                                      type: string
                                  required:
                                    - type
                                    - label
                                    - feeBearer
                                    - feeBearerSource
                                    - percentageBps
                                    - capUsd
                                    - calculatedAmountUsd
                                    - destinationResolver
                                    - destinationRef
                                    - configSource
                            required:
                              - version
                              - flow
                              - defaultFeeBearer
                              - grossAmountUsd
                              - netRecipientAmountUsd
                              - payerTotalAmountUsd
                              - totalFeesUsd
                              - payeeBorneFeesUsd
                              - payerBorneFeesUsd
                              - fees
                            description: >-
                              Fee plan snapshot captured at creation time. Null
                              when fees don't apply (non-stablecoin currency,
                              payment created before fee plan rollout, etc.).
                            nullable: true
                          - description: >-
                              Fee plan snapshot captured at creation time. Null
                              when fees don't apply (non-stablecoin currency,
                              multi-currency batch, payment created before fee
                              plan rollout, etc.).
                      accessDecision:
                        type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - approved
                              - rejected
                              - error
                          reasonCode:
                            type: string
                          provider:
                            type: string
                            nullable: true
                          walletResults:
                            type: array
                            items:
                              type: object
                              properties:
                                walletAddress:
                                  type: string
                                walletType:
                                  type: string
                                  enum:
                                    - eoa
                                    - smart_account
                                parentWalletAddress:
                                  type: string
                                  nullable: true
                                status:
                                  type: string
                                  enum:
                                    - approved
                                    - rejected
                                    - error
                                reasonCode:
                                  type: string
                                provider:
                                  type: string
                                  nullable: true
                                evaluatedAt:
                                  anyOf:
                                    - type: string
                                      format: date-time
                                    - type: string
                              required:
                                - walletAddress
                                - walletType
                                - status
                                - reasonCode
                                - provider
                        required:
                          - status
                          - reasonCode
                          - provider
                          - walletResults
                    required:
                      - paymentType
                      - status
                      - redirectUrl
                      - redirectLabel
                      - branding
                      - requestIds
                      - payees
                      - network
                      - amounts
                      - paymentCurrencies
                      - isNativeCurrency
                      - destinations
                      - reference
                      - feePlan
                  - type: object
                    properties:
                      paymentType:
                        type: string
                        enum:
                          - single
                          - batch
                      status:
                        type: string
                        enum:
                          - pending
                          - completed
                          - expired
                          - invalidated
                          - compliance_failed
                      redirectUrl:
                        type: string
                        description: >-
                          Optional redirect URL configured at creation time.
                          Null when no redirect was set.
                        nullable: true
                      redirectLabel:
                        type: string
                        description: >-
                          Optional label describing the redirect destination.
                          Null when no label was provided.
                        nullable: true
                      orchestratorId:
                        type: string
                        description: >-
                          Orchestrator ID associated with the secure payment, if
                          any
                        nullable: true
                      branding:
                        type: object
                        properties:
                          id:
                            type: string
                          clientIdId:
                            type: string
                          orchestratorId:
                            type: string
                          logoPath:
                            type: string
                          pageBackgroundColor:
                            type: string
                          cardBackgroundColor:
                            type: string
                          primaryActionColor:
                            type: string
                          primaryTextColor:
                            type: string
                          secondaryTextColor:
                            type: string
                          termsPath:
                            type: string
                          privacyPath:
                            type: string
                          displayRequestBranding:
                            type: boolean
                        required:
                          - id
                        nullable: true
                      paymentOptions:
                        type: object
                        additionalProperties:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              balance:
                                type: string
                              hasEnoughBalance:
                                type: boolean
                              neededAmount:
                                type: string
                            required:
                              - balance
                              - hasEnoughBalance
                              - neededAmount
                      analytics:
                        type: object
                        properties:
                          creationTimestamp:
                            type: string
                            format: date-time
                          totalPaymentAmountUsd:
                            type: string
                          protocolFeeAmountUsd:
                            type: string
                          orchestratorPayerFeeAmountUsd:
                            type: string
                          orchestratorRecipientFeeAmountUsd:
                            type: string
                          feeAmountsUsdUnavailableReason:
                            type: string
                            enum:
                              - fee_plan_unavailable
                          numberOfPaymentsExcludingFees:
                            type: integer
                            minimum: 0
                          destinationIds:
                            type: array
                            items:
                              type: string
                          payoutKytProvider:
                            type: string
                        description: >-
                          Vendor-neutral analytics metadata that SPP maps into
                          Mixpanel shared properties. Amount values are decimal
                          USD strings to avoid frontend precision loss.
                      accessDecision:
                        type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - approved
                              - rejected
                              - error
                          reasonCode:
                            type: string
                          provider:
                            type: string
                            nullable: true
                          walletResults:
                            type: array
                            items:
                              type: object
                              properties:
                                walletAddress:
                                  type: string
                                walletType:
                                  type: string
                                  enum:
                                    - eoa
                                    - smart_account
                                parentWalletAddress:
                                  type: string
                                  nullable: true
                                status:
                                  type: string
                                  enum:
                                    - approved
                                    - rejected
                                    - error
                                reasonCode:
                                  type: string
                                provider:
                                  type: string
                                  nullable: true
                                evaluatedAt:
                                  anyOf:
                                    - type: string
                                      format: date-time
                                    - type: string
                              required:
                                - walletAddress
                                - walletType
                                - status
                                - reasonCode
                                - provider
                        required:
                          - status
                          - reasonCode
                          - provider
                          - walletResults
                    required:
                      - paymentType
                      - status
                      - branding
                  - type: object
                    properties:
                      paymentType:
                        type: string
                        enum:
                          - multicall
                      status:
                        type: string
                        enum:
                          - pending
                          - expired
                          - completed
                          - partially_settled
                      redirectUrl:
                        type: string
                        nullable: true
                      redirectLabel:
                        type: string
                        nullable: true
                      orchestratorId:
                        type: string
                        nullable: true
                      branding:
                        type: object
                        properties:
                          id:
                            type: string
                          clientIdId:
                            type: string
                          orchestratorId:
                            type: string
                          logoPath:
                            type: string
                          pageBackgroundColor:
                            type: string
                          cardBackgroundColor:
                            type: string
                          primaryActionColor:
                            type: string
                          primaryTextColor:
                            type: string
                          secondaryTextColor:
                            type: string
                          termsPath:
                            type: string
                          privacyPath:
                            type: string
                          displayRequestBranding:
                            type: boolean
                        required:
                          - id
                        nullable: true
                      paymentOptions:
                        type: object
                        additionalProperties:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              balance:
                                type: string
                              hasEnoughBalance:
                                type: boolean
                              neededAmount:
                                type: string
                            required:
                              - balance
                              - hasEnoughBalance
                              - neededAmount
                      analytics:
                        type: object
                        properties:
                          creationTimestamp:
                            type: string
                            format: date-time
                          totalPaymentAmountUsd:
                            type: string
                          protocolFeeAmountUsd:
                            type: string
                          orchestratorPayerFeeAmountUsd:
                            type: string
                          orchestratorRecipientFeeAmountUsd:
                            type: string
                          feeAmountsUsdUnavailableReason:
                            type: string
                            enum:
                              - fee_plan_unavailable
                          numberOfPaymentsExcludingFees:
                            type: integer
                            minimum: 0
                          destinationIds:
                            type: array
                            items:
                              type: string
                          payoutKytProvider:
                            type: string
                        description: >-
                          Vendor-neutral analytics metadata that SPP maps into
                          Mixpanel shared properties. Amount values are decimal
                          USD strings to avoid frontend precision loss.
                      requestIds:
                        type: array
                        items:
                          type: string
                        description: >-
                          Request Network request IDs represented by this
                          payment
                      token:
                        type: string
                        description: Multicall payout token
                      canExecute:
                        type: boolean
                      expiresAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      children:
                        type: array
                        items:
                          type: object
                          properties:
                            securePaymentToken:
                              type: string
                              description: Child secure-payment token
                            requestId:
                              type: string
                              description: Request Network request ID for the child payout
                            position:
                              type: integer
                              minimum: 0
                              description: 0-indexed child order
                            executable:
                              type: boolean
                              description: >-
                                Whether this child can currently be executed in
                                the multicall
                            blockReason:
                              type: string
                              enum:
                                - not_found
                                - not_owned
                                - not_outgoing
                                - not_single_payment
                                - invalid_child_linkage
                                - already_paid
                                - request_processing
                                - secure_payment_expired
                                - secure_payment_not_pending
                                - compliance_failed
                                - not_payable_child
                              description: >-
                                Structured reason when executable is false;
                                otherwise null
                              nullable: true
                            messageKey:
                              type: string
                              description: >-
                                Stable localized-message key for the block
                                reason
                              nullable: true
                            context:
                              type: object
                              properties:
                                requestId:
                                  type: string
                                securePaymentToken:
                                  type: string
                                position:
                                  type: integer
                                  minimum: 0
                                hasBeenPaid:
                                  type: boolean
                                securePaymentStatus:
                                  type: string
                                requestStatus:
                                  type: string
                                expiresAt:
                                  type: string
                                  format: date-time
                                network:
                                  type: string
                                currency:
                                  type: string
                              required:
                                - requestId
                                - securePaymentToken
                                - position
                                - hasBeenPaid
                              description: >-
                                Per-child block context used by SPP to render
                                recovery details
                            recoveryAction:
                              type: string
                              enum:
                                - remove_child
                                - recreate_reduced
                                - wait_for_quote_refresh
                                - switch_route
                                - recreate_after_cooldown
                                - support_required
                              description: >-
                                Suggested recovery action when the child is
                                blocked
                              nullable: true
                            feePlan:
                              allOf:
                                - type: object
                                  properties:
                                    version:
                                      type: number
                                      enum:
                                        - 1
                                    flow:
                                      type: string
                                      enum:
                                        - get_paid
                                        - pay
                                    defaultFeeBearer:
                                      type: string
                                      enum:
                                        - payer
                                        - payee
                                    grossAmountUsd:
                                      type: string
                                    netRecipientAmountUsd:
                                      type: string
                                    payerTotalAmountUsd:
                                      type: string
                                    totalFeesUsd:
                                      type: string
                                    payeeBorneFeesUsd:
                                      type: string
                                    payerBorneFeesUsd:
                                      type: string
                                    fees:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                          label:
                                            type: string
                                          feeBearer:
                                            type: string
                                            enum:
                                              - payer
                                              - payee
                                          feeBearerSource:
                                            type: string
                                            enum:
                                              - fee_config
                                              - payment_default_override
                                              - flow_default
                                              - forced_fee_policy
                                          percentageBps:
                                            type: number
                                          capUsd:
                                            type: string
                                            nullable: true
                                          fixedAmountUsd:
                                            type: string
                                            nullable: true
                                          calculatedAmountUsd:
                                            type: string
                                          destinationResolver:
                                            type: string
                                          destinationRef:
                                            type: object
                                            properties:
                                              evmAddress:
                                                type: string
                                              tronAddress:
                                                type: string
                                          configSource:
                                            type: string
                                        required:
                                          - type
                                          - label
                                          - feeBearer
                                          - feeBearerSource
                                          - percentageBps
                                          - capUsd
                                          - calculatedAmountUsd
                                          - destinationResolver
                                          - destinationRef
                                          - configSource
                                  required:
                                    - version
                                    - flow
                                    - defaultFeeBearer
                                    - grossAmountUsd
                                    - netRecipientAmountUsd
                                    - payerTotalAmountUsd
                                    - totalFeesUsd
                                    - payeeBorneFeesUsd
                                    - payerBorneFeesUsd
                                    - fees
                                  description: >-
                                    Fee plan snapshot captured at creation time.
                                    Null when fees don't apply (non-stablecoin
                                    currency, payment created before fee plan
                                    rollout, etc.).
                                  nullable: true
                                - description: >-
                                    Persisted child fee-plan snapshot. Null when
                                    fees do not apply or no snapshot exists.
                            amount:
                              type: string
                              description: >-
                                Human-readable child amount in the child's
                                payment currency. Null when unavailable.
                              nullable: true
                            payee:
                              type: string
                              description: >-
                                Resolved child recipient address. Null when
                                unavailable.
                              nullable: true
                            reference:
                              type: string
                              description: >-
                                Merchant reference for the child payment. Null
                                when none was provided.
                              nullable: true
                          required:
                            - securePaymentToken
                            - requestId
                            - position
                            - executable
                            - blockReason
                            - messageKey
                            - context
                            - recoveryAction
                            - feePlan
                            - amount
                            - payee
                            - reference
                      totals:
                        type: object
                        properties:
                          childCount:
                            type: integer
                            minimum: 0
                          blockedChildCount:
                            type: integer
                            minimum: 0
                          byDestinationCurrency:
                            type: array
                            items:
                              type: object
                              properties:
                                network:
                                  type: string
                                currency:
                                  type: string
                                totalAmount:
                                  type: string
                              required:
                                - network
                                - currency
                                - totalAmount
                          amountSummary:
                            type: object
                            properties:
                              grossAmount:
                                type: string
                              netRecipientAmount:
                                type: string
                              totalFees:
                                type: string
                              payeeBorneFees:
                                type: string
                              payerBorneFees:
                                type: string
                              payerTotal:
                                type: string
                            required:
                              - grossAmount
                              - netRecipientAmount
                              - totalFees
                              - payeeBorneFees
                              - payerBorneFees
                              - payerTotal
                        required:
                          - childCount
                          - blockedChildCount
                          - byDestinationCurrency
                          - amountSummary
                    required:
                      - paymentType
                      - status
                      - redirectUrl
                      - redirectLabel
                      - orchestratorId
                      - branding
                      - analytics
                      - requestIds
                      - token
                      - canExecute
                      - expiresAt
                      - createdAt
                      - children
                      - totals
              examples:
                singlePayment:
                  summary: Single payment response
                  value:
                    paymentType: single
                    payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                    network: sepolia
                    amount: '10000000000000000000'
                    paymentCurrency: FAU-sepolia
                    status: pending
                    destination:
                      destinationId: >-
                        0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7@eip155:11155111#A1B2C3D4:0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C
                      payeeAddress: >-
                        0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7@eip155:11155111#A1B2C3D4
                      tokenAddress: '0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C'
                      walletAddress: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                      network: sepolia
                    reference: INV-2025-001
                batchPayment:
                  summary: Batch payment response
                  value:
                    paymentType: batch
                    payees:
                      - '0xb07d2398d2004378cad234da0ef14f1c94a530e4'
                      - '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                    network: sepolia
                    amounts:
                      - '50'
                      - '10'
                    paymentCurrencies:
                      - FAU-sepolia
                      - FAU-sepolia
                    status: pending
                    destinations:
                      - destinationId: >-
                          0xb07d2398d2004378cad234da0ef14f1c94a530e4@eip155:11155111#C3D4E5F6:0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C
                        payeeAddress: >-
                          0xb07d2398d2004378cad234da0ef14f1c94a530e4@eip155:11155111#C3D4E5F6
                        tokenAddress: '0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C'
                        walletAddress: '0xb07d2398d2004378cad234da0ef14f1c94a530e4'
                        network: sepolia
                      - destinationId: >-
                          0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7@eip155:11155111#A1B2C3D4:0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C
                        payeeAddress: >-
                          0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7@eip155:11155111#A1B2C3D4
                        tokenAddress: '0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C'
                        walletAddress: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                        network: sepolia
                    reference: BATCH-REF-001
        '401':
          description: Unauthorized
        '403':
          description: Secure payment token expired or invalid status
        '404':
          description: Secure payment not found
        '409':
          description: Secure payment has already been completed
          content:
            application/json:
              examples:
                alreadyPaid:
                  summary: Payment already completed
                  value:
                    message: Secure payment has already been completed
                    status: completed
                    branding:
                      id: brand_1
                      clientIdId: client_1
                      logoPath: /branding/client/logo.png
                      pageBackgroundColor: '#ffffff'
                      cardBackgroundColor: '#ffffff'
                      primaryActionColor: '#00d395'
                      primaryTextColor: '#475569'
                      secondaryTextColor: '#94a3b8'
                      termsPath: /branding/client/terms.html
                      privacyPath: /branding/client/privacy.html
                      displayRequestBranding: false
                    requestStatuses:
                      - requestId: >-
                          01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
                        hasBeenPaid: true
                        txHash: >-
                          0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
        '423':
          description: Secure payment is in progress
          content:
            application/json:
              examples:
                paymentInProgress:
                  summary: Secure payment is in progress
                  value:
                    message: Secure payment is in progress
                    status: pending
                    branding:
                      id: brand_1
                      clientIdId: client_1
                      logoPath: /branding/client/logo.png
                      pageBackgroundColor: '#ffffff'
                      cardBackgroundColor: '#ffffff'
                      primaryActionColor: '#00d395'
                      primaryTextColor: '#475569'
                      secondaryTextColor: '#94a3b8'
                      termsPath: /branding/client/terms.html
                      privacyPath: /branding/client/privacy.html
                      displayRequestBranding: false
                    requestStatuses:
                      - requestId: >-
                          01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
                        hasBeenPaid: false
                        safeTxHash: >-
                          0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
                        chainId: 137
                        safePaymentDeadline: 1749760800
        '429':
          description: Too Many Requests

````