Get payment options

### cURL

curl --request POST \
      --url https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options \
      --header 'Api-Key: <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": "<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': '<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

<?php

$curl = curl_init();

curl_setopt_array($curl, [\
      CURLOPT_URL => "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: <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", "<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<String> response = Unirest.post("https://api.pay.walletconnect.com/v1/gateway/payment/{id}/options")
      .header("Api-Key", "<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"] = '<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
- 200: Success
- 400: Bad Request
- 401: Unauthorized
- 404: Not Found
- 500: Internal Server Error

### Body
```json
{
  "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"
  }]
}
```
