Skip to main content

Payouts

A payout is an operation to transfer money from your shop's balance to Feennex Wallets or third-party payment systems.

For example, you've received a payment from a payer into your shop account and want to withdraw this money to a bank card.

How payouts work

If you've already accepted payments using Feennex, you already have one or more shops. Each shop has a balance - the money that payer have transferred to you.

Before making a payout:

  • Check the balance of your shop in your personal account
  • Get payout details from your customer, such as the Feennex Wallet number or the bank card number to transfer the money to
  • Make sure you comply with payout limits, depending on the customer's chosen method of receiving money. Your manager will provide you with applicable limits

Ask your manager to find out the commission amount for your specific case.

Payout methods

Using the Feennex API, you can make payouts to Feennex Wallets and third-party payment systems. In the personal account, you can find the list of supported payment systems in the settings of your shop under the Pay Ways section. To enable additional payment systems, contact your account manager.

Payouts to Feennex Wallets

Payout process to Feennex Wallets

  • Step 1. Optional step. Request a preliminary payout calculation: send a Feennex POST request with data on the amount to be debited from your shop's balance and to which wallet to transfer it
  • Step 2. Create a payout: send a Feennex POST request with data on the amount to be debited from your shop's balance and to which wallet to transfer it

Feennex processes the payout to the provided wallet and returns the payout identifier. This means the payout is successful.

Perform payout via API

Step 1. Request a payout precalculation. In the request, send the payout amount, currency, type of the transmitted payout amount, currency of the payout, currency of the shop's debit, and your shop's identifier. In the sign parameter, send the request signature.

Request example

curl https://core.feennex.com/transfer/try \
-H 'Content-Type: application/json' \
-d '{
"amount": 10,
"amount_type": "receive_amount",
"payee_currency": 840,
"shop_currency": 840,
"shop_id": 112,
"sign": "cd30ba2b6e29f5"
}'

Response example

{
"data": {
"account_info_config": {
"payee_account": {
"comment": {
"en": "Enter Wallet Number or Email",
"ru": "Введите номер кошелька или email"
},
"example": "201557414711",
"label": {
"en": "Wallet Number or Email",
"ru": "Введите номер кошелька или email"
},
"regex": "^20[\\d]{10}$|^([a-zA-Z0-9_-]+\\.)*[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*\\.[a-zA-Z]{2,6}$"
}
},
"info": {},
"payee_amount": 1.11,
"payee_currency": 978,
"shop_currency": 840,
"write_off_amount": 1.19
},
"error_code": 0,
"message": "Ok",
"result": true
}

Step 2. Create a payout to a wallet. In the request, provide the payout amount, recipient's account for the payout in Feennex, type of the transmitted payout amount, currency of the payout receipt, currency of the shop's debit, your shop's identifier, and a unique payout identifier on your side. In the sign parameter, provide the request signature.

Request example

curl https://core.feennex.com/transfer/create \
-H 'Content-Type: application/json' \
-d '{
"amount": 10,
"amount_type": "receive_amount",
"payee_account": "201497141132",
"payee_currency": 840,
"shop_currency": 840,
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561324",
"sign": "cd30ba2b6e29f5"
}'

Response example

{
"data": {
"balance": 88.91,
"id": 12,
"payee_account": 201497141132,
"payee_amount": 10,
"payee_currency": 840,
"shop": 112,
"shop_currency": 840,
"write_off_amount": 10
},
"error_code": 0,
"message": "Ok",
"result": true
}

The payout is successful!

If an error occurred in the response, you can request the payout status to Feennex Wallet.

Payouts to external payment systems

  • Step 1. Request a payout precalculation: send a Feennex POST request with data on the amount to be debited from your shop's balance and to which payment system to transfer it. Additional parameters may be returned in the account_info_config parameter, which must be passed in subsequent requests.
  • Step 2. Check the possibility of making a payout to the selected payment system from the Feennex side: send a Feennex POST request.
  • Step 3. Create a payout: send a Feennex POST request with data on the amount to be debited from your shop's balance and to which payment system to transfer it. Feennex processes the payout to the selected payment system and returns you the payout object with the current status.
  • Step 4. Periodically check the payout status, no more than once per minute. If the status is 5 (Success), the payout is successful, and the money is debited from your shop's balance.

Perform payout via API

Step 1. Request a payout precalculation. In the request, send the payout amount and currency, type of the transmitted payout amount, direction for the payout, and your shop's identifier. In the sign parameter, provide the request signature.

Request example

curl https://core.feennex.com/withdraw/try \
-H 'Content-Type: application/json' \
-d '{

"amount_type": "ps_amount",
"shop_currency": 840,
"sign": "f97c52fa8d273a",
"payway": "card_usd",
"amount": 1,
"shop_id": 112
}'

Response example

{ 
"data":
{
"account_info_config"
{
"account":
{
"regex": "\\d{9,15}$",
"title": "79123456789"
}
}
"payee_receive": 1,
"ps_currency": 840,
"shop_currency": 840,
"shop_write_off": 1.02
},
"error_code": 0,
"message": "Ok",
"result": true
}

If the response includes additional parameters in the account_info_config object, except for account, you should send these parameters in the Create payout request within the account_details parameter.

Step 2. Check the possibility of making a payout.

In the request, include the recipient's account for payout verification, payout direction, payout amount, your shop's identifier, and any additional account information if available. Use the sign parameter to provide the request signature.

Request example

curl https://core.feennex.com/check_account \
-H 'Content-Type: application/json' \
-d '{
"account": "4111111111111111",
"account_details": {
"contract": "C1234"
},
"sign": "faf7ee6db712752f2b107e05328bbd0d",
"payway": "card_eur",
"amount": 10.5,
"shop_id": 1
}'

Response example

{
"data": {
"account_info": {
"verified": "true"
},
"provider_status": 1,
"result": true
},
"error_code": 0,
"message": "Ok",
"result": true
}

Step 3. Create a payout to the account.

In the request, include the payout amount, recipient's account for the payout, type of transmitted amount, currency of the shop's debit, your shop's identifier, and a unique payout identifier on your side. Use the sign parameter to provide the request signature.

Request example for creating a payout

curl https://core.feennex.com/withdraw/create \
-H 'Content-Type: application/json' \
-d '{
"account": "4111111111111111",
"amount": 1,
"amount_type": "ps_amount",
"email": "[email protected]",
"payway": "card_usd",
"shop_currency": 840,
"shop_id": 112,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"sign": "b4c3ca4b403bb"
}'

Response example

{
"data": {
"balance": 0,
"id": 11298076,
"payee_receive": 1,
"ps_currency": 840,
"shop_currency": 840,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"shop_write_off": 1.02,
"status": 3
},
"error_code": 0,
"message": "Ok",
"result": true
}

Step 4. Request the payout status using the payout identifier or the payout number in your system. In the request, provide the request sending time, your shop's identifier, and the payout identifier. In the sign parameter, provide the request signature.

Request example for getting the payout status by the payout identifier

curl https://core.feennex.com/withdraw/status \
-H 'Content-Type: application/json' \
-d '{
"now": "2024-01-23 16:56:25.009469",
"shop_id": 112,
"withdraw_id": 11298076,
"sign": "e1dfc97b2c5430"
}'

Example of a successful payout object


{
"data": {
"id": 11298076,
"payee_receive": 1,
"ps_currency": 840,
"shop_currency": 840,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"shop_write_off": 1.02,
"status": 5
},
"result": True,
"error_code": 0,
"message": "Ok"
}

The parameter status has the value 5, indicating success. More about statuses for payouts to external accounts

The payout is successful!