Freedom Pay
  1. Mobile balance
Freedom Pay
  • Overview
  • Gateway API
    • Overview
    • Sync API
      • Overview
      • Purchase
        • Overview
        • Create payment
        • Any amount
        • Card
        • 3DSecure
        • Cancel
        • Clearing
        • Refund
        • Status
      • Payout
        • Overview
        • Card
        • IBAN
        • Balance
        • Status
      • Transfer
        • Overview
        • Card
        • 3DSecure
        • Rates
        • Status
      • Card
        • Overview
        • Add
        • 3DSecure
        • List
        • Remove
        • Status
      • Token
        • Overview
        • Token Pay
        • Apple Pay
        • Google Pay
        • Token Payout
        • Status
    • Async API
      • Overview
      • create
        • create payment
        • create payment recurrent
      • read
        • read payment
        • read request
      • edit
        • edit payment.refund
        • edit payment.reverse
        • edit payment.clearing
      • delete
  • 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
      • 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 by order_id
      • Status by Payment ID
      • Status
    • Mobile balance
      • Overview
      • Init
        POST
      • Pay
        POST
      • Approve
        POST
      • Resend code
        POST
      • Status
        POST
    • Invoice
      • Overview
      • Init
      • Info
      • Pay
      • Status
    • SDK
      • JS SDK
      • Google Pay
      • Freedom QR
        • Reader SDK (Android)
        • Provider SDK (Android)
      • Payment SDK
        • iOS
        • Android
    • 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
    • Redirect back
      POST
    • Result notify
      POST
    • Payout notify
      POST
    • Check request
      POST
  • Card API
    • Overview
    • Payment Cards
      • Overview
      • Dictionaries
      • Bulk issue
      • Issue card
      • Issue plastic card
      • Activate card
      • Block card
      • Unblock card
      • Set PIN
      • Reset PIN counter
      • Close card
      • Update client
      • Card info
      • Balance
      • Secret data
      • Secret data (version 2)
      • Statement
      • Statement extended
      • Create client
      • Edit client
      • Сards' list
      • Request' status
      • Create transaction
      • Clearing transaction
      • Refund transaction
      • Transaction request' status
      • Transaction info
    • Gift Cards
      • Overview
      • List
      • Issue
      • Confirm
      • Resend
      • Resend code
      • Status
  • Partner API
    • Rates
      • Overview
      • Rates
    • Products
      • Overview
      • Dictionaries
      • Add client with product
      • Request status
    • E-Money
      • Overview
      • Add
      • Owner identification
      • Info
      • Close
      • Block
      • Balance
      • Statement
      • Request Status
    • Freedom ID
      • Overview
      • Design
      • iOS SDK
      • Android SDK
      • OAuth2
        • Authorization link
        • Token exchange
        • Token refresh
        • User info
        • Request profile
        • Get profile status
        • Create user
        • Update user
      • OIDC
        • Authorization endpoint
        • Token exchange
        • Userinfo
      • Error codes
      • Examples
        • Keycloak
    • Transfer
      • Overview
      • Get token
      • Refresh token
      • Get agents
      • Fees
      • Create person
      • Create business
      • Create transfer
      • Print application
      • Confirm
      • Search
      • Payout
      • Payout confirm
      • Cancel
      • Get person info
      • Get business info
      • Status
      • Info
    • Device ID
      • Android SDK
      • iOS SDK
  1. Mobile balance

Init

POST
https://api.freedompay.kz/init_payment.php
To invoke this method, the parameter pg_payment_method=mobile_commerce must be included in the request to the Freedom Pay Gateway
In this method, in response to the payment request, the Freedom Pay Gateway returns pg_redirect_url to a ready-made web interface for the payer to enter the necessary details to complete the payment

Interaction diagram#

Status: success/error/pending
Merchant_API_V3-Mobile balance init.drawio.png

Request

