Create an unprocessed payout object. A separate request is needed to execute the payout.
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.
ApiKeyAuthorizationBearer <token>Your API key from the Developers section of your account, sent as a bearer token.
application/json- body
Record of a single payout operation. Has a status attribute, e.g. can be initialized, error or success.
payment*unknownDetails of an executed transaction. Read-only for Purchases and Payouts. For an unpaid Purchase, this object will be null.
client*Contains details about the client of a purchase or payment - the remote payer/fund recipient party.
reference?stringPayout reference.
length <= 128sender_name?stringName of payout sender.
length <= 40payout_method_whitelist?array<>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.
1 <= itemsbrand_id*stringID 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?".
uuidOK
application/json- response
Record of a single payout operation. Has a status attribute, e.g. can be initialized, error or success.
type?stringObject type identifier
id?stringuuidcreated_on?integerObject creation time
Unix timestamp (seconds)updated_on?integerObject last modification time
Unix timestamp (seconds)payment*unknownDetails of an executed transaction. Read-only for Purchases and Payouts. For an unpaid Purchase, this object will be null.
client*Contains details about the client of a purchase or payment - the remote payer/fund recipient party.
transaction_data?Payment method-specific, read-only transaction data. Will contain information about all the transaction attempts and possible errors, if available.
reference_generated?stringIf you don't provide an invoice reference yourself, this autogenerated value will be used as a reference instead.
reference?stringPayout reference.
length <= 128status?PayoutStatusPayout status. Can have the following values:
initialized: Payout was created, but not executed. Initial status to new Payouts.
pending: Payout's execution is currently pending
error: An error has occurred during the execution. Execution can be attempted again.
success: Payout was executed successfully.
"initialized""initialized""pending""error""success"status_history?array<unknown>History of status changes, latest last.
sender_name?stringName of payout sender.
length <= 40recipient_card_country?stringRecipient's card's registration country. Country code in the ISO 3166-1 alpha-2 format (e.g. GB).
recipient_card_brand?stringRecipient's card's brand, e.g. visa or mastercard.
payout_method_whitelist?array<>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.
1 <= itemsexecution_url?stringURL that must be used for payout execution. See details in description.
brand_id*stringID 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?".
uuidissuer_details?source_platform?|An identifier of an external platform that created this object.
company_id?stringuuidis_test?booleanIndicates this is a test object, created using test API keys or using Billing section of UI while in test mode.
user_id?|ID of user who has created this object in the Billing UI, if applicable.
uuidcurl -X POST 'https://gate.reviopay.com/api/v1/payouts/' \ -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"}'{ "payment": { "is_outgoing": false, "payment_type": "purchase", "amount": 0, "currency": "str", "net_amount": null, "fee_amount": null, "pending_amount": null, "pending_unfreeze_on": null, "description": "string", "paid_on": 1619740800, "remote_paid_on": 1619740800 }, "client": { "email": "user@example.com", "phone": "+44 45643564564", "full_name": "string", "personal_code": "string", "street_address": "string", "country": "st", "city": "string", "zip_code": "string", "state": "string", "shipping_street_address": "string", "shipping_country": "st", "shipping_city": "string", "shipping_zip_code": "string", "shipping_state": "string", "cc": [ "user@example.com" ], "bcc": [ "user@example.com" ], "legal_name": "string", "brand_name": "string", "registration_number": "string", "tax_number": "string", "delivery_methods": [ { "method": "email", "options": {} } ], "bank_account": "string", "bank_code": "string" }, "transaction_data": { "payment_method": "string", "extra": {}, "country": "string", "attempts": [ { "successful": true, "payment_method": "string", "extra": {}, "country": "string", "client_ip": "string", "processing_time": 1619740800, "error": { "code": "string", "message": "string" } } ] }, "reference_generated": "string", "reference": "string", "status": "initialized", "status_history": [ { "status": "initialized", "timestamp": 1619740800 } ], "sender_name": "string", "recipient_card_country": "string", "recipient_card_brand": "string", "payout_method_whitelist": [ "string" ], "execution_url": "string", "brand_id": "1bb61461-e5e3-4ebb-8cc6-5b0c37f1b7da", "issuer_details": { "legal_name": "string", "brand_name": "string" }, "source_platform": "string", "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf", "is_test": true, "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5", "type": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "created_on": 1619740800, "updated_on": 1619740800}