К основному контенту

Money transfer

Money transfer is a payment type which uses one request to initiate debiting funds from the sender's card and subsequently crediting these funds to the recipient's card.

Restrictions and special aspects:
  • In case of unsuccessful payment, the refund occurs automatically
  • You can use previously saved cards to make a transfer
Making a transfer

Request URL
POST https://api.freedompay.kz/g2g/p2p/transfer

Test Request URL
POST https://test-api.freedompay.kz/g2g/p2p/transfer

Request fields

NameDescriptionType
pg_merchant_id

required

Merchant ID.Numbersinteger
pg_order_id

required

Order ID in the shop system. A unique,monotonically increasing value is recommended. Numbers and Latin characters
Example:123
string
pg_amount

required

Payment amount. Minimum 0.01
Example:: 10
number
pg_amount_to

required if no pg_amount

Transfer amount in the transfer currency. Minimum 0.01
Example: 10
number
pg_currency_from

required

The debit currency in which the transfer amount is indicated. KZT, USD, EUR.

Currencies Directory
string
pg_currency_to

required

Currency of the transfer. In the case when the currency of debiting and crediting is different, a recalculation is made. The current rate can be obtained by the method string
pg_commission_amountCommission charged from the payer in the debit currency. Minimum 0number
pg_description requiredPayment description. Displayed to the buyer during the payment process. Passed in pg_encoding. Letters, numbers, dash (-), space Example: Payment descriptionstring
pg_user_id required if pg_save_sender_card orpg_save_recipient_cardUser ID in the merchant system Example:1234integer
pg_card_token required if no pg_card_panSaved card token of the senderstring
pg_card_pan required if no pg_card_tokenCard number.Example: 4405645000006150 integer
pg_card_cvc required if no pg_card_tokenCVC/CVC2/CVV card password Example: 653integer
pg_card_year required if no pg_card_tokenCard expiration year. Example: 25 integer
pg_card_month required if no pg_card_tokenCard expiration month. Example: 09integer
pg_card_name required if no pg_card_tokenSender's cardholder name. Example: IVAN IVANOVstring
pg_card_recipient required if no pg_card_recipient_tokenRecipient's card number. Example: 4405645000006150integer
pg_card_recipient_token required if no pg_card_recipientRecipient's saved card token string
pg_card_recipient_nameRecipient's cardholder name If not given, then the sender's name from the pg_card_name parameter is used as the recipient’s name Example: IVAN IVANOVstring
pg_save_sender_cardSign of the need to save the card for sending money. Example: 1string
pg_save_recipient_card Sign of the need to save the cash receipt card. Example: 1string
pg_languageError text language. Available languages: ru, en, kz, kg, uz, de string
pg_salt requiredRandom string. Random numbers and Latin lettersExample: some random stringstring
pg_sig requiredDigital signature of the requeststring
Response parameters
TitleDescriptionValidation
pg_payment_idTransaction IDinteger
pg_statusRequest statusstring
pg_payment_statusPayment status. Enum:success, error, incomplete, processstring
pg_3dsFlag indicating the need for a 3DS request. 1 - 3DS installed, 0 - nonumber
pg_3d_acsurlCard Issuer Bank URL for 3DS Verificationstring
pg_order_idOrder ID in the shop systemstring
pg_payment_amountTransfer amount debit currencynumber
pg_payout_amountAmount of the transfer in the currency of enrollmentnumber
pg_currency_fromCharge currencystring
pg_currency_toTransfer credit currencystring
pg_card_tokenSaved card token of the senderstring
pg_card_recipient_tokenRecipient's saved card tokenstring
pg_card_maskMasked number of the sender's card (part of the digits of the card number are hidden)string
pg_card_recipient_maskMasked card number of the recipient (part of the digits of the card number are hidden)string
pg_payment_date Date and time of the paymentdatetime
pg_saltRandom stringstring
pg_sigRequest digital signaturestring
pg_datetimeDate and time of the requestdatetime
Additionally.

Special token: 2d0b504c-b95d-4cf6-b782-5a7d13ab2c85, used to indicate which part of the transfer not to carry out.

  • If a special token is passed in the pg_card_token parameter and passed to pg_card_recipient, then only the payment will be made. In this case, one of the parameters pg_card_name or pg_card_recipient_name is required.
  • If a special token is passed in the pg_card_token parameter and pg_card_recipient_token is passed, then only the payment will be made.
  • If a special token is passed in the pg_card_recipient_token parameter, then only reception will be carried out.
Note. If 3ds is installed on the card, a request must be made to the ACS server of the card issuer's bank.

On this page the client enters his 3ds password.

The server url can be obtained from the pg_3d_acsurl parameter.

Request parameters to the ACS server of the issuer's bank:

TitleDescription
TermUrlUrl to which the answer will come in case of success
Making a transfer with 3DSecure

