POST https://gate.reviopay.com/api/v1/payouts/Description
To issue payouts in your application use POST /payouts/ request to register a payout. Response will contain the payout execution url - execution_url. For card payouts send a POST request to execution_url with a JSON payload containing recipient’s card details: expiry_month: string; 1-2 digits expiry_year: string; 1-2 digits, card_number: string; 16-19 chars, cardholder_name: string; 1-30 chars. For wallet payouts, please contact support to get specific details on how to send a POST request to execution_url. You need to do the 2nd request within 15 minutes of creating the Payout object. Response will have a response code of 200 in case of payout initiation success (status attribute will be executed or pending) or an error code/message with a 400 error response code and status of error. For response to the second request having a code of 200, status = success means that payout was already executed. Second request returning status of pending means the payout was accepted for processing but not executed yet. In this case, transaction processing can take up to 3-5 days depending on the payout provider. Once the processing will finish, Payout.status will change accordingly. It’s advised to subscribe to payout.failed and payout.success webhook events. To test card Payouts, use card_number of 4444 3333 2222 1111, any cardholder_name and expiry_month/expiry_year equal or larger to the current ones.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
client | object | yes | |
status | PayoutStatus | no | Payout status. Can have the following values: initialized: Payout was created, but not executed. Initial status to new Payouts. One of: initialized, pending, error, success |
is_test | boolean | no | Indicates this is a test object, created using test API keys or using Billing section of UI while in test mode. |
payment | object | yes | |
user_id | string (uuid) | no | ID of user who has created this object in the Billing UI, if applicable. |
brand_id | string (uuid) | yes | ID of the brand to create this Payout for. You can copy it down in the API section, see the “specify the ID of the Brand” link in answer to “How to setup payments on website or in mobile app?”. |
reference | string | no | Payout reference. |
company_id | string (uuid) | no | |
sender_name | string | no | Name of payout sender. |
execution_url | string | no | URL that must be used for payout execution. See details in description. |
issuer_details | object | no | |
status_history | object[] | no | History of status changes, latest last. |
transaction_data | object | no | Payment method-specific, read-only transaction data. Will contain information about all the transaction attempts and possible errors, if available. |
reference_generated | string | no | If you don’t provide an invoice reference yourself, this autogenerated value will be used as a reference instead. |
recipient_card_brand | string | no | Recipient’s card’s brand, e.g. visa or mastercard. |
recipient_card_country | string | no | Recipient’s card’s registration country. Country code in the ISO 3166-1 alpha-2 format (e.g. GB). |
payout_method_whitelist | string[] | no | An optional whitelist of payment methods availble for this Payout. Use this field if you want to restrict your payer to pay using only one or several specific methods. |
id | string (uuid) | no | |
type | string | no | Object type identifier |
created_on | object | no | Object creation time |
updated_on | object | no | Object last modification time |
Example
curl -X POST https://gate.reviopay.com/api/v1/payouts/ \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"client": {
"email": "test@example.com"
},
"payment": {
"amount": 10000,
"currency": "EUR",
"description": "This is a description"
},
"brand_id": "f025d78f-3d23-49d1-a377-e2bf7e318a25"
}'Responses
| Status | Description |
|---|---|
201 | OK |
400 | Invalid data submitted or request processing error |