1. Payouts
Freedom Pay
  • Overview
  • Gateway API
    • Overview
    • Sync API
      • Overview
      • Card data encryption
      • Payments
        • Overview
        • Pay by card
        • Pay by card: complete 3DS
        • Pay with Apple Pay
        • Pay with Google Pay
        • Pay by recurring profile
        • Create payment page
        • Create payment page with any amount
        • Capture payment (clearing)
        • Cancel payment
        • Refund payment
        • Get payment status
      • Payouts
        • Overview
        • Pay out to card
        • Pay out to IBAN
        • Get payout balance
        • Get payout status
      • Transfers
        • Overview
        • Transfer from card to card
        • Transfer from card to card: complete 3DS
        • Get exchange rates
        • Get transfer status
      • Saved cards
        • Overview
        • Save card
        • Save card: complete 3DS
        • List saved cards
        • Remove saved card
        • Pay by card token
        • Pay out to card token
        • Get payment status
    • Async API
      • Overview
      • Create
        • Create payment
      • Read
        • Get payment status
        • Get request result
      • Edit
        • Capture payment (clearing)
        • Cancel payment (reverse)
        • Refund payment
  • Merchant API
    • Overview
    • Payments
      • Overview
      • Checkout
      • Pay by saved card
        • Overview
        • Create payment
        • Confirm payment with CVC
        • Confirm payment without the client
      • Create payment
      • Create payment with a payment page template
      • Create payment in a payment frame
      • Create payment with any amount
      • Create recurring payment
      • Capture payment (clearing)
      • Cancel payment
      • Refund payment
      • Get payment status
    • Payouts
      • Overview
      • Create payout page
        POST
      • Pay out to saved card
        POST
      • Pay out to IBAN
        POST
      • Get payout status
        POST
      • Get payout balance
        POST
    • Mobile balance
      • Overview
      • Init
      • Pay
      • Approve
      • Resend code
      • Status
    • Invoice
      • Overview
      • Recurring profile
        • Overview
        • Create
        • Cancel
        • Info
        • Notify
      • Tips
        • Overview
        • Create
      • Create
      • Execute
      • Info
      • Refund
      • Status
      • Cancel
    • SDK
      • JS SDK
      • Merchant SDK
        • Google Pay
        • Android
        • IOS
    • CMS
      • Overview
      • Get Merchant ID and key
      • WordPress
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
        • Update
      • Tilda
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • InSales
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • Ecwid
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • Bitrix
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • PrestaShop
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • OpenCart
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
    • Installment
      • Overview
      • Status
        • Application Status
        • Application Callback Status
        • Application Change Status
      • Get partners
      • Create application
    • Saved cards
      • Get saved cards
      • Save card
      • Save card for payouts
      • Delete saved card
      • Save card without a charge
    • Redirect back
      POST
    • Result notify
      POST
    • Payout notify
      POST
    • Check request
      POST
  • Partner API
    • Rates
      • Overview
      • Rates
    • Products
      • Overview
      • Dictionaries
      • Add client with product
      • Client request status
      • Create terminal
      • Update terminal limits
      • Product request status
    • E-Money
      • Overview
      • Add
      • Owner identification
      • Info
      • Close
      • Block
      • Balance
      • Statement
      • Request Status
    • Device ID
      • Android SDK
      • iOS SDK
    • Implement SuperApp
      • Overview
      • Pay
      • Refund
      • Status
    • Account
      • Overview
      • Create payment
      • Payment status
      • Batch statuses
      • Statement
      • Statement status
      • Balance
      • Balance status
    • Invoices
      • Info
  1. Payouts

Create payout page

KZ
https://api.freedompay.kz
KZ
https://api.freedompay.kz
POST
https://api.freedompay.kz
/api/reg2nonreg
Creates a payout page: the client enters the card number on it and receives the money.
Use it when you do not know the card of the recipient. If the card is saved, use Pay out to saved card.
Sign the request with the payout secret key: see Merchant API Overview.
Test cards for payouts: see «Cards for payout» in Merchant API Overview.

Payout flow#

The page shows the client the payout amount, the commission and the amount to be credited.
The client enters the card number, the cardholder name, the phone number and the email: the phone number and the email are required.

Payout statuses#

Statuses of a payout created by this method:
pg_payment_status in Get payout statusMeaning
newThe client has not submitted the page yet.
processThe payment system has not returned the result yet.
successThe payout is made.
errorThe payout is declined.

Notification to pg_post_link#

