Payout Process
Please see below the scheme of the payout through Payment System by means of Olympz API:

A maximally general case is analyzed in this scheme. In different systems the schemes can differentiate. The information is thoroughly described in the section below.
The payout process is asynchronous. The Merchant creates a transaction with /payout/create method. If transaction is created successfully then the Merchant should await for notification or send status requests.
REQUEST FOR PAYOUT TRANSACTION CREATING /PAYOUT/CREATE
The request is sent by POST to the address:
https://olympz.com/api/payout/create
The request format is as follows:
amount
float (10,2)
Yes
Transaction amount
10.00
currency
string(3)
Yes
Transaction currency
USD
method_name
string
Yes
Method name
CardChannel1
transaction_id
string
Yes
Transaction number in the merchant system
1234567
system_fields
object
Yes
Container for additional fields of payment system. You can specify it with your manager.
customer
object
Yes
Container for fields of end-customer / payer. You can specify it with your manager.
customer": {
"id": "1",
"ip": "127.0.0.1",
"email": "[email protected]",
"phone": "+97475300470",
"country": "GB",
"last_name": "First",
"first_name": "Last" }
The transaction_id parameter must be unique. In case of repeated ID Olympz system will answer with 306 error code. This does not mean that transaction in not successful! We suggest to check transaction status after receiving this kind of response.
In some cases payment system can cancel payout transaction after it became successful. For this case reversal_url is used. Olympz send common notification request to reversal_url with transaction status 'error' and 'Declined: reversal' message.
The example of the request:
{
"amount": "10.00",
"currency": "USD",
"customer": {
"id": "1234567890",
"ip": "127.0.0.1",
"email": "[email protected]",
"phone": "1234567890",
"country": "GB",
"last_name": "Last",
"first_name": "First"
},
"method_name": "CardGate",
"system_fields": {
"card_number": "4111111111111111"
},
"transaction_id": "117013775758724001779442581568"
} Response of Olympz:
status
string
Yes
Transaction status 'created' in the case of success, 'error' if an error arose.
created
id
integer
Yes (success)
Transaction number in Olympz system.
500
transaction_id
string
No (success)
Transaction number in the Merchant system, if it was transmitted in the request.
1234567
type
string
Yes (success)
Transaction type: 'payout' – withdrawal.
payout
amount
string
Yes (success)
Transaction amount
10.00
currency
string(3)
Yes (success)
Transaction currency.
USD
method_id
string
Yes (success)
method_id name.
CardChannel1
created
integer
Yes (success)
Timestamp of the creation date and time.
1510000000
system_fields
object
No
Container for additional fields of payment system that you've sent.
The example of successful Olympz response:
{
"id": 2,
"type": "payout",
"amount": "50.00",
"status": "pending",
"created": 1701377095,
"message": "",
"currency": "USD",
"method_name": "CardGate",
"transaction_id": "117013775758724001779442581568",
"original_amount": "50.00"
}The example of unsuccessful Olympz response:
{
"status": "error",
"code": "305",
"message": "Insufficient balance"
} Last updated