Get payment options - WalletConnect Pay Docs

Get payment options

cURL

curl --request POST
--url https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options
--header 'Api-Key: '
--header 'Content-Type: application/json'
--data '\n {\n "accounts": [\n "eip155:8453:0x123"\n ],\n "refresh": null\n }\n '

Python

import requests

url = "https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options"

payload = {"accounts": ["eip155:8453:0x123"], "refresh": None} headers = {"Api-Key": "", "Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)

JavaScript

const options = { method: 'POST', headers: {'Api-Key': '', 'Content-Type': 'application/json'}, body: JSON.stringify({accounts: ['eip155:8453:0x123'], refresh: null}) };

fetch('https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options', options) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.error(err));

PHP

"https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options",\ CURLOPT_RETURNTRANSFER => true,\ CURLOPT_ENCODING => "",\ CURLOPT_MAXREDIRS => 10,\ CURLOPT_TIMEOUT => 30,\ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\ CURLOPT_CUSTOMREQUEST => "POST",\ CURLOPT_POSTFIELDS => json_encode([\ 'accounts' => [\ 'eip155:8453:0x123'\ ],\ 'refresh' => null\ ]),\ CURLOPT_HTTPHEADER => [\ "Api-Key: ",\ "Content-Type: application/json"\ ],\ ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } ?>

Go

package main

import ( "fmt" "strings" "net/http" "io" )

func main() {

url := "https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options"

payload := strings.NewReader("{\n "accounts": [\n "eip155:8453:0x123"\n ],\n "refresh": null\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Api-Key", "") req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close() body, _ := io.ReadAll(res.Body)

fmt.Println(string(body)) }

HTTP Response

HttpResponse response = Unirest.post("https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options") .header("Api-Key", "") .header("Content-Type", "application/json") .body("{\n "accounts": [\n "eip155:8453:0x123"\n ],\n "refresh": null\n}") .asString();

Ruby

require 'uri' require 'net/http'

url = URI("https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options")

http = Net::HTTP.new(url.host, url.port) http.use_ssl = true

request = Net::HTTP::Post.new(url) request["Api-Key"] = '' request["Content-Type"] = 'application/json' request.body = "{\n "accounts": [\n "eip155:8453:0x123"\n ],\n "refresh": null\n}";

response = http.request(request) puts response.read_body

Response Codes

Body