Making a payment with 3DSecure after receiving data from the ACS server

Request URL
POST https://api.freedompay.kz/g2g/p2p/transfer_acs

Test Request URL
POST https://test-api.freedompay.kz/g2g/p2p/transfer_acs

Request fields

NameDescriptionType
pg_merchant_id

required

Merchant ID.Numbersinteger
pg_payment_id

required

Transaction ID.Numbersinteger
pg_salt

required

Random string.Arbitrary numbers and lettersstring
pg_sig

required

Digital signature of the request.Numbers and Latin lettersstring
Response parameters

Response parameters for a successful request:

TitleDescriptionValidation
pg_payment_idTransaction IDinteger
pg_statusRequest Statusstring
pg_payment_statusPayment status. Enum:success, error, incomplete, processstring
pg_order_idOrder ID in the merchant systemstring
pg_card_tokenSaved card token of the senderstring
pg_card_recipient_tokenRecipient's saved card tokenstring
pg_card_maskMasked number of the sender's card (part of the digits of the card number are hidden)string
pg_card_recipient_maskMasked card number of the recipient (part of the digits of the card number are hidden)string
pg_saltRandom stringstring
pg_sigRequest digital signaturestring
pg_datetimeDate and time of the requestdatetime
In case of errors, there will be additional response parameters:
TitleDescriptionValidation
pg_error_codeError Code IDЦифры
pg_error_descriptionText description of the errorСтрока
Getting the transfer status

Request URL
POST https://api.freedompay.kz/g2g/p2p/status

Test Request URL
POST https://test-api.freedompay.kz/g2g/p2p/status

Request fields

TitleDescriptionType
pg_merchant_id

required

Merchant ID. Numbersinteger
pg_payment_id

required

Transaction ID. Numbersinteger
pg_salt

required

A random string consisting of arbitrary numbers and Latin letters
Example: some random string
string
pg_sig

required

Request signaturestring
Response parameters
НазваниеОписаниеТип
pg_payment_idTransaction IDinteger
pg_statusRequest statusstring
pg_payment_statusPayment status. Enum:success, error, incomplete, processstring
pg_order_idOrder ID in the merchant systemstring
pg_payment_amountTransfer amount debit currencynumber
pg_payout_amountAmount of the transfer in the currency of enrollmentnumber
pg_currency_from Charge currencystring
pg_currency_toTransfer credit currencystring
pg_card_tokenSaved card token of the senderstring
pg_card_recipient_tokenRecipient's saved card tokenstring
pg_card_maskMasked number of the sender's card (part of the digits of the card number are hidden)string
pg_card_recipient_maskMasked card number of the recipient (part of the digits of the card number are hidden)string
pg_payment_date Date and time of the paymentdatetime
pg_saltRandom string. Arbitrary numbers and lettersstring
pg_sigDigital signature of the request. Numbers and Latin lettersstring
pg_datetimeDate and time of the requestdatetime
Getting rates

Request URL
POST https://api.freedompay.kz/g2g/p2p/rates

Test Request URL
POST https://test-api.freedompay.kz/g2g/p2p/rates

Request fields

TitleDescriptionType
pg_merchant_id

required

Merchant ID. Numbersinteger
pg_currency_fromCharge currencystring
pg_currency_toTransfer credit currencystring
pg_salt

required

A random string consisting of arbitrary numbers and Latin letters
Example:some random string
string
pg_sig

required

Request signaturestring
Response parameters
Object nameParameter nameDescriptionType
pg_statusRequest execution statusstring
ratepg_currency_fromCharge currencystring
pg_currency_toTransfer credit currencystring
pg_rateConversion ratenumber
pg_saltRandom stringstring
pg_sigRequest signaturestring
pg_datetimeDate and time of the requestdatetime
In case of errors, there will be additional response parameters:
TitleDescriptionValidation
pg_error_codeError Code IDstring
pg_error_descriptionText description of the errorstring
Test cards

Test cards for transfer charges
Card numberCVVExpiration dateCard result
44004444000044401232024/12Success without 3DS
44004444000044411232024/12The operation is unsuccessful, the error is on the side of the International Payment System. Repeat payment later
44004444000044421232024/12Card restrictions. Contact the bank that issued the card
44004444000044431232024/12 Insufficient funds. Please top up your account or pay from another card
44004444000044441232024/12Success with 3DS, Frictionless Flow
44004444000044451232024/12Payment error. Service is unavailable. Please try again later
Test cards for enrolling a transfer
Card numberCard result
4400444444444440Success
4400444444444441Payment error. Service is unavailable. Please try again later
4400444444444442Payment error. Contact the bank that issued the card
4400444444444443Insufficient funds! Top up your payout balance
4400444444444444Process turning into success
4400444444444445Process going into error