The notification is sent as POST with one form field pg_xml that contains the XML below.
It is signed with the payout secret key: the script name for the signature is the last part of the pg_post_link path.
Check the signature over all fields of the notification, including fields that are not described below.
FieldDescription
pg_statusok — the payout is made, error — the payout is declined.
pg_payment_statussuccess or error.
pg_payment_idPayout ID.
pg_order_idpg_order_id from the request.
pg_merchant_idMerchant ID.
pg_payment_amountPayout amount from the request.
pg_to_payAmount debited from the payout balance.
pg_balancePayout balance after the payout; may be 0 or empty.
pg_payment_datePayout date, format YYYY-MM-DD hh:mm:ss; empty for a declined payout.
pg_card_hashMasked number of the recipient's card.
pg_failure_codeDecline code; only for a declined payout. See Error codes.
pg_failure_descriptionDecline text; only for a declined payout.
pg_saltRandom string.
pg_sigSignature.
Successful payout:
<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_status>success</pg_payment_status>
    <pg_payment_id>4102</pg_payment_id>
    <pg_order_id>mp-dup-45684a</pg_order_id>
    <pg_balance>0</pg_balance>
    <pg_payment_amount>100</pg_payment_amount>
    <pg_to_pay>100</pg_to_pay>
    <pg_merchant_id>13991</pg_merchant_id>
    <pg_payment_date>2026-10-25 22:41:45</pg_payment_date>
    <pg_card_hash>4671-59XX-XXXX-8252</pg_card_hash>
    <pg_salt>ajdeWVuOaTfKygtW</pg_salt>
    <pg_sig>558577fd22bb9fdc6de7ccc8b605315f</pg_sig>
</response>
Declined payout:
<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>error</pg_status>
    <pg_payment_status>error</pg_payment_status>
    <pg_payment_id>4105</pg_payment_id>
    <pg_order_id>page_decline-dc7023</pg_order_id>
    <pg_balance>0</pg_balance>
    <pg_payment_amount>100</pg_payment_amount>
    <pg_to_pay>100</pg_to_pay>
    <pg_merchant_id>13991</pg_merchant_id>
    <pg_payment_date></pg_payment_date>
    <pg_card_hash>5325-34XX-XXXX-1311</pg_card_hash>
    <failure_code>10000</failure_code>
    <failure_description>Неизвестная ошибка системы.</failure_description>
    <pg_failure_description>Заявка аннулирована</pg_failure_description>
    <pg_failure_code>10000</pg_failure_code>
    <pg_salt>6mogmrA8IYqgvvLg</pg_salt>
    <pg_sig>9da34d40d83e0c7b7646c3fa9c684cf8</pg_sig>
</response>

Result#

pg_statusMeaningNext step
okThe payout page is created.Redirect the client to pg_redirect_url. Wait for the notification to pg_post_link, or request Get payout status.
errorThe request is rejected. pg_payment_id is not returned.See «Errors» below.

Errors#

The HTTP status is always 200; the error is returned in pg_error_code and pg_error_description.
pg_error_codeWhenWhat to do
94031A parameter is missing or has an invalid value. pg_error_description names the parameter. The response is not signed.Fix the request.
11005pg_amount is missing, is not a number, or is outside the range 0.01–99999999. The response is not signed.Fix the amount.
1100The signature is missing or invalid, or pg_merchant_id is not found. The response is not signed.Check the merchant ID and the signature with the payout secret key.
8022pg_payment_route = frame is passed, but payouts in a frame are not enabled for the merchant.Do not pass pg_payment_route, or contact Freedom Pay.
99081A payout with this pg_order_id already exists: uniqueness of the order ID is enabled for the merchant.Pass a new pg_order_id.
1806The corporate card for payouts is not set up for the merchant.Contact Freedom Pay.
10000Payouts to cards are not enabled for the merchant.Contact Freedom Pay.

Request example#

Required fields only. pg_sig is calculated with the payout secret key test_secret_key.
Line breaks in the body are added for readability: send the body as one line.

Request

Body Params multipart/form-data

Responses

🟢200Success
application/xml
Bodyapplication/xml

Example
<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_merchant_id>13991</pg_merchant_id>
    <pg_payment_id>4102</pg_payment_id>
    <pg_redirect_url>https://customer.freedompay.kz/payout.html?customer=01a17428-0000-7000-8000-000000000001</pg_redirect_url>
    <pg_salt>p1BfAS3TlDlBtg7z</pg_salt>
    <pg_sig>19c5f9124af555083b16cda71b5d9238</pg_sig>
</response>
🟢200Error
Previous
Overview
Next
Pay out to saved card