---
title: "Get payment options"
method: POST
path: "/v1/gateway/payment/{id}/options"
tags: ["Gateway"]
---

# Get payment options

`POST /v1/gateway/payment/{id}/options`

This endpoint takes a list of accounts and returns a list of options that can be used to complete the payment.

## Path parameters

- `id` string, required — Payment ID

## Query parameters

- `includePaymentInfo` boolean, nullable

## Headers

- `Api-Key` string, nullable
- `App-Id` string, nullable
- `Client-Id` string, nullable
- `WCP-Version` string, nullable
- `Sdk-Name` string, nullable
- `Sdk-Version` string, nullable
- `Sdk-Platform` string, nullable

## Request body

- GetPaymentOptionsRequest
  - `accounts` string[], required
  - `refresh` string[], nullable

## Response `200`

Payment options retrieved successfully

- GetPaymentOptionsResponse
  - `collectData` CollectData
    - `fields` CollectDataField[], required — Deprecated: Use `schema` and `url` fields instead for webview-based data collection
      - `id` string, required — ID of the field for submission
      - `name` string, required — Human readable name of the field
      - `required` boolean, required — Requiredness of the field
      - `type` 'text' | 'date' | 'checkbox', required
    - `schema` unknown, required
    - `url` string, required — URL for webview-based data collection
  - `info` GetPaymentResponse
    - `amount` Amount, required
      - `display` AmountDisplay, required
        - `assetName` string, required — Full name of the asset
        - `assetSymbol` string, required — Ticker/symbol of the asset
        - `decimals` integer, required — Number of minor decimals of the asset
        - `iconUrl` string, nullable — URL of the icon of the asset (if token)
        - `networkIconUrl` string, nullable — URL of the icon of the network (if token)
        - `networkName` string, nullable — Name of the network of the asset (if token)
      - `unit` string, required — Currency unit, prefixed with either "iso4217/" or "caip19/"
      - `value` string, required — Amount value, in the currency unit's minor units
    - `buyer` BuyerInfo
      - `accountCaip10` string, required — Account CAIP-10
      - `accountProviderIcon` string, nullable — Account provider icon URL
      - `accountProviderName` string, required — Account provider name
    - `expiresAt` integer, required
    - `merchant` MerchantInfo, required
      - `iconUrl` string, nullable — Merchant icon URL
      - `name` string, required — Merchant name
    - `status` 'requires_action' | 'processing' | 'succeeded' | 'failed' | 'expired' | 'cancelled', required — Payment status representing the lifecycle of a payment. Payments progress through these states from creation to terminal status. Some states are specific to the payment source (pull vs push).
  - `options` PaymentOption[], nullable
    - `account` string, required — The account to use for the option
    - `actions` Action[], required — Actions required to complete the option
      - union
        - object — An action that requires a wallet RPC call to complete
          - `data` WalletRpcAction, required
            - `chain_id` string, required
            - `method` string, required
            - `params` unknown[], required
              - …
          - `type` 'walletRpc', required
        - object — An action that requires building to complete
          - `data` Build, required
            - `data` string, required
          - `type` 'build', required
    - `amount` Amount, required
      - `display` AmountDisplay, required
        - `assetName` string, required — Full name of the asset
        - `assetSymbol` string, required — Ticker/symbol of the asset
        - `decimals` integer, required — Number of minor decimals of the asset
        - `iconUrl` string, nullable — URL of the icon of the asset (if token)
        - `networkIconUrl` string, nullable — URL of the icon of the network (if token)
        - `networkName` string, nullable — Name of the network of the asset (if token)
      - `unit` string, required — Currency unit, prefixed with either "iso4217/" or "caip19/"
      - `value` string, required — Amount value, in the currency unit's minor units
    - `collectData` CollectData
      - `fields` CollectDataField[], required — Deprecated: Use `schema` and `url` fields instead for webview-based data collection
        - `id` string, required — ID of the field for submission
        - `name` string, required — Human readable name of the field
        - `required` boolean, required — Requiredness of the field
        - `type` 'text' | 'date' | 'checkbox', required
      - `schema` unknown, required
      - `url` string, required — URL for webview-based data collection
    - `etaS` integer, required — Estimated time to complete the option, in seconds
    - `expiresAt` integer, nullable — Unix timestamp (seconds) after which this quote is stale and confirm_payment will reject it with `quote_expired`. The wallet should re-fetch options before this deadline. `None` for direct-currency options that don't involve a rate.
    - `id` string, required — ID of the option to be used to refer to it in other requests. May be up to 2^16 characters.

## Other responses

- `400` — Invalid request
- `401` — Invalid API key
- `404` — Payment not found
- `500` — Internal error

---

[API](https://skmtc.net/walletconnect/apis/walletconnect-pay-api.md) · [All operations](https://skmtc.net/walletconnect/apis/walletconnect-pay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/walletconnect/walletconnect-pay-api/versions/8e5708191dde/schema)
