Payout Webhooks
Click the tabs below to see what webhooks you will receive from Coindirect while processing payout requests.
The scenario in this example is the following:
The Customer requests a payout in cryptocurrency in the Merchant's platform
The Merchant makes a
POST
/api/v1/pay/summary
call to request a payoutCoindirect receives the API call and creates a payout with the status of
PENDING
and then immediately updates the status toPROCESSING
Once the payout status is updated to
PROCESSING
, Coindirect sends a relevant webhook - see examples belowAs soon as Coindirect sends a cryptocurrency transaction to a destination address, the payout updates its status from
PROCESSING
toCOMPLETE
- Coindirect sends a relevant webhookIf the payout status updates from
PROCESSING
toCANCELLED
instead of being updated toCOMPLETE
, it means that the payout request has been failed and no cryptocurrency transaction has been sent
Once you finalize the payment on your side, please ensure that no more transactions will appear on the customer's balance in case you receive further webhooks with the same payment UUID from us - this is to avoid potential issues with duplicate balance transactions.
No under circumstances should you completely rely only on webhooks when finalizing the payment on your side.
Once a webhook is received, we highly recommend making an additional API call to retrieve the payment details via GET /api/pay/v1/:uuid/summary
(link) to check both the status
and displayCurrency.actual
field values.
Webhook Payload Data
Parameter | Type | Description |
| string | Webhook source e.g. a payment |
| string | Can be |
| object | An object that contains the payment data |
| string | Payment UUID |
| string | Merchant ID |
| long | Payment creation date and time |
| long | Payment expiry date |
| long | Quote expiry date |
| string | Payment external ID |
| string |
|
| string | Payment status. See the list of payment statuses in Payouts How-Tos on the left |
| object | Contains data about the payment price currency and amount |
| string | Payment price currency e.g. |
| big decimal | Payment price amount |
| big decimal | The actual payment amount in price currency that the payment resulted in |
| object | Contain data about both the payment's source wallet currency and the amount |
| string | The merchant's target wallet currency that the cryptocurrency payment was converted and debited from |
| big decimal | The amount that was debited from the merchant's wallet |
| big decimal | The amount that was debited from the merchant's wallet |
| object | Contains data about the |
| string | Cryptocurrency code e.g. |
| big decimal | The amount of cryptocurrency that is supposed to be sent to the payment address |
| big decimal | The actual amount of received cryptocurrency |
| object | Contains data about payment fees |
| string | Fee currency code |
| big decimal | Fee amount that was debited from the merchant's wallet balance |
| big decimal | Fee amount that was debited from the merchant's wallet balance |
| object | An object that contain data about the display rate. |
| string | Base currency type |
| string | Couter currency type |
| big decmal | Rate |
| object | An object that contains data about the paymen exchange rate |
| string | Base currency code |
| string | Counter currency code |
| big decimal | Rate |
| object | Contains data about the cryptocurrency address and destination tag (in case of XRP) |
| string | The protocol type supported by the payment. If there are multiple protocols supported, see the |
| string | The payment address. This is the address that the customer specified as their wallet address |
| string | This is a payment destination tag. This fields isn't |
| string | The destination address URI |
| array | Fields are the same as in the case of the |
| string | URL to the payment page that you can redirect your customers to |
| string | URL that the customer will be redirected to if they click a "Back to Merchant" button on the payment page |
| array | Contains data about cryptocurrency transactions and exchange rates |
| long | Cryptocurrency transaction detection timestamp |
| long | Cryptocurrency transaction confirmation timestamp |
| string | Cryptocurrency transaction hash |
| big decimal | Cryptocurrency transaction amount |
| object | Cryptocurrency transaction risk details |
| string | Cryptocurrency transaction risk levl. Can |
| string | Cryptocurrency transaction resource name |
| string | Cryptocurrency transaction resource category |
| string | Cryptocurrency transaction network fee details |
| big decimal | Network fee amount |
| array, string | The wallet addresses that the cryptocurrency transaction was sent from |
| object | The exchange rate that was used to convert cryptocurrency to the wallet currency |
| string | Base currency |
| string | Counter currency |
| big decimal | Exhange rate |
| object | The display rate |
| string | Base currency |
| string | Counter currency |
| big decimal | Rate |
Last updated