1. Purchase
Freedom Pay
  • Overview
  • Gateway API
    • Overview
    • Sync API
      • Overview
      • Card data encryption
      • Purchase
        • Overview
        • Create payment
          POST
        • Any amount
          POST
        • Pay by card
          POST
        • Pay by card: complete 3DS
          POST
        • Pay by recurring profile
          POST
        • Cancel payment
          POST
        • Capture payment (clearing)
          POST
        • Refund payment
          POST
        • Get payment status
          POST
      • Payout
        • Overview
        • Card
        • IBAN
        • Balance
        • Status
      • Transfer
        • Overview
        • Card
        • 3DSecure
        • Rates
        • Status
      • Card
        • Overview
        • Add
        • 3DSecure
        • List
        • Remove
        • Get payment status
      • Token
        • Overview
        • Token Pay
        • Apple Pay
        • Google Pay
        • Token Payout
        • 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
    • Purchase
      • Overview
      • Checkout
      • Card token
        • Overview
        • Tokenize card
        • Delete token
        • Card token list
        • Create payment (with CVC)
        • Confirm payment (with CVC)
        • Create payment
        • Confirm payment
      • Create payment
      • Any amount
      • Reccuring payment
      • Cancel payment
      • Clearing
      • Refund payment
      • Status
    • Payout
      • Overview
      • Card token
        • Tokenize card
        • Delete token
        • Card token list
        • Create payment
      • Create payment
      • IBAN
      • Balance status
      • Status
    • 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
    • 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. Purchase

Refund payment

KZ
https://api.freedompay.kz
KZ
https://api.freedompay.kz
POST
https://api.freedompay.kz
/g2g/refund
Returns money to the client for a captured payment: a one-step payment, or a two-step payment after the clearing. The result is returned in the same response.
Refunds can be partial and repeated: the total of refunds cannot exceed the captured amount.
A two-step payment that is not captured cannot be refunded: release it with cancel, or capture it with clearing first.
If fiscal receipts are connected for the merchant, pass pg_receipt_positions: a refund receipt is created from them.
Test cards: see Gateway API Overview.

Result#

pg_statusMeaningNext step
okThe refund is accepted: see pg_refund_status.success: nothing else is needed. process: request the status with status_v2 until it is final.
errorThe request is rejected or the payment system declined the refund.See «Errors» below.

Refund flow#

Each refund is a separate operation with its own ID: pg_payment_refund_id in the response.

Errors#

The HTTP status is always 200; the error is returned in pg_error_code and pg_error_description.
pg_error_codeWhenWhat to do
9403A parameter is missing or has an invalid value, or a payment with this pg_payment_id does not exist.Fix the request.
1370pg_amount is missing, is not a number, or is less than 0.01.Fix the amount.
1100The signature is missing or invalid.Check the signature: see Sync API Overview.
1101pg_merchant_id is not found. The response is not signed.Check the merchant ID.
900811pg_amount is greater than the amount available for refund: the captured amount minus previous refunds. After a cancel nothing is available.Check the amount; get the payment details with status_v2.
9014The payment is not captured (a two-step payment without clearing) or has been cancelled.Capture the payment with clearing or release it with cancel.
110691, 90131The payment is not successful.There is nothing to refund.
91021A refund request for this payment is already being processed.Wait for the response to the first request or get the payment status with status_v2.
10000The payment is not found for this merchant, or the refund could not be performed.Check pg_payment_id and pg_merchant_id; repeat the request later.
9994Refunds are disabled in the merchant settings.Contact Freedom Pay.
9110A dispute is open for the payment: refunds are unavailable until it is resolved.Repeat after the dispute is resolved.
9111The money has already been returned to the cardholder by a chargeback.Do not refund the payment.
Other codesThe payment system declined the refund.See Error codes.

Request example#

Required fields only. pg_sig is calculated with the 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

Examples
<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_payment_id>1015054203206</pg_payment_id>
    <pg_payment_refund_id>1015054203209</pg_payment_refund_id>
    <pg_status>ok</pg_status>
    <pg_refund_status>success</pg_refund_status>
    <pg_datetime>2026-10-15T10:45:36+00:00</pg_datetime>
    <pg_salt>dztVazCQUTbzGxxu</pg_salt>
    <pg_sig>7c655b98b997c49e0caaea363b6cb55c</pg_sig>
</response>
🟢200Error
Previous
Capture payment (clearing)
Next
Get payment status