Skip to main content

Group Payout to external payment systems

Before integration, please read the Get started with API section.

Precalculate payout [/withdraw/try]

The endpoint is optional. Returns additional information to create a payout with a pre-calculated fee.

To use this method, you need to generate a signature using the required request parameters: shop_currency, amount_type, payway, amount, and shop_id. The generated signature must be passed in the sign parameter.

Click the button at the end of the method description to view the request and response parameter details.

Example request

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

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

Click the button below to view the endpoint parameters and request/response bodies.

Precalculate payout [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • shop_currency: 840 (number, required) - Currency of debiting your shop's account. Possible currency values
      • amount_type: receive_amount (string, required) - Parameter specifies the type of amount. Possible values: ps_amount - the amount that will be transferred to the recipient's account in the payment system, shop_amount - the amount that will be debited from your shop's balance
      • sign: 32b2c32caa8ad (string, required) - Request signature
      • payway: card_usd (string, required) - Direction for payout. Possible values you can find out in your personal account in the settings of your shop in the Pay Ways section. The currency of receipt depends on the transferred direction for payment
      • amount: 1 (number, required) - Receipt or debit amount. Depends on the value of the amount_type parameter
      • shop_id: 1 (number, required) - Identifier of your shop, from which the payment is made
    • Body

      { 
      "amount_type": "ps_amount",
      "shop_currency": 840,
      "sign": "f97c52fa8d273a",
      "payway": "card_usd",
      "amount": 1,
      "shop_id": 112
      }
  • Response 200 ()

    • Body

      { 
      "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
      }
    • Attributes (object)

      • data (object, required) - Payment data
        • account_info_config (object, required) - Information about an account to which the payment will be made.
          • account (object, required) - Additional information about an account to which the payment will be made. The parameters in the object may be different for each payout direction
          • regex: \\d{9,15}$ (string, required) - Regular expression that the account must match
          • title: 79123456789 (string, required) - Name of the account field
        • payee_receive: 1 (number, required) - Amount of the payment that will be credited to the recipient’s account in the external system
        • ps_currency: 840 (number, required) - Currency of the payment direction
        • shop_currency (number, required) - Currency in which the payment will be debited from the shop account
        • write_off_amount (number, required) - Amount to be debited from the shop in the wallet currency
      • error_code: 0 (number, required) - Error code. Possible error codes
      • message: Ok (string, required) - Error description. By the value of this parameter you can determine the success of the request and find out what went wrong
      • result: true (boolean, required) - Success of the request

Check account [/check_account]

The endpoint returns information about whether payouts can be made to a specific account. The endpoint isn't required to create a payout, but it's recommended.

*To use this method, you need to generate a signature using the required request parameters: account, payway, amount, and shop_id. The generated signature must be passed in the sign parameter.

Click the button at the end of the method description to view the request and response parameter details.

The response to the payout precalculation request may return the account_info_config object with additional parameters. You need to send these parameters, except for account, in the Create payout request within the account_details parameter.

Example request

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
}'

Click the button below to view the endpoint parameters and request/response bodies.