Body Params multipart/form-data
pg_merchant_id
integer 
required
Merchant ID in {{project}}. Issued upon connection.
pg_order_id
string 
optional
Payment ID in the merchant system. It is recommended to keep this field unique.
<= 50 characters
Example:
550e8400-e29b-41d4-a716-446655440000
pg_amount
number 
required
Payment amount in pg_currency. Minimum 0.01.
>= 0.01<= 99999999
pg_currency
string 
optional
The currency in which the amount is specified. KZT
pg_description
string 
required
Description of the product or service. Displayed to the customer during the payment process.
<= 1024 characters
pg_testing_mode
enum<integer> 
optional
Creating a payment in test mode
Allowed values:
01
pg_lifetime
integer 
optional
Time (in seconds) during which the payment must be completed
>= 300<= 604800
pg_language
enum<string> <ISO 639-1:2002>
optional
The language of the payment page can be synchronized with the language of your application or website user
Allowed values:
ruenkzkguz
Default:
ru
pg_user_id
string 
optional
User ID in the merchant system
>= 1 characters<= 50 characters
Example:
No65GFR755789T
Match pattern:
^[a-zA-Z0-9_-]+$
pg_user_ip
string 
optional
Client's IP address
Example:
127.0.0.1
pg_user_phone
string 
optional
The user's phone number (starting with the country code)
Example:
77777777777
pg_user_contact_email
string <email>
optional
User's contact email address
pg_payment_method
string 
optional
Payment method
pg_request_method
enum<string> 
optional
Method for calling store scripts (Check URL)
Allowed values:
GETPOSTXML
pg_check_url
string 
optional
URL to check the possibility of payment. Called before the payment if supported by the payment system. If not specified
<= 255 characters
Example:
https://site.com/check
pg_result_url
string 
optional
URL to report the result of the payment. Called after payment on success or failure. If not specified
<= 255 characters
Example:
https://site.com/result
pg_success_url
string 
optional
URL to which the user is sent in case of a successful payment (for online systems only)
<= 255 characters
Example:
https://site.com/success
pg_failure_url
string 
optional
URL to which the user is sent in case of unsuccessful payment (for online systems only)
<= 255 characters
Example:
https://site.com/failure
pg_site_url
string 
optional
URL of the script on the merchant's website where the customer is redirected to wait for a response from the payment system.
<= 255 characters
Example:
https://site.com/return
pg_success_url_method
enum<string> 
optional
Method for the button submitted to confirm payment. Options: GET or POST. If selected
Allowed values:
GETPOST
pg_failure_url_method
enum<string> 
optional
Method for the button submitted in case of payment failure. Options: GET or POST. If selected
Allowed values:
GETPOST
pg_param1
string 
optional
Additional parameter 1
<= 255 characters
Example:
Additional information
pg_param2
string 
optional
Additional parameter 2
<= 255 characters
Example:
Additional information
pg_param3
string 
optional
Additional parameter 3
<= 255 characters
Example:
Additional information
pg_commission_discount
enum<integer> 
optional
If you want to use a discount on the commission
Allowed values:
01
pg_commission_discount_fix
number 
optional
To use a fixed discount amount
>= 1<= 99999999
pg_commission_discount_percentage
number 
optional
To use a percentage discount
>= 1<= 100
pg_generate_qr
enum<integer> 
optional
Generate QR code with a link to the {{project}} payment form in base64 format
Allowed values:
01
pg_idempotency_key
string 
optional
Idempotency key. Used to prevent duplicate request creation. A unique value within the merchant's scope; the same key cannot be used for different operations
<= 255 characters
Example:
550e8400-e29b-41d4-a716-446655440000
pg_salt
string 
required
Random string consisting of arbitrary numbers and Latin letters
pg_sig
string 
required
Request signature

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.freedompay.kz/init_payment.php' \
--form 'pg_merchant_id=""' \
--form 'pg_order_id="550e8400-e29b-41d4-a716-446655440000"' \
--form 'pg_amount=""' \
--form 'pg_currency=""' \
--form 'pg_description=""' \
--form 'pg_testing_mode=""' \
--form 'pg_lifetime=""' \
--form 'pg_language=""' \
--form 'pg_user_id="No65GFR755789T"' \
--form 'pg_user_ip="127.0.0.1"' \
--form 'pg_user_phone="77777777777"' \
--form 'pg_user_contact_email=""' \
--form 'pg_payment_method=""' \
--form 'pg_request_method=""' \
--form 'pg_check_url="https://site.com/check"' \
--form 'pg_result_url="https://site.com/result"' \
--form 'pg_success_url="https://site.com/success"' \
--form 'pg_failure_url="https://site.com/failure"' \
--form 'pg_site_url="https://site.com/return"' \
--form 'pg_success_url_method=""' \
--form 'pg_failure_url_method=""' \
--form 'pg_param1="Additional information"' \
--form 'pg_param2="Additional information"' \
--form 'pg_param3="Additional information"' \
--form 'pg_commission_discount=""' \
--form 'pg_commission_discount_fix=""' \
--form 'pg_commission_discount_percentage=""' \
--form 'pg_generate_qr=""' \
--form 'pg_idempotency_key="550e8400-e29b-41d4-a716-446655440000"' \
--form 'pg_salt=""' \
--form 'pg_sig=""'

Responses

🟢200Success
application/xml
Body
pg_status
string 
required
Shows the result of the query.
Status Description
ok: Request successful
error: The request failed.
pg_payment_id
integer 
required
The unique identifier of the payment transaction in {{project}}. Serves as a key for all further work with the transaction.
pg_redirect_url
string 
required
The URL to redirect the user to. It can be both on the site {{site}} and on the site of the payment system.
pg_redirect_url_type
string 
required
The type of page to which the redirect occurs. Possible values:
need data: Dialogue with the buyer to clarify the parameters (e.g., payment system, phone number, required parameters).
payment system: Page of the payment system website or a page with instructions for paying through this payment system.
If the merchant receives a response with pg_redirect_url_type="need data", the merchant may not redirect the buyer to the received URL but clarify missing parameters on your site. After specifying the parameters and re-requesting the creation of a payment transaction, a new transaction will be created.
pg_redirect_qr
string 
optional
URL to redirect the user as a QRCode. Transmitted in base64 format.
pg_salt
string 
required
Random string.
pg_sig
string 
required
Request signature.
Example
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <pg_status>string</pg_status>
  <pg_payment_id>0</pg_payment_id>
  <pg_redirect_url>string</pg_redirect_url>
  <pg_redirect_url_type>string</pg_redirect_url_type>
  <pg_redirect_qr>string</pg_redirect_qr>
  <pg_salt>string</pg_salt>
  <pg_sig>string</pg_sig>
</root>
Previous
Overview
Next
Pay