{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"257d34b3-c8ca-42fb-b40e-0b050a7da5c0","name":"INXY Paygate API v1","description":"# Introduction\n\n[INXY.io](https://inxy.io) is a fintech platform that combines on-chain and off-chain solutions to simplify payments in cryptocurrency.\n\n**INXY Paygate API** is a robust pay-in interface that lets you accept cryptocurrency payments directly inside your application or website.  \nThe entire flow is friction-free: the user never leaves your app—no pop-ups, iFrames, or redirects.  \nAs soon as the customer’s crypto transaction is accepted and verified, the funds are credited to your INXY balance.\n\nTo start accepting crypto with the Paygate API, follow these steps:\n\n1. **Create a Session**  \n    Call POST /sessions with the basic order details—customer info, expected amount, currency, and network.\n    \n2. **Show Session Info to the Customer**  \n    Retrieve the session (GET /sessions/{id}) and display the wallet address, currency, network, and amount so the user can make the payment.\n    \n3. **Listen for Webhooks**  \n    Subscribe to payments.received (and other relevant events) to unlock or deliver the product once the payment is confirmed.\n    \n4. **Handle Exceptions**  \n    If the customer never starts the payment or sends an incorrect amount, Paygate fires specific webhook events (payments.received, payments.expired, etc.).  \n    Decide how your app should respond—e.g., prompt the user to try again, or automatically create a new session.\n    \n\n# Getting Started\n\nTo get started with INXY Paygate, follow these steps to make your first crypto transaction in the INXY Sandbox:\n\n- Note: The flow discussed below will require you to make a crypto transaction via Testnet. If you’re new to crypto, install the TRONLink browser extension and switch to the TRON Nile Testnet (the network we use in our Sandbox). To top up your test balance, visit the official TRON Nile faucet: [https://nileex.io/join/getJoinPage](https://nileex.io/join/getJoinPage)\n    \n- Sign up at [https://app.sandbox-inxy.io](https://app.sandbox-inxy.io).\n    \n- Go to the Merchant Settings tab in your dashboard and click Generate API Key to create your API credentials.\n    \n- To create a new pay-in session, send a POST request to /sessions using the INXY Paygate API.\n    \n\nExample:\n\n``` bash\ncurl -X POST \"https://api.sandbox-inxy.io/paygate/v1/sessions\" \\\n  -H \"Accept: application/json\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer ${YOUR_TOKEN}\" \\\n  -H \"Cache-Control: no-cache\" \\\n  -H \"Accept-Encoding: gzip, deflate, br\" \\\n  --data '{\n    \"fiat_amount\": 5,\n    \"fiat_currency\": \"EUR\",\n    \"order_id\": \"1234\",\n    \"order_name\": \"Order #1234\",\n    \"lifetime_minutes\": 30,\n    \"amount_deviation_percentage\": 1.00,\n    \"cryptocurrency\": {\n      \"code\": \"USDT\",\n      \"blockchain\": \"tron\",\n      \"coin_type\": \"trc20\"\n    },\n    \"customer\": {\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\",\n      \"email\": \"john.doe@example.cc\"\n    }\n  }'\\\n  -o -\n\n ```\n\nExample response:\n\n``` json\n{\n    \"data\": {\n        \"session\": {\n            \"id\": \"ses_LVo6JpWzm8a4N8n\",\n            \"object\": \"session\",\n            \"status\": \"active\",\n            \"payment_type\": \"onetime\",\n            \"fiat_amount\": \"5\",\n            \"fiat_currency_code\": \"EUR\",\n            \"order_id\": \"1234\",\n            \"order_name\": \"Order #1234\",\n            \"customer\": {\n                \"id\": \"cus_xKJkA2ZkmX4Z9l0\",\n                \"object\": \"customer\",\n                \"email\": \"john.doe@example.cc\",\n                \"first_name\": \"John\",\n                \"last_name\": \"Doe\"\n            },\n            \"created_date\": 1750099304\n        },\n        \"payment_intent\": {\n            \"id\": \"pi_W4Z3vaqJ4npDAng\",\n            \"object\": \"payment_intent\",\n            \"currency_code\": \"USDT\",\n            \"currency\": {\n                \"id\": \"cur_P6k8VRaO3awMObG\",\n                \"object\": \"currency\",\n                \"code\": \"USDT\",\n                \"blockchain\": \"tron\",\n                \"coin_type\": \"trc20\"\n            },\n            \"amount\": 5.791145,\n            \"fiat_amount\": 5,\n            \"paid_amount\": 0,\n            \"paid_fiat_amount\": 0,\n            \"exchange_rate\": \"0.86338716\",\n            \"status\": \"waiting_payment\",\n            \"created_date\": 1750099305,\n            \"issued_wallet\": \"TNzF9UYidjfARv3182qDqpGiA3bp6HiueT\",\n            \"customer\": {\n                \"id\": \"cus_xKJkA2ZkmX4Z9l0\",\n                \"object\": \"customer\",\n                \"email\": \"john.doe@example.cc\",\n                \"first_name\": \"John\",\n                \"last_name\": \"Doe\"\n            },\n            \"payments\": [],\n            \"fees\": {\n                \"object\": \"fee\",\n                \"amount\": \"0\",\n                \"currency\": {\n                    \"id\": \"cur_P6k8VRaO3awMObG\",\n                    \"object\": \"currency\",\n                    \"code\": \"USDT\",\n                    \"blockchain\": \"tron\",\n                    \"coin_type\": \"trc20\"\n                },\n                \"fiat_amount\": \"0\",\n                \"fiat_currency_code\": \"EUR\"\n            },\n            \"issued_wallet_details\": {\n                \"address\": \"TNzF9UYidjfARv3182qDqpGiA3bp6HiueT\",\n                \"reserved_until\": 1750101105\n            }\n        }\n    }\n}\n\n ```\n\n- Complete your crypto transfer on the testnet using your preferred wallet or service.\n    \n\nMake sure you choose the correct network, currency, and amount, and complete the transaction within the allotted session-lifetime window (30 minutes in this example). You’ll find all the necessary transaction details right here:\n\n| Field | Description |\n| --- | --- |\n| `payment_intent.issued_wallet_details.address` | Destination wallet address |\n| `payment_intent.currency.blockchain` | Blockchain |\n| `payment_intent.currency.code` | Crypto currency |\n| `payment_intent.amount` | Crypto amount |\n\n- Just wait a minute or two, then check your session again.\n    \n\nWhen INXY receives your transaction, the status of the underlying **`payment_intent`** will change to `waiting_confirmation`.\n\nIf you see this status, sit back and relax—your transaction is simply waiting for blockchain confirmations, which can take a while. If the status hasn’t switched to waiting_confirmation within about 15 minutes on the major test networks, double-check the details you sent and try again; you may have submitted the request too quickly or with incorrect parameters.\n\nExample request:\n\n``` bash\ncurl -sS -X GET \"https://api.sandbox-inxy.io/paygate/v1/sessions/ses_LVo6JpWzm8a4N8n\" \\   \n  -H \"Accept: application/json\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer ${YOUR_TOKEN}\" \\\n  -H \"Cache-Control: no-cache\" \\\n  -H \"Accept-Encoding: gzip, deflate, br\" \\\n  -o -\n\n ```\n\nExample response:\n\n``` json\n{\n    \"data\": {\n        \"session\": {\n            \"id\": \"ses_LVo6JpWzm8a4N8n\",\n            \"object\": \"session\",\n            \"status\": \"active\",\n            \"payment_type\": \"onetime\",\n            \"fiat_amount\": \"5\",\n            \"fiat_currency_code\": \"EUR\",\n            \"order_id\": \"1234\",\n            \"order_name\": \"Order #1234\",\n            \"customer\": {\n                \"id\": \"cus_xKJkA2ZkmX4Z9l0\",\n                \"object\": \"customer\",\n                \"email\": \"john.doe@example.cc\",\n                \"first_name\": \"John\",\n                \"last_name\": \"Doe\"\n            },\n            \"created_date\": 1750099304\n        },\n        \"payment_intent\": {\n            \"id\": \"pi_W4Z3vaqJ4npDAng\",\n            \"object\": \"payment_intent\",\n            \"currency_code\": \"USDT\",\n            \"currency\": {\n                \"id\": \"cur_P6k8VRaO3awMObG\",\n                \"object\": \"currency\",\n                \"code\": \"USDT\",\n                \"blockchain\": \"tron\",\n                \"coin_type\": \"trc20\"\n            },\n            \"amount\": 5.791145,\n            \"fiat_amount\": 5,\n            \"paid_amount\": 0,\n            \"paid_fiat_amount\": 0,\n            \"exchange_rate\": \"0.86338716\",\n            \"status\": \"waiting_confirmation\",\n            \"created_date\": 1750099305,\n            \"issued_wallet\": null,\n            \"customer\": {\n                \"id\": \"cus_xKJkA2ZkmX4Z9l0\",\n                \"object\": \"customer\",\n                \"email\": \"john.doe@example.cc\",\n                \"first_name\": \"John\",\n                \"last_name\": \"Doe\"\n            },\n            \"payments\": [\n                {\n                    \"id\": \"pay_Y3Gz0pzdLNXEQqj\",\n                    \"object\": \"payment\",\n                    \"status\": \"pending\",\n                    \"sub_status\": \"pending\",\n                    \"currency_code\": \"USDT\",\n                    \"currency\": {\n                        \"id\": \"cur_P6k8VRaO3awMObG\",\n                        \"object\": \"currency\",\n                        \"code\": \"USDT\",\n                        \"blockchain\": \"tron\",\n                        \"coin_type\": \"trc20\"\n                    },\n                    \"amount\": 5.791145,\n                    \"fiat_amount\": 5,\n                    \"fiat_currency_code\": \"EUR\",\n                    \"created_date\": 1750099591,\n                    \"confirmed_date\": null\n                }\n            ],\n            \"fees\": {\n                \"object\": \"fee\",\n                \"amount\": \"0\",\n                \"currency\": {\n                    \"id\": \"cur_P6k8VRaO3awMObG\",\n                    \"object\": \"currency\",\n                    \"code\": \"USDT\",\n                    \"blockchain\": \"tron\",\n                    \"coin_type\": \"trc20\"\n                },\n                \"fiat_amount\": \"0\",\n                \"fiat_currency_code\": \"EUR\"\n            },\n            \"issued_wallet_details\": {\n                \"address\": \"TNzF9UYidjfARv3182qDqpGiA3bp6HiueT\",\n                \"reserved_until\": null\n            }\n        }\n    }\n}\n\n ```\n\n- After 5 minutes, check your session again.\n    \n\nBy then it should be confirmed: the session status will be finished, and the associated payment_intent will show paid. Keep in mind, that on Production it could take up to 30 minutes.\n\nExample request:\n\n``` bash\ncurl -sS -X GET \"https://api.sandbox-inxy.io/paygate/v1/sessions/ses_LVo6JpWzm8a4N8n\" \\   \n  -H \"Accept: application/json\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer ${YOUR_TOKEN}\" \\\n  -H \"Cache-Control: no-cache\" \\\n  -H \"Accept-Encoding: gzip, deflate, br\" \\\n  -o -\n\n ```\n\nExample response:\n\n``` json\n{\n    \"data\": {\n        \"session\": {\n            \"id\": \"ses_LVo6JpWzm8a4N8n\",\n            \"object\": \"session\",\n            \"status\": \"finished\",\n            \"payment_type\": \"onetime\",\n            \"fiat_amount\": \"5\",\n            \"fiat_currency_code\": \"EUR\",\n            \"order_id\": \"1234\",\n            \"order_name\": \"Order #1234\",\n            \"customer\": {\n                \"id\": \"cus_xKJkA2ZkmX4Z9l0\",\n                \"object\": \"customer\",\n                \"email\": \"john.doe@example.cc\",\n                \"first_name\": \"John\",\n                \"last_name\": \"Doe\"\n            },\n            \"created_date\": 1750099304\n        },\n        \"payment_intent\": {\n            \"id\": \"pi_W4Z3vaqJ4npDAng\",\n            \"object\": \"payment_intent\",\n            \"currency_code\": \"USDT\",\n            \"currency\": {\n                \"id\": \"cur_P6k8VRaO3awMObG\",\n                \"object\": \"currency\",\n                \"code\": \"USDT\",\n                \"blockchain\": \"tron\",\n                \"coin_type\": \"trc20\"\n            },\n            \"amount\": 5.791145,\n            \"fiat_amount\": 5,\n            \"paid_amount\": 5.791145,\n            \"paid_fiat_amount\": 5,\n            \"exchange_rate\": \"0.86338716\",\n            \"status\": \"paid\",\n            \"created_date\": 1750099305,\n            \"issued_wallet\": null,\n            \"customer\": {\n                \"id\": \"cus_xKJkA2ZkmX4Z9l0\",\n                \"object\": \"customer\",\n                \"email\": \"john.doe@example.cc\",\n                \"first_name\": \"John\",\n                \"last_name\": \"Doe\"\n            },\n            \"payments\": [\n                {\n                    \"id\": \"pay_Y3Gz0pzdLNXEQqj\",\n                    \"object\": \"payment\",\n                    \"status\": \"finished\",\n                    \"sub_status\": \"finished\",\n                    \"currency_code\": \"USDT\",\n                    \"currency\": {\n                        \"id\": \"cur_P6k8VRaO3awMObG\",\n                        \"object\": \"currency\",\n                        \"code\": \"USDT\",\n                        \"blockchain\": \"tron\",\n                        \"coin_type\": \"trc20\"\n                    },\n                    \"amount\": 5.791145,\n                    \"fiat_amount\": 5,\n                    \"fiat_currency_code\": \"EUR\",\n                    \"created_date\": 1750099591,\n                    \"confirmed_date\": 1750099685\n                }\n            ],\n            \"fees\": {\n                \"object\": \"fee\",\n                \"amount\": \"0.057912\",\n                \"currency\": {\n                    \"id\": \"cur_P6k8VRaO3awMObG\",\n                    \"object\": \"currency\",\n                    \"code\": \"USDT\",\n                    \"blockchain\": \"tron\",\n                    \"coin_type\": \"trc20\"\n                },\n                \"fiat_amount\": \"0\",\n                \"fiat_currency_code\": \"EUR\"\n            },\n            \"issued_wallet_details\": {\n                \"address\": null,\n                \"reserved_until\": null\n            }\n        }\n    }\n}\n\n ```\n\n- Now the only thing left is to log into your INXY account on Sandbox and check that the funds have been credited to your balance.\n    \n\nCongrats! You know the drill—let’s dive into INXY’s advanced topics.\n\n# Environments\n\nINXY Paygate API provides two separate environments—Sandbox for testing and Production for live transactions. Each environment has its own base URL and requires its own API key.\n\n| Environment | Base URL | Notes |\n| --- | --- | --- |\n| Sandbox | `https://api.sandbox-inxy.io/paygate/v1` | Free testnet coins accepted. |\n| Production | `https://api.inxy.io/paygate/v1` | Main‑net only; real settlement |\n\nThe following network are supported in Sandbox as substitutes for Production main networks.\n\n| Network | **Production/ Mainnet** | Sandbox/Testnet |\n| --- | --- | --- |\n| Tron | `TRC-20` | TRON Nile |\n| Ethereum | `ERC-20` | Sepolia |\n| Polygon | `POLY` | Amoy |\n| Bitcoin | `BCS` | Testnet |\n\nYou can switch between environments by changing the base URL. For Sandbox and Production environments you would need separate API keys.\n\n# List of IPs\n\nAll webhooks are sent form these IPs. You can add them to your server whitelist if needed:\n\n**Sandbox**\n\n- `88.208.3.157`\n    \n- `13.62.133.170`\n    \n\n**Production**\n\n- `159.69.13.203`\n    \n- `3.64.216.48`\n    \n- `51.20.226.59`\n    \n- `51.21.206.133`\n    \n- `16.16.62.50`\n    \n\n# Authentication\n\nAll merchant requests are authenticated by API Key.\n\nTo use the API Key please do the following:\n\n1. Sign up in the corresponding environment\n    \n2. Complete your merchant profile\n    \n3. Generate an API key\n    \n4. Generate a Secret key (if needed)\n    \n5. Add an API key into your headers of your request under Bearer type.\n    \n\n# Errors (HTTP response codes)\n\nINXY uses conventional HTTP response codes to signal the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range denote an client-size error (e.g., a required parameter was omitted, etc.). Codes in the 5xx range mark an error on the INXY's side (these are rare).\n\n| Error Code | Response | Explanation |\n| --- | --- | --- |\n| `200` | `OK` | Operation successful. |\n| `201` | `Created` | Resource created. |\n| `400` | `Bad Request` | The request was unacceptable, often due to missing a required parameter. |\n| `401` | `Unauthorized` | No valid API key provided. |\n| `403` | `Forbidden` | The API key doesn't have permissions to perform the request. |\n| `404` | `Not Found` | The requested resource doesn't exist. |\n| `422` | `Unprocessable Entity` | The request could not be understood by the server due to malformed syntax. |\n| `429` | `Too Many Requests` | Too many requests hit the API too quickly. We recommend an exponential backoff. |\n| `500, 502, 503, 504` | `Server Errors` | Something went wrong on INXY's end. |\n\n# Resources overview\n\nThe API exposes only the primitives you need to embed crypto checkouts inside a web or mobile experience:\n\n| Resource | Description |\n| --- | --- |\n| **Session** | This is a high-level entity that mimics communication with the end user. Each time you are going to accept crypto from your customer, you would need to create a new session. |\n| **Payment Intent** | Dependent object that tracks on‑chain deposits, handles partial payments, and ultimately succeeds, cancels, or expires. Effectively, this is an invoice for your customer to deliver cryptocurrency onto your balance. |\n\nThe following table summarises available status movements of a Session and Payment intent along with events that trigger the change.\n\n| Event | Payment Intent Status | Session Status |\n| --- | --- | --- |\n| Session created | `waiting_payment` | `active` |\n| Payment Received | `waiting_confirmation` | `active` |\n| Payment Confirmed | `paid` | `finished` |\n| Partial Payment Confirmed | `partially_paid` | `active` |\n| Partial Payment Cancelled | `canceled` | `canceled` |\n| Session expired | `expired` | `expired` |\n\n# Payment Flows\n\n### Summary\n\n**Basic flow (single-currency)**\n\nThe default straight-through path when you know exactly which coin you want to receive. It’s ideal for subscription apps, fixed-price digital goods, or any storefront where “Pay ‹amount› in USDT-TRON” and the wallet address is all the customer needs to see. Because there’s a single amount, a single address, and zero choices, the user journey is as short as possible and you get immediate pricing clarity.\n\n**Partial payment flow**\n\nA fallback for those inevitable moments when a customer sends the wrong amount (network fees, fat-fingered copy-pastes, or split balances). Instead of losing the sale or opening a support ticket, you choose one of three business outcomes on the fly: accept the smaller sum and deliver a proportional product, reject it, or ask the shopper to top-up what’s missing. This keeps revenue, customer satisfaction, and reconciliation all under control without manual intervention.\n\nNote: You can control the allowed under-payment percentage in two ways—either in the INXY dashboard (Merchant Settings) or per request via the `amount_deviation_percentage` parameter. As long as the received amount stays above that threshold, INXY will automatically accept the payment and you won’t need to invoke the partial-payment flow.\n\n**Multi-currency flow**  \nA flexible checkout for businesses that let shoppers decide which cryptocurrency to spend. Think SaaS tools that cater to global users with different preferred coins, or on-chain wallets where players hold multiple tokens. You lock the price in fiat, present a menu of supported assets, and only create the final invoice once the user picks their coin. The result is fewer abandoned carts, fewer stale quotes, and a smoother experience for customers who juggle multiple wallets.\n\n### Basic Flow\n\nMost basic user scenarios are either the user completes payment, or not.\n\n**Payment Successful**\n\nSuccessful case implies that the user pays in full and money got credited to the merchant's wallet. **`session`** gets `finished` and payment intent becomes `paid`.\n\n<img src=\"https://content.pstmn.io/c78ab821-4b88-4f0d-bb99-37d7bf078317/Zmxvd19zdWNjZXNzLnBuZw==\">\n\n**Payment Expired**\n\nOnce **`session`** time elapses, it gets `expired` along with the **`payment_intent`**. In such cases another session must be created to accept funds from the customer, because expired sessions are disabled for pay-ins.\n\n_Note: Sometimes clients sent funds after sessions got expired. Such transactions must be processed by INXY support._\n\n<img src=\"https://content.pstmn.io/931c3861-b3e6-435a-9358-2beb12c9cb6c/Zmxvd19leHBpcmVkLnBuZw==\">\n\n### Partial Payment Flow\n\nINXY Paygate API supports several ways how merchant can process partially paid transactions, when customer didn't pay the expected amount in full.\n\n**Payment Accepted**  \nMerchant can decide to accept this transaction. This is handy when, merchant can deliver part of the original value to the customer. For example, to top up customer account with the fraction of the original amount.\n\n**Payment Declined**\n\nOther way around, merchant can decide to cancel such payment. This may require making a refunding crypto transaction.\n\n**Remaining amount requested**\n\nFinally, merchant can request the full payment. In this case the original payment intent gets updated and the user is expected to make another transfer.\n\n<img src=\"https://content.pstmn.io/4949e51c-e824-4e39-8a4b-4b9857617efa/Zmxvd19wYXlwYXJ0LnBuZw==\">\n\n### Multi-Currency Flow\n\nINXY Paygate API provides a dedicated two-step checkout for use-cases where the customer must first pick the cryptocurrency they want to pay with (e.g., a crypto-denominated wallet app), while the merchant still needs a session to be in place.\n\n**Session created**  \nSend POST /sessions/multi-currency with the order details, fiat amount and the list of supported coins. The call returns a pending session that already contains the candidate cryptocurrencies but no payment-intent yet; this lets you show the user a choice while the wallet address space is not reserved yet for the session. ￼\n\n**Payment intent created**  \nAfter the shopper selects a currency, call POST /payment-intents with the session ID and the chosen cryptocurrency. This second request spawns the payment-intent under the same session and moves the session status forward (from pending to active). From here you can continue exactly as in the basic flow—poll /sessions/{id}/status or listen to webhooks until the transfer is confirmed.\n\n<img src=\"https://content.pstmn.io/2dfb9924-3434-42d4-9111-5b8b2e76029e/bXVsdGljdXJyZW5jeV9mbG93LnBuZw==\">\n\n# Very High-Risk Transactions\n\nAccording to regulatory requirements, the incoming payments process includes mandatory Know Your Transaction (KYT) check for all incoming transactions. Below is the process for handling transactions flagged as Very High Risk during the KYT review:\n\n**1\\. Transaction Initiation:**\n\n- A user initiates a transaction to make a payment.\n    \n\n**2\\. KYT Review:**\n\n- Once the transaction is detected, it undergoes an automatic KYT check.\n    \n- If flagged as **Very High Risk**, the transaction status changes to **`payments.pending_review`** for further analysis.\n    \n\n**3\\. Additional Investigation:**\n\n- An AML officer reviews the transaction:\n    \n    - If cleared, the status updates to **`payments.received`**.\n        \n    - If violations are detected, the status changes to **`payments.seized`**, and the funds are frozen.\n        \n    - If the transaction must be refunded, the status updates to **`payments.returned`**.\n        \n\n**4\\. Update of the Session Status:**\n\n- The open payment session reflects the updated status (**pending_review**, **seized**, or **returned**).\n    \n- If funds are seized or returned, further payment activities are no longer possible.\n    \n\n# Webhooks\n\nWebhooks are automated messages sent from INXY Payments to your **postback url** when something happens.\n\n### List of IPs\n\nAll webhooks are sent form these IPs. You can add them to your server whitelist if needed:\n\n**Sandbox**\n\n- `88.208.3.157`\n    \n\n**Production**\n\n- `159.69.13.203`\n    \n- `3.64.216.48`\n    \n\n### Webhook Types\n\nThe following webhooks are currently supported:\n\n**1\\. Payments.init**\n\n``` json\n{\n  \"id\": 62,\n  \"object\": \"webhook\",\n  \"name\": \"payments.init\",\n  \"data\": {\n    \"session\": {\n      \"id\": 46,\n      \"object\": \"session\",\n      \"status\": \"active\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"order_id\": \"123\",\n      \"order_name\": \"Order #123\",\n      \"fiat_amount\": 1,\n      \"created_date\": 1662470058,\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"payment_intent\": {\n      \"id\": 39,\n      \"amount\": 1.0001,\n      \"object\": \"payment_intent\",\n      \"status\": \"waiting_payment\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"payments\": [],\n      \"fiat_amount\": 1,\n      \"paid_amount\": 0,\n      \"created_date\": 1662470068,\n      \"currency_code\": \"USDT\",\n      \"exchange_rate\": 0.9999,\n      \"paid_fiat_amount\": 0\n    }\n  }\n}\n\n ```\n\n**2\\. Payments.waiting_confirmations**  \nFunds have been detected on the blockchain and are awaiting confirmations from the blockchain.\n\n``` json\n{\n  \"id\": 67,\n  \"object\": \"webhook\",\n  \"name\": \"payments.waiting_confirmations\",\n  \"data\": {\n    \"payment\": {\n      \"id\": 146,\n      \"amount\": 1.0001,\n      \"object\": \"payment\",\n      \"status\": \"pending\",\n      \"fiat_amount\": 1,\n      \"created_date\": 1662472330,\n      \"currency_code\": \"USDT\",\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"session\": {\n      \"id\": 48,\n      \"object\": \"session\",\n      \"status\": \"active\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"order_id\": \"123\",\n      \"order_name\": \"Order #123\",\n      \"fiat_amount\": 1,\n      \"created_date\": 1662471954,\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"payment_intent\": {\n      \"id\": 41,\n      \"amount\": 1.0001,\n      \"object\": \"payment_intent\",\n      \"status\": \"waiting_confirmation\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"payments\": [\n        {\n          \"id\": 146,\n          \"amount\": 1.0001,\n          \"object\": \"payment\",\n          \"status\": \"pending\",\n          \"fiat_amount\": 1,\n          \"created_date\": 1662472330,\n          \"currency_code\": \"USDT\",\n          \"fiat_currency_code\": \"USD\"\n        }\n      ],\n      \"fiat_amount\": 1,\n      \"paid_amount\": 0,\n      \"created_date\": 1662472126,\n      \"currency_code\": \"USDT\",\n      \"exchange_rate\": 0.9999,\n      \"paid_fiat_amount\": 0\n    }\n  }\n}\n\n ```\n\n**3\\. Payments.received**  \nPayment is confirmed, verified, and credited to the merchant’s account.\n\n``` json\n{\n  \"id\": 68,\n  \"object\": \"webhook\",\n  \"name\": \"payments.received\",\n  \"data\": {\n    \"payment\": {\n      \"id\": 146,\n      \"amount\": 1.0001,\n      \"object\": \"payment\",\n      \"status\": \"finished\",\n      \"fiat_amount\": 1,\n      \"created_date\": 1662472330,\n      \"currency_code\": \"USDT\",\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"session\": {\n      \"id\": 48,\n      \"object\": \"session\",\n      \"status\": \"finished\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"order_id\": \"123\",\n      \"order_name\": \"Order #123\",\n      \"fiat_amount\": 1,\n      \"created_date\": 1662471954,\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"payment_intent\": {\n      \"id\": 41,\n      \"amount\": 1.0001,\n      \"object\": \"payment_intent\",\n      \"status\": \"paid\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"payments\": [\n        {\n          \"id\": 146,\n          \"amount\": 1.0001,\n          \"object\": \"payment\",\n          \"status\": \"finished\",\n          \"fiat_amount\": 1,\n          \"created_date\": 1662472330,\n          \"currency_code\": \"USDT\",\n          \"fiat_currency_code\": \"USD\"\n        }\n      ],\n      \"fiat_amount\": 1,\n      \"paid_amount\": 1.0001,\n      \"created_date\": 1662472126,\n      \"currency_code\": \"USDT\",\n      \"exchange_rate\": 0.9999,\n      \"paid_fiat_amount\": 1\n    }\n  }\n}\n\n ```\n\n**4\\. Payments.canceled**  \nPayment has been canceled.\n\n``` json\n{\n  \"id\": 63,\n  \"object\": \"webhook\",\n  \"name\": \"payments.canceled\",\n  \"data\": {\n    \"session\": {\n      \"id\": 46,\n      \"object\": \"session\",\n      \"status\": \"canceled\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"order_id\": \"123\",\n      \"order_name\": \"Order #123\",\n      \"fiat_amount\": 1,\n      \"created_date\": 1662470058,\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"payment_intent\": {\n      \"id\": 39,\n      \"amount\": 1.0001,\n      \"object\": \"payment_intent\",\n      \"status\": \"canceled\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"payments\": [],\n      \"fiat_amount\": 1,\n      \"paid_amount\": 0,\n      \"created_date\": 1662470068,\n      \"currency_code\": \"USDT\",\n      \"exchange_rate\": 0.9999,\n      \"paid_fiat_amount\": 0\n    }\n  }\n}\n\n ```\n\n**5\\. Payments.expired**  \nThe payment window expired before the transaction was made.\n\n``` json\n{\n  \"id\": 65,\n  \"object\": \"webhook\",\n  \"name\": \"payments.expired\",\n  \"data\": {\n    \"payment\": null,\n    \"session\": {\n      \"id\": 47,\n      \"object\": \"session\",\n      \"status\": \"expired\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"order_id\": \"123\",\n      \"order_name\": \"Order #123\",\n      \"fiat_amount\": 1,\n      \"created_date\": 1662470436,\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"payment_intent\": {\n      \"id\": 40,\n      \"amount\": 1.0001,\n      \"object\": \"payment_intent\",\n      \"status\": \"expired\",\n      \"customer\": {\n        \"id\": 6,\n        \"email\": \"example@mail.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"payments\": [],\n      \"fiat_amount\": 1,\n      \"paid_amount\": 0,\n      \"created_date\": 1662470446,\n      \"currency_code\": \"USDT\",\n      \"exchange_rate\": 0.9999,\n      \"paid_fiat_amount\": 0\n    }\n  }\n}\n\n ```\n\n**6\\. Payments.pending_review**  \nPayment is under AML/KYT review.\n\n``` json\n{\n  \"id\": \"wh_mKq34DEk15Jy0aX\",\n  \"object\": \"webhook\",\n  \"name\": \"payments.pending_review\",\n  \"data\": {\n    \"payment\": {\n      \"id\": \"pay_WNgOL28rEdX47wP\",\n      \"amount\": 1.5,\n      \"object\": \"payment\",\n      \"status\": \"pending_review\",\n      \"sub_status\": \"pending_review\",\n      \"fiat_amount\": 1.5,\n      \"created_date\": 1665645393,\n      \"confirmed_date\": 1665645693,\n      \"currency_code\": \"USDC\",\n      \"currency\": {\n        \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n        \"object\": \"currency\",\n        \"code\": \"USDC\",\n        \"blockchain\": \"ethereum\",\n        \"coin_type\": \"erc20\"\n      },\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"session\": {\n      \"id\": \"ses_7vJaZ5m8O21EoY3\",\n      \"object\": \"session\",\n      \"status\": \"pending_review\",\n      \"payment_type\": \"recurring\",\n      \"customer\": {\n        \"id\": \"cus_gP8N9l23JD36Lbm\",\n        \"email\": \"john.doe@example.com\",\n        \"object\": \"customer\",\n        \"last_name\": null,\n        \"first_name\": \"John\"\n      },\n      \"order_id\": \"1234\",\n      \"order_name\": \"Premium\",\n      \"fiat_amount\": 1.5,\n      \"created_date\": 1665645049,\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"payment_intent\": {\n      \"id\": \"pi_ZPvXVDRmWdOnwR4\",\n      \"amount\": 1.5,\n      \"object\": \"payment_intent\",\n      \"status\": \"pending_review\",\n      \"customer\": {\n        \"id\": \"cus_gP8N9l23JD36Lbm\",\n        \"email\": \"john.doe@example.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"payments\": [\n        {\n          \"id\": \"pay_WNgOL28rEdX47wP\",\n          \"amount\": 1.5,\n          \"object\": \"payment\",\n          \"status\": \"pending_review\",\n          \"sub_status\": \"pending_review\",\n          \"fiat_amount\": 1.5,\n          \"created_date\": 1665645393,\n          \"confirmed_date\": 1665645693,\n          \"currency_code\": \"USDC\",\n          \"currency\": {\n            \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n            \"object\": \"currency\",\n            \"code\": \"USDC\",\n            \"blockchain\": \"ethereum\",\n            \"coin_type\": \"erc20\"\n          },\n          \"fiat_currency_code\": \"USD\"\n        }\n      ],\n      \"fiat_amount\": 1.5,\n      \"paid_amount\": 1.5,\n      \"created_date\": 1665645103,\n      \"currency_code\": \"USDC\",\n      \"currency\": {\n        \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n        \"object\": \"currency\",\n        \"code\": \"USDC\",\n        \"blockchain\": \"ethereum\",\n        \"coin_type\": \"erc20\"\n      },\n      \"exchange_rate\": 1,\n      \"paid_fiat_amount\": 1.5,\n      \"issued_wallet\": null,\n      \"fees\": {\n        \"object\": \"fee\",\n        \"amount\": 0.01,\n        \"fiat_amount\": 0,\n        \"currency\": {\n          \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n          \"object\": \"currency\",\n          \"code\": \"USDT\",\n          \"blockchain\": \"ethereum\",\n          \"coin_type\": \"erc20\"\n        },\n        \"fiat_currency_code\": \"USD\"\n      }\n    }\n  }\n}\n\n ```\n\n**7\\. Payments.returned**  \nFunds have been sent back to the sender.\n\n``` json\n{\n    \"id\": \"wh_mKq34DEk15Jy0aX\",\n    \"object\": \"webhook\",\n    \"name\": \"payments.returned\",\n    \"data\": {\n        \"payment\": {\n            \"id\": \"pay_WNgOL28rEdX47wP\",\n            \"amount\": 1.5,\n            \"object\": \"payment\",\n            \"status\": \"compliance\",\n            \"sub_status\": \"returned\",\n            \"fiat_amount\": 1.5,\n            \"created_date\": 1665645393,\n            \"confirmed_date\": 1665645693,\n            \"currency_code\": \"USDC\",\n            \"currency\": {\n                \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n                \"object\": \"currency\",\n                \"code\": \"USDC\",\n                \"blockchain\": \"ethereum\",\n                \"coin_type\": \"erc20\"\n            },\n            \"fiat_currency_code\": \"USD\"\n        },\n        \"session\": {\n            \"id\": \"ses_7vJaZ5m8O21EoY3\",\n            \"object\": \"session\",\n            \"status\": \"compliance\",\n            \"payment_type\": \"recurring\",\n            \"customer\": {\n                \"id\": \"cus_gP8N9l23JD36Lbm\",\n                \"email\": \"john.doe@example.com\",\n                \"object\": \"customer\",\n                \"last_name\": null,\n                \"first_name\": \"John\"\n            },\n            \"order_id\": \"1234\",\n            \"order_name\": \"Premium\",\n            \"fiat_amount\": 1.5,\n            \"created_date\": 1665645049,\n            \"fiat_currency_code\": \"USD\"\n        },\n        \"payment_intent\": {\n            \"id\": \"pi_ZPvXVDRmWdOnwR4\",\n            \"amount\": 1.5,\n            \"object\": \"payment_intent\",\n            \"status\": \"compliance\",\n            \"customer\": {\n                \"id\": \"cus_gP8N9l23JD36Lbm\",\n                \"email\": \"john.doe@example.com\",\n                \"object\": \"customer\",\n                \"last_name\": \"Doe\",\n                \"first_name\": \"John\"\n            },\n            \"payments\": [\n                {\n                    \"id\": \"pay_WNgOL28rEdX47wP\",\n                    \"amount\": 1.5,\n                    \"object\": \"payment\",\n                    \"status\": \"compliance\",\n                    \"sub_status\": \"returned\",\n                    \"fiat_amount\": 1.5,\n                    \"created_date\": 1665645393,\n                    \"confirmed_date\": 1665645693,\n                    \"currency_code\": \"USDC\",\n                    \"currency\": {\n                        \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n                        \"object\": \"currency\",\n                        \"code\": \"USDC\",\n                        \"blockchain\": \"ethereum\",\n                        \"coin_type\": \"erc20\"\n                    },\n                    \"fiat_currency_code\": \"USD\"\n                }\n            ],\n            \"fiat_amount\": 1.5,\n            \"paid_amount\": 1.5,\n            \"created_date\": 1665645103,\n            \"currency_code\": \"USDC\",\n            \"currency\": {\n                \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n                \"object\": \"currency\",\n                \"code\": \"USDC\",\n                \"blockchain\": \"ethereum\",\n                \"coin_type\": \"erc20\"\n            },\n            \"exchange_rate\": 1,\n            \"paid_fiat_amount\": 1.5,\n            \"issued_wallet\": null,\n            \"fees\": {\n                \"object\": \"fee\",\n                \"amount\": 0.01,\n                \"fiat_amount\": 0,\n                \"currency\": {\n                    \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n                    \"object\": \"currency\",\n                    \"code\": \"USDT\",\n                    \"blockchain\": \"ethereum\",\n                    \"coin_type\": \"erc20\"\n                },\n                \"fiat_currency_code\": \"USD\"\n            }\n        },\n        \"refund\": {\n            \"id\": \"refund_OZxelV2Bg5EoAQ0\",\n            \"object\": \"refund\",\n            \"tx_hash\": \"0x0b7544c1bd3e820db34c04b657a01c3c5a8a867882a62ec56889872fba277388\",\n            \"recipient_address\": \"0xBd1E914a178Db7d54b8e0F2636D849e56Fc3d199\",\n            \"completed_at\": 1665695049\n        }\n    }\n}\n\n ```\n\n**8\\. Payments.seized**  \nFunds have been frozen due to suspected violations.\n\n``` json\n{\n    \"id\": \"wh_mKq34DEk15Jy0aX\",\n    \"object\": \"webhook\",\n    \"name\": \"payments.seized\",\n    \"data\": {\n        \"payment\": {\n            \"id\": \"pay_WNgOL28rEdX47wP\",\n            \"amount\": 1.5,\n            \"object\": \"payment\",\n            \"status\": \"compliance\",\n            \"sub_status\": \"seized\",\n            \"fiat_amount\": 1.5,\n            \"created_date\": 1665645393,\n            \"confirmed_date\": 1665645693,\n            \"currency_code\": \"USDC\",\n            \"currency\": {\n                \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n                \"object\": \"currency\",\n                \"code\": \"USDC\",\n                \"blockchain\": \"ethereum\",\n                \"coin_type\": \"erc20\"\n            },\n            \"fiat_currency_code\": \"USD\"\n        },\n        \"session\": {\n            \"id\": \"ses_7vJaZ5m8O21EoY3\",\n            \"object\": \"session\",\n            \"status\": \"compliance\",\n            \"payment_type\": \"recurring\",\n            \"customer\": {\n                \"id\": \"cus_gP8N9l23JD36Lbm\",\n                \"email\": \"john.doe@example.com\",\n                \"object\": \"customer\",\n                \"last_name\": null,\n                \"first_name\": \"John\"\n            },\n            \"order_id\": \"1234\",\n            \"order_name\": \"Premium\",\n            \"fiat_amount\": 1.5,\n            \"created_date\": 1665645049,\n            \"fiat_currency_code\": \"USD\"\n        },\n        \"payment_intent\": {\n            \"id\": \"pi_ZPvXVDRmWdOnwR4\",\n            \"amount\": 1.5,\n            \"object\": \"payment_intent\",\n            \"status\": \"compliance\",\n            \"customer\": {\n                \"id\": \"cus_gP8N9l23JD36Lbm\",\n                \"email\": \"john.doe@example.com\",\n                \"object\": \"customer\",\n                \"last_name\": \"Doe\",\n                \"first_name\": \"John\"\n            },\n            \"payments\": [\n                {\n                    \"id\": \"pay_WNgOL28rEdX47wP\",\n                    \"amount\": 1.5,\n                    \"object\": \"payment\",\n                    \"status\": \"compliance\",\n                    \"sub_status\": \"seized\",\n                    \"fiat_amount\": 1.5,\n                    \"created_date\": 1665645393,\n                    \"confirmed_date\": 1665645693,\n                    \"currency_code\": \"USDC\",\n                    \"currency\": {\n                        \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n                        \"object\": \"currency\",\n                        \"code\": \"USDC\",\n                        \"blockchain\": \"ethereum\",\n                        \"coin_type\": \"erc20\"\n                    },\n                    \"fiat_currency_code\": \"USD\"\n                }\n            ],\n            \"fiat_amount\": 1.5,\n            \"paid_amount\": 1.5,\n            \"created_date\": 1665645103,\n            \"currency_code\": \"USDC\",\n            \"currency\": {\n                \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n                \"object\": \"currency\",\n                \"code\": \"USDC\",\n                \"blockchain\": \"ethereum\",\n                \"coin_type\": \"erc20\"\n            },\n            \"exchange_rate\": 1,\n            \"paid_fiat_amount\": 1.5,\n            \"issued_wallet\": null,\n            \"fees\": {\n                \"object\": \"fee\",\n                \"amount\": 0.01,\n                \"fiat_amount\": 0,\n                \"currency\": {\n                    \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n                    \"object\": \"currency\",\n                    \"code\": \"USDT\",\n                    \"blockchain\": \"ethereum\",\n                    \"coin_type\": \"erc20\"\n                },\n                \"fiat_currency_code\": \"USD\"\n            }\n        }\n    }\n}\n\n ```\n\n**9\\. Payments.rejected**  \nPayment was rejected after funds were credited.\n\n``` json\n{\n  \"id\": \"wh_mKq34DEk15Jy0aX\",\n  \"object\": \"webhook\",\n  \"name\": \"payments.rejected\",\n  \"data\": {\n    \"payment\": {\n      \"id\": \"pay_WNgOL28rEdX47wP\",\n      \"amount\": 1.5,\n      \"object\": \"payment\",\n      \"status\": \"finished\",\n      \"sub_status\": \"finished\",\n      \"fiat_amount\": 1.5,\n      \"created_date\": 1665645393,\n      \"confirmed_date\": 1665645693,\n      \"currency_code\": \"USDC\",\n      \"currency\": {\n        \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n        \"object\": \"currency\",\n        \"code\": \"USDC\",\n        \"blockchain\": \"ethereum\",\n        \"coin_type\": \"erc20\"\n      },\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"session\": {\n      \"id\": \"ses_7vJaZ5m8O21EoY3\",\n      \"object\": \"session\",\n      \"status\": \"finished\",\n      \"payment_type\": \"recurring\",\n      \"customer\": {\n        \"id\": \"cus_gP8N9l23JD36Lbm\",\n        \"email\": \"john.doe@example.com\",\n        \"object\": \"customer\",\n        \"last_name\": null,\n        \"first_name\": \"John\"\n      },\n      \"order_id\": \"1234\",\n      \"order_name\": \"Premium\",\n      \"fiat_amount\": 1.5,\n      \"created_date\": 1665645049,\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"payment_intent\": {\n      \"id\": \"pi_ZPvXVDRmWdOnwR4\",\n      \"amount\": 1.5,\n      \"object\": \"payment_intent\",\n      \"status\": \"paid\",\n      \"customer\": {\n        \"id\": \"cus_gP8N9l23JD36Lbm\",\n        \"email\": \"john.doe@example.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"payments\": [\n        {\n          \"id\": \"pay_WNgOL28rEdX47wP\",\n          \"amount\": 1.5,\n          \"object\": \"payment\",\n          \"status\": \"finished\",\n          \"sub_status\": \"finished\",\n          \"fiat_amount\": 1.5,\n          \"created_date\": 1665645393,\n          \"confirmed_date\": 1665645693,\n          \"currency_code\": \"USDC\",\n          \"currency\": {\n            \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n            \"object\": \"currency\",\n            \"code\": \"USDC\",\n            \"blockchain\": \"ethereum\",\n            \"coin_type\": \"erc20\"\n          },\n          \"fiat_currency_code\": \"USD\"\n        }\n      ],\n      \"fiat_amount\": 1.5,\n      \"paid_amount\": 1.5,\n      \"created_date\": 1665645103,\n      \"currency_code\": \"USDC\",\n      \"currency\": {\n        \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n        \"object\": \"currency\",\n        \"code\": \"USDC\",\n        \"blockchain\": \"ethereum\",\n        \"coin_type\": \"erc20\"\n      },\n      \"exchange_rate\": 1,\n      \"paid_fiat_amount\": 1.5,\n      \"issued_wallet\": null,\n      \"fees\": {\n        \"object\": \"fee\",\n        \"amount\": 0.01,\n        \"fiat_amount\": 0,\n        \"currency\": {\n          \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n          \"object\": \"currency\",\n          \"code\": \"USDT\",\n          \"blockchain\": \"ethereum\",\n          \"coin_type\": \"erc20\"\n        },\n        \"fiat_currency_code\": \"USD\"\n      }\n    }\n  }\n}\n\n ```\n\n**10\\. Payments.failed**  \nPayment processing error (e.g., incorrect address, insufficient gas).\n\n``` json\n{\n  \"id\": \"wh_xXmV329qz2NYQMl\",\n  \"object\": \"webhook\",\n  \"name\": \"payments.failed\",\n  \"data\": {\n    \"session\": {\n      \"id\": \"ses_7vJaZ5m8O21EoY3\",\n      \"object\": \"session\",\n      \"status\": \"finished\",\n      \"payment_type\": \"recurring\",\n      \"customer\": {\n        \"id\": \"cus_gP8N9l23JD36Lbm\",\n        \"email\": \"john.doe@example.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"order_id\": \"test_order\",\n      \"order_name\": \"Premium\",\n      \"fiat_amount\": 1.5,\n      \"created_date\": 1665645049,\n      \"fiat_currency_code\": \"USD\"\n    },\n    \"payment_intent\": {\n      \"id\": \"pi_0JwYj2l7wDXeNn8\",\n      \"amount\": 1.5,\n      \"object\": \"payment_intent\",\n      \"status\": \"failed\",\n      \"customer\": {\n        \"id\": \"cus_gP8N9l23JD36Lbm\",\n        \"email\": \"john.doe@example.com\",\n        \"object\": \"customer\",\n        \"last_name\": \"Doe\",\n        \"first_name\": \"John\"\n      },\n      \"payments\": [],\n      \"fiat_amount\": 1.5,\n      \"paid_amount\": 0,\n      \"created_date\": 1665646175,\n      \"currency_code\": \"USDC\",\n      \"currency\": {\n        \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n        \"object\": \"currency\",\n        \"code\": \"USDC\",\n        \"blockchain\": \"ethereum\",\n        \"coin_type\": \"erc20\"\n      },\n      \"exchange_rate\": 1,\n      \"paid_fiat_amount\": 0,\n      \"issued_wallet\": null,\n      \"fees\": {\n        \"object\": \"fee\",\n        \"amount\": 0,\n        \"fiat_amount\": 0,\n        \"currency\": {\n          \"id\": \"cur_OZxelV2Bg5EoAQ0\",\n          \"object\": \"currency\",\n          \"code\": \"USDT\",\n          \"blockchain\": \"ethereum\",\n          \"coin_type\": \"erc20\"\n        },\n        \"fiat_currency_code\": \"USD\"\n      }\n    }\n  }\n}\n\n ```\n\n---","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"44352164","collectionId":"257d34b3-c8ca-42fb-b40e-0b050a7da5c0","publishedId":"2sB2x8GCAw","public":true,"publicUrl":"https://documenter-api.postman.tech/view/44352164/2sB2x8GCAw","privateUrl":"https://go.postman.co/documentation/44352164-257d34b3-c8ca-42fb-b40e-0b050a7da5c0","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2025-06-17T08:14:52.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sB2x8GCAw"}