Check account [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • account: 4111111111111111 (string, required) - Main account to be checked for the possibility of replenishment. The format for each payout direction may differ: you can check the information in your personal account
      • account_details (object, optional) - Additional information for account verification
        • contract: C1234 (string, optional) - Contract number of the account to be checked for the possibility of replenishment.
      • sign: 32b2c32caa8ad (string, required) - Request signature
      • payway: card_usd (string, required) - Direction for payout. Possible values you can find out in your personal account in the shop settings in the Pay Ways section. The currency of receipt depends on the transferred direction for payout
      • amount: 1 (number, required) - Amount of planned crediting to the account in the currency of the payment direction. It is necessary to check replenishment limits
      • shop_id: 1 (number, required) - Identifier of your shop from which the payment is made
    • Body

      {
      "account": "4111111111111111",
      "account_details": {
      "contract": "C1234"
      },
      "sign": "faf7ee6db712752f2b107e05328bbd0d",
      "payway": "card_eur",
      "amount": 10.5,
      "shop_id": 1
      }
  • Response 200 ()

    • Body

      {
      "data": {
      "account_info": {
      "verified": "true"
      },
      "provider_status": 1,
      "result": true
      },
      "error_code": 0,
      "message": "Ok",
      "result": true
      }
    • Attributes (object)

      • data (object, required) - Verification data
        • account_info (object, required) - Additional information returned from the service provider, can be displayed to the payer, as it often contains his personal information, for example, the name of the account owner
          • verified: true (boolean, required) -
        • provider_status: 1 (number, required) - Provider's response status to the request to verify the possibility of account replenishment, format: 1 - provider is available, the verification has passed without errors; 2 - error on the provider, the result of the verification is unknown; 3 - error in processing the request, the result of the verification is unknown
        • result: true (boolean, required) - Result of checking if the account can be recharged
      • error_code: 0 (number, required) - Error code. Possible values of error codes
      • message: Ok (string, required) - Error description. By the value of this parameter you can determine the success of the request and find out what went wrong
      • result: true (boolean, required) - Success of the request

Create payout [/withdraw/create]

Use this endpoint to create a payout to transfer funds from your Feennex shop balance to available payment systems, other than Feennex Wallet.

To use this method, you need to generate a signature using the required request parameters: account, amount, amount_type, email, payway, shop_currency, shop_id, and shop_payment_id. The generated signature must be passed in the sign parameter.

Click the button at the end of the method description to view the request and response parameter details.

The shop_payment_id parameter must be unique for each request.

You can find the reason for the payout rejection in the rejected_reason parameter, which is returned in the Create payout and Request payout status endpoints.

Request example

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"
}'

Click the button below to view the endpoint parameters and request/response bodies.