{
  "collectData": {
    "fields": [{
      "id": "fullName",
      "name": "Full name",
      "required": true,
      "type": "text"
    }, {
      "id": "dob",
      "name": "Date of birth",
      "required": true,
      "type": "date"
    }],
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "additionalProperties": false,
      "anyOf": [{
        "required": ["pobCountry", "pobAddress"]
      }, {
        "required": ["porCountry", "porAddress"]
      }],
      "properties": {
        "dob": {
          "description": "Date of birth in YYYY-MM-DD format",
          "format": "date",
          "title": "Date of Birth",
          "type": "string"
        },
        "fullName": {
          "description": "User's full legal name",
          "minLength": 1,
          "title": "Full Name",
          "type": "string"
        },
        "pobAddress": {
          "description": "Place of birth city and state (e.g., 'New York, NY')",
          "maxLength": 200,
          "title": "Place of Birth Address",
          "type": "string"
        },
        "pobCountry": {
          "description": "Place of birth country code (ISO 3166-1 alpha-2)",
          "pattern": "^[A-Z]{2}$",
          "title": "Place of Birth Country",
          "type": "string"
        },
        "porAddress": {
          "description": "Place of residence street address, city, and state",
          "maxLength": 200,
          "title": "Place of Residence Address",
          "type": "string"
        },
        "porCountry": {
          "description": "Place of residence country code (ISO 3166-1 alpha-2)",
          "pattern": "^[A-Z]{2}$",
          "title": "Place of Residence Country",
          "type": "string"
        },
        "tosConfirmed": {
          "const": true,
          "description": "Must be true to confirm Terms of Service acceptance",
          "title": "Terms of Service Confirmation",
          "type": "boolean"
        }
      },
      "required": ["fullName", "dob", "tosConfirmed"],
      "type": "object"
    },
    "url": "https://data-collection.walletconnect.com/ic/pay_123?accounts=eip155:1:0x123"
  },
  "info": {
    "amount": {
      "display": {
        "assetName": "USD Coin",
        "assetSymbol": "USDC",
        "decimals": 6,
        "iconUrl": "https://assets.walletconnect.com/usdc.png",
        "networkIconUrl": "https://assets.walletconnect.com/base.png",
        "networkName": "Base"
      },
      "unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
      "value": "1000000"
    },
    "buyer": {
      "accountCaip10": "eip155:1:0x0000000000000000000000000000000000000000",
      "accountProviderIcon": "https://example.com/icon.png",
      "accountProviderName": "Wallet"
    },
    "expiresAt": 1700000000,
    "merchant": {
      "iconUrl": "https://example.com/icon.png",
      "name": "Merchant"
    },
    "status": "requires_action"
  },
  "options": [{
    "account": "eip155:1:0x0000000000000000000000000000000000000000",
    "actions": [{
      "data": {
        "chain_id": "eip155:8453",
        "method": "eth_signTypedData_v4",
        "params": [
          "0x0000000000000000000000000000000000000000",
          "{\"domain\":{\"name\":\"USD Coin\",\"version\":\"2\",\"chainId\":\"0x2105\",\"verifyingContract\":\"0x0000000000000000000000000000000000000000\"},\"types\":{\"EIP712Domain\":[{\"type\":\"string\",\"name\":\"name\"},{\"type\":\"string\",\"name\":\"version\"},{\"type\":\"uint256\",\"name\":\"chainId\"},{\"type\":\"address\",\"name\":\"verifyingContract\"}],\"ReceiveWithAuthorization\":[{\"type\":\"address\",\"name\":\"from\"},{\"type\":\"address\",\"name\":\"to\"},{\"type\":\"uint256\",\"name\":\"value\"},{\"type\":\"uint256\",\"name\":\"validAfter\"},{\"type\":\"uint256\",\"name\":\"validBefore\"},{\"type\":\"bytes32\",\"name\":\"nonce\"}]},\"primaryType\":\"ReceiveWithAuthorization\",\"message\":{\"from\":\"0x0000000000000000000000000000000000000000\",\"nonce\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"to\":\"0x0000000000000000000000000000000000000000\",\"validAfter\":\"0x0\",\"validBefore\":\"0x0\",\"value\":\"0x0\"}}"
        ]
      },
      "type": "walletRpc"
    }],
    "amount": {
      "display": {
        "assetName": "USD Coin",
        "assetSymbol": "USDC",
        "decimals": 6,
        "iconUrl": "https://assets.walletconnect.com/usdc.png",
        "networkIconUrl": "https://assets.walletconnect.com/base.png",
        "networkName": "Base"
      },
      "unit": "caip19/eip155:8453/erc20:0x0000000000000000000000000000000000000000",
      "value": "1000000"
    },
    "collectData": {
      "fields": [{
        "id": "fullName",
        "name": "Full name",
        "required": true,
        "type": "text"
      }, {
        "id": "dob",
        "name": "Date of birth",
        "required": true,
        "type": "date"
      }],
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "anyOf": [{
          "required": ["pobCountry", "pobAddress"]
        }, {
          "required": ["porCountry", "porAddress"]
        }],
        "properties": {
          "dob": {
            "description": "Date of birth in YYYY-MM-DD format",
            "format": "date",
            "title": "Date of Birth",
            "type": "string"
          },
          "fullName": {
            "description": "User's full legal name",
            "minLength": 1,
            "title": "Full Name",
            "type": "string"
          },
          "pobAddress": {
            "description": "Place of birth city and state (e.g., 'New York, NY')",
            "maxLength": 200,
            "title": "Place of Birth Address",
            "type": "string"
          },
          "pobCountry": {
            "description": "Place of birth country code (ISO 3166-1 alpha-2)",
            "pattern": "^[A-Z]{2}$",
            "title": "Place of Birth Country",
            "type": "string"
          },
          "porAddress": {
            "description": "Place of residence street address, city, and state",
            "maxLength": 200,
            "title": "Place of Residence Address",
            "type": "string"
          },
          "porCountry": {
            "description": "Place of residence country code (ISO 3166-1 alpha-2)",
            "pattern": "^[A-Z]{2}$",
            "title": "Place of Residence Country",
            "type": "string"
          },
          "tosConfirmed": {
            "const": true,
            "description": "Must be true to confirm Terms of Service acceptance",
            "title": "Terms of Service Confirmation",
            "type": "boolean"
          }
        },
        "required": ["fullName", "dob", "tosConfirmed"],
        "type": "object"
      },
      "url": "https://data-collection.walletconnect.com/ic/pay_123?accounts=eip155:1:0x123"
    },
    "etaS": 5,
    "expiresAt": 1700000300,
    "id": "opt_123"
  }]
}