POST Create payout [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • account: 4111111111111111 (string, required) - Payee's account in the payment system, for example, card number
      • amount: 1 (number, required) - Receipt or debit amount. Depends on the value of the amount_type parameter
      • amount_type: ps_amount (string, required) - Parameter defines the type of amount. Possible values: ps_amount - amount to be received in the payment system, shop_amount - amount to be debited from the balance of your shop
      • email: [email protected] (string, required) - Payee's email. Exclude this parameter from signature generation
      • payway: card_usd (string, required) - Direction for payout. Possible values you can find out in your personal account in the settings of your shop in the Pay Ways section. The currency of receipt depends on the transferred direction for payment
      • shop_currency: 840 (number, required) - Currency in which the payment will be debited from your shop account. Possible currency values
      • shop_id: 1 (number, required) - Identifier of your shop from which the payment will be debited
      • shop_payment_id (string, required) - Unique identifier of the payout on your side
      • sign: 32b2c32caa8ad (string, required) - Request signature
      • account_details (object, optional) - Object with additional information about the payee's account. The composition of parameters in the object depends on the selected direction for payouts. The list of parameters can be viewed in the personal account for each direction
      • description: Payout (string, optional) - Description of payout. The value is passed in the payment destination, if the payment system has this function. No more than 255 characters
    • Body

      {
      "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 200 ()

    • Body

      {
      "data":
      {
      "balance": 0.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
      }
    • Attributes (object)

      • data (object, required) - Payment data
        • balance: 0.0 (number, required) - Balance of your shop after successful creation of the payment
        • id: 11298076 (number, required) - Unique identifier of the payment on the Feennex side
        • payee_receive: 1 (number, required) - Amount of the payment that will be credited to the recipient’s account in the external system
        • shop_currency: 840 (number, required) - Currency in which the payment will be debited from your shop account
        • shop_payment_id (string, required) - Unique identifier of the payment on your side
        • shop_write_off: 1.02 (number, required) - Amount that will be deducted from your shop account
        • status: 3 (number, required) - Payment status
      • error_code: 0 (number, required) - Error code. Possible error codes
      • message: Ok (string, required) - Error description. By the value of this parameter you can determine the success of the request and find out what went wrong
      • result: true (boolean, required) - Success of the request

Request payout status by payout ID [/withdraw/status]

Use this endpoint to get the status of a payout by payout identifier - withdraw_id parameter.

Request the payment status not more often than once a minute.

To use this method, you need to generate a signature using the required request parameters: now, shop_id, and withdraw_id. The generated signature must be passed in the sign parameter.

Click the button at the end of the method description to view the request and response parameter details.

Example request

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 response in case of an error

{
"error_code": 2000,
"message": "Withdraw (id=3) wasn't found",
"data": null,
"result": false
}

Click the button below to view the endpoint parameters and request/response bodies.

POST Request payout status [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • now (string, required) - Date and time when you send the request. Format: ISO 8601
      • shop_id: 1 (number, required) - Identifier of your shop from which the payment is made
      • withdraw_id: 112 (number, required) - Unique identifier of the Feennex payment for which you want to know the status.
      • sign: 32b2c32caa8ad (string, required) - Request signature
    • Body

      {
      "now": "2024-01-23 16:56:25.009469",
      "shop_id": 112,
      "withdraw_id": 11298076,
      "sign": "e1dfc97b2c5430"
      }
  • Response 200 ()

    • Body

      {
      "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"
      }
    • Attributes (object)

      • data (object, required) - Payment data
        • id: 11298076 (number, required) - Unique identifier of the payment on the Feennex side
        • payee_receive: 1 (number, required) - Amount of the payment that will be credited to the recipient’s account in the external system
        • ps_currency: 840 (number, required) - Currency of payment receipt in the payment system
        • rejected_reason: Card number doesn't exist. Check if the number is correct (string, optional) - Reason for canceled payment
        • shop_currency: 840 (number, required) - Currency in which the payment will be debited from your shop account
        • shop_payment_id (string, required) - Unique identifier of the payment on your side
        • shop_write_off: 1.02 (number, required) - Amount of debit from your shop
        • status: 5 (number, required) - Payout status. Possible status values
      • error_code: 0 (number, required) - Error code. Possible values of error codes
      • message: Ok (string, required) - Error description. By the value of this parameter you can determine the success of the request and find out what went wrong
      • result: true (boolean, required) - Success of the request

Request payout status by payout number in your system [/withdraw/shop_payment_status]

Use this endpoint to get the status of a payment by the number of the payout in your system - the shop_payment_id parameter.

It's recommended to request the payment status not more often than once a minute.

To use this method, you need to generate a signature using the required request parameters: now, shop_id, and shop_payment_id. The generated signature must be passed in the sign parameter.

Click the button at the end of the method description to view the request and response parameter details.

Example request

curl https://core.feennex.com/withdraw/shop_payment_status \
-H 'Content-Type: application/json' \
-d '{
"shop_id":112,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"now": "2024-12-06 16:07:28.878200",
"sign": "a1ab593500a4"
}'

Example response in case of an error

{
"error_code": 2000,
"message": "Withdraw (id=3) wasn't found",
"data": None,
"result": False
}

Click the button below to view the endpoint parameters and request/response bodies.

POST Request payout status by payout number in your system [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • shop_id: 1 (number, required) - Identifier of your shop, from which the payment is made
      • shop_payment_id (string, required) - Unique number of the payout on your side
      • now (string, required) - Date and time when you send the request. Format: ISO 8601
      • sign: 32b2c32caa8ad (string, required) - Request signature
    • Body

      {
      "shop_id":112,
      "shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
      "now": "2011-12-06 16:07:28.878200",
      "sign": "a1ab593500a4"
      }
  • Response 200 ()

    • Body

      {
      "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"
      }
    • Attributes (object)

      • data (object, required) - Payment data
        • id: 11298076 (number, required) - Unique identifier of the payment on the Feennex side.
        • payee_receive: 1 (number, required) - Amount of the payment that will be credited to the payee’s account in the external system
        • ps_currency: 840 (number, required) - Currency of payment in the payment system
        • shop_currency: 840 (number, required) - Currency in which the payment will be debited from your shop account.
        • shop_payment_id (string, required) - Unique number of the payment on your side
        • shop_write_off: 1.02 (number, required) - Amount of debit from your shop account
        • status: 5 (number, required) - Current status of the payout. Possible status values
      • error_code: 0 (number, required) - Error code. Possible values of error codes
      • message: Ok (string, required) - Error description. By the value of this parameter you can determine the success of the request and find out what went wrong.
      • result: true (boolean, required) - Success of the request