To main content
Прием

Точка доступа

Адрес основного сервера:
https://api.freedompay.uz

Адрес тестового сервера:
{{test_domain}}

Данные передаются в параметрах методом POST
Ответ на запросы представляются в формате XML
Проведение платежей

URL запроса
POST https://api.freedompay.uz/g2g/payment

Тестовый URL запроса
POST {{test_domain}}/g2g/payment

Поля запроса
НазваниеОписаниеТип
pg_amount

required

Сумма платеж
Минимум 0.01

Пример: 10
number
pg_currencyВалюта платежа/перевода
В Казахстане разрешена только KZT
Пример: KZT
string
pg_description

required

Описание платежа
Буквы, цифры, тире (-), пробел
Пример: Описание платежа
string
pg_merchant_id required ID магазина Цифрыinteger
pg_order_id required ID заказа в системе магазина Цифры и латинские символы Максимальная длина 50 символов Пример:123string
pg_card_name requiredИмя и фамилия держатели карточки Буквы (латиница), тире (-) и пробел Пример: TEST TESTOV: 123string
pg_card_pan required Номер карты Количество цифр: от 13 до 20integer
pg_card_cvc required CVC/CVC2/CVV пароль карты Цифры.integer
pg_card_year required Год окончания срока карты Количество цифр: 2integer
pg_card_month required Месяц окончания срока карты Количество цифр: 2.integer
pg_auto_clearing Тип списания (0 или 1).1 - автоматическое списание после успешной авторизации, 0 - списание посредством запуска метода clearing Количество цифр: 1integer
pg_testing_mode Режим платежа.0 - боевой, 1 - тестовый. Если режим не указан, то берется режим установленный в настройках магазинаinteger
pg_result_url URL для сообщения о результате платежа. Вызывается после платежа в случае успеха или неудачи. Если параметр не указан, то берется из настроек магазина. Является обязательным, если не задан в настройках магазина. Если параметр установлен равным пустой строке, то Freedom Pay не сообщает магазину о результате платежаstring
pg_3ds_challenge Определяет необходимость прохождения Challenge Flow (1 - обязательно провести Challenge Requested, 0 или пусто - метод определяется эмитентом)банк-эмитент может игнорировать данный параметр и провести платеж по своему Challenge Flowinteger
pg_param1 Дополнительный параметр 1 Строкаstring
pg_param2 Дополнительный параметр 2 Строкаstring
pg_param3 Дополнительный параметр 3 Строкаstring
pg_sig required Цифровая подпись запроса Цифры и латинские буквыstring
pg_salt required Случайная строка Произвольные цифры и латинские буквы Пример: some random stringstring
Параметры для эффективной работы антифрод-сервиса SecureBox

(Данные параметры могут в себя включать параметры из других разделов. Для эффективной работы Securebox рекомендуется придерживаться рекомендаций по валидации и примерам полей из этого раздела)
НазваниеОписаниеТип
pg_descriptionОписание назначения платежаБуквы, цифры, тире (-), пробел.
Пример формата: Пополнение кошелька NoT02265795060, Пополнение аккаунта 41225232
pg_user_idID пользователя в системе мерчантаБуквы, цифры, тире (-).
Пример формата: No65GFR755789T, 25642588
pg_user_emailEmail плательщика либо Email привязанный (указанный Строка в формате example@site.com при регистрации) к ID личного кабинета или аккаунта или номер кошелька плательщикаСтрока в формате example@site.com
pg_user_phoneТелефон плательщика либо Телефон привязанный (указанный при регистрации) к ID личного кабинета или аккаунта или номер кошелька плательщикаЦифры без пробелов плюсов и скобок.
Пример формата: 89686810502, 87001234567
pg_user_ipIP адрес клиентаIP-адрес в формате IPv4 или IPv6.
Примеры: 185.102.131.54 2001:0DB0:0000:123A:0000:0000: 0000:0030 2001:DB0:0:123A:0:0:0:30
Необязательные параметры, нужные при оплате через токенизированные ПС
НазваниеОписаниеТип
pg_payment_methodОплата через токенизированный метод (apple pay, google pay, samsung pay, yandex pay)Буквы (латиница). Пример: apple_pay, google_pay, samsung_pay, yandex_pay
pg_online_payment_cryptogramEphemeral public key bytes. EC_v1 onlyЗашифрованная строка. Связан с полем [pg_eci_indicator]
pg_eci_indicatorОпционально.ECI indicator, как определение 3d secure. Подтверждение от AppleСтрока. Связан с полем [pg_online_payment_cryptogram]
Параметры ответа
Параметры ответа на успешный запрос:
НазваниеОписаниеВалидация
pg_payment_idID транзакцииЦифры
pg_status Показывает результат выполнения запроса. Ok - Запрос прошел успешно. Error - Запрос прошел с ошибкой. **Pending - Ожидание плательщика или платежной системыЛатинские символы
pg_3dsФлаг обозначающий необходимость запроса 3ds. 1 – 3ds установлен, 0 - нетЦифра
pg_3d_acsurlUrl Банка эмитента карты для проверки 3dsurl
pg_3d_mdПараметр для запроса 3dsБуквы, цифры
pg_3d_pareqПараметр для запроса 3dsБуквы, цифры, тире (-)
pg_recurring_profileID рекуррентного профиляЦифры (Если был указан параметр в запросе платежа, pg_recurring_start = 1)
pg_card_idID сохраненной карты для следующих платежей (Deprecated)Цифры (Если были указаны параметры,сохранения карты, pg_save_card и pg_user_id)
pg_card_tokenТокен сохраненной карты для следующих платежейСтрока (Если были указаны параметры,сохранения карты, pg_save_card и pg_user_id)
pg_auth_codeКод авторизации платежа от банкаЦифры, длина 6
pg_saltСлучайная строкаПроизвольные цифры и латинские буквы
pg_sigЦифровая подпись запросаЦифры и латинские буквы
pg_datetimeДата и время запросаФормат: YYYY-MM-DDThh:mm:ss±hh:mm
** При получении статуса "pending", нужно произвести запрос на получение статуса по методу "get_status3"
В случае ошибок, будут дополнительные параметры ответа:
НазваниеОписаниеВалидация
pg_error_codeID кода ошибкиЦифры
pg_error_descriptionТекстовое описание ошибки Строка
Примечание. В случае, если на карте установлен 3ds, необходимо сделать запрос в ACS сервер банка эмитента карты.

На этой странице клиент вводит свой 3ds пароль.
Url сервера можно получить из параметра pg_3d_acsurl.
Параметры запроса в ACS сервер банка эмитента:

НазваниеОписание
PaReqПараметр pg_3d_pareq из ответа на запрос Payment
MDПараметр pg_3d_md из ответа на запросPayment
TermUrlUrl на который придет ответ в случае успеха
Ответ в случае успеха:
НазваниеОписание
PaResПараметр необходим для запроса paymentAc
MDПараметр необходим для запроса paymentAcs
Запрос на result_url магазина. Результат платежа

Пример положительного ответа магазина
Запрос
curl --location --request POST '{{result_url}}' \
--form 'pg_order_id=123456789' \
--form 'pg_payment_id=12345' \
--form 'pg_amount=500' \
--form 'pg_currency=KZT' \
--form 'pg_net_amount=482.5' \
--form 'pg_ps_amount=500' \
--form 'pg_ps_full_amount=500' \
--form 'pg_ps_currency=KZT' \
--form 'pg_description=Покупка в интернет магазине Site.kz' \
--form 'pg_result=1' \
--form 'pg_payment_date=2019-01-01 12:00:00' \
--form 'pg_can_reject=1' \
--form 'pg_user_phone=7077777777777' \
--form 'pg_user_contact_email=mail@customer.kz' \
--form 'pg_need_email_notification=1' \
--form 'pg_testing_mode=1' \
--form 'pg_captured=0' \
--form 'pg_card_pan=5483-18XX-XXXX-0293' \
--form 'Параметры мерчанта=' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{paybox_signature}}' \
--form 'pg_payment_method=bankcard'
Ответ
<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_description>Заказ оплачен</pg_description>
    <pg_salt>random string</pg_salt>
    <pg_sig>ksdjrimzjedkljsujjemnjsuj</pg_sig>
</response>
Пример отрицательного ответа магазина
Запрос
curl --location --request POST '{{result_url}}' \
--form 'pg_order_id=123456789' \
--form 'pg_payment_id=12345' \
--form 'pg_amount=500' \
--form 'pg_currency=KZT' \
--form 'pg_net_amount=482.5' \
--form 'pg_ps_amount=500' \
--form 'pg_ps_full_amount=500' \
--form 'pg_ps_currency=KZT' \
--form 'pg_description=Покупка в интернет магазине Site.kz' \
--form 'pg_result=0' \
--form 'pg_payment_date=2019-01-01 12:00:00' \
--form 'pg_can_reject=1' \
--form 'pg_user_phone=7077777777777' \
--form 'pg_user_contact_email=mail@customer.kz' \
--form 'pg_need_email_notification=1' \
--form 'pg_testing_mode=1' \
--form 'pg_captured=0' \
--form 'pg_card_pan=5483-18XX-XXXX-0293' \
--form 'Параметры мерчанта=' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{paybox_signature}}' \
--form 'pg_payment_method=bankcard'
Ответ
<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>rejected</pg_status>
    <pg_description>Платеж отменен</pg_description>
    <pg_salt>random string</pg_salt>
    <pg_sig>ksdjrimzjedkljsujjemnjsuj</pg_sig>
</response>
После приема оплаты от клиента или при невозможности совершить платеж FreedomPay вызывает Result URL магазина и передает на него методом Request Method информацию о результате платежа.

При получении данного запроса мерчант должен произвести необходимые действия для передачи товара или услуги покупателю, в случае если платеж был успешным. Если pg_can_reject равно 1 и мерчант не может принять платеж (например, бронь на билеты истекла), он обязан ответить со статусом rejected, и FreedomPay отзовет платеж. В этом случае поле pg_description из ответа мерчанта показывается пользователю как причина отказа.

Result URL на стороне мерчанта должен быть общедоступным, без авторизации.

Если сервер мерчанта недоступен в момент вызова Result URL или ответ от сервера был не со статусом 200, FreedomPay будет предпринимать повторные попытки его вызвать каждые полчаса в течение 2 часов, даже если время жизни счета pg_lifetime истечет.

Если первая попытка вызова Result URL оказалась неуспешной, то платеж не отменяется, и в последующих вызовах Result URL не позволяет магазину отказаться от платежа.

Магазин должен быть готов к тому, что Result URL будет вызван повторно для одного и того же платежа. Ответы на повторные вызовы должны совпадать с первоначальным ответом, даже если время жизни транзакции pg_lifetime истекло.

Ответ на result_url от мерчанта
Статус rejected может быть возвращен мерчантом только в случае, когда во входящем запросе от гейта был указан параметр pg_can_reject равный 1, в противном случае, вне зависимости от ответа мерчанта, платеж будет считаться совершенным. Если мерчант отказался от платежа (ответил rejected), покупатель перенаправляется на Failure URL, иначе – на Success URL.

  • ok - платеж принят
  • rejected - отказ от платежа случае если pg_can_reject равен 1
  • error - ошибка в интерпретации данных
URL запроса
POST {{result_url}}

НазваниеОписание
pg_order_idИдентификатор заказа в системе мерчанта.
Максимальная длина 50 символов

Пример: 123456789

string
pg_payment_id Внутренний идентификатор платежа в системе FreedomPay.
Пример: 12345
integer
pg_amount Сумма выставленного счета в валюте pg_currency, совпадает с pg_amount в момент инициализции
Пример: 500
string
pg_currency Валюта выставленного счета, совпадает с pg_currency в момент инициализации платежа.
Пример: KZT
string
pg_net_amount Сумма (в валюте pg_currency), которая будет перечислена магазину, в случае успешного завершения платежа
Пример: 482.5
string
pg_ps_amount Сумма счета (в валюте `pg_ps_currency), выставленного в ПС. Поле может отсутствовать в случае неудачного платежа.
Пример: 500
string
pg_ps_full_amount Полная сумма (в валюте pg_ps_currency), которую заплатил покупатель с учетом всех комиссий. Поле может отсутствовать в случае неудачного платежа.
Пример: 500
string
pg_ps_currency Валюта, в которой был произведен платеж в платежной системе. Поле может отсутствовать в случае неудачного платежа.
Пример: KZT
string
pg_description Описание платежа.
Пример: Покупка в интернет магазине Site.kz
string
pg_result Результат платежа. 1 – успех, 0 – неудача.
Пример: 1
integer
pg_payment_date Дата и время совершения платежа в формате YYYY-MM-DD HH:MM:SS.
Пример: 2019-01-01 12:00:00
datetime
pg_can_reject 1 – платеж можно откатить назад (например, Банковские карты), 0 – платеж безотзывный.
Пример: 1
integer
pg_user_phoneТелефон покупателя (указанный при инициализации платежа).
Пример: 7077777777777
string
pg_user_contact_emailEmail покупателя (указанный при инициализации платежа).
Пример: mail@customer.kz
string
pg_testing_modeТестовый режим. 1 - тестовый, 0 - боевой.
Пример: 1
integer
pg_captured Передается только в случае успешной оплаты банковской картой и показывает, был ли произведен клиринг в момент авторизации (что зависит только от настроек мерчанта). Если значение этого поля равно 0, мерчант должен в последующем дать команду на клиринг (см. раздел Запрос на клиринг транзакций по банковским картам) или дождаться когда FreedomPay сделает это сам.
Пример: 0
integer
pg_card_id Опциональный параметр. ID карты для оплаты сохраненной картой (Deprecated)
Пример: 1234
string
pg_card_token Опциональный параметр. Токен карты для оплаты сохраненной картой.
Пример: ef741cfc-f85e-41a0-84e6-2ba964912182
string
pg_card_pan Маскированный номер карты (часть цифр номера карты скрыты). Этот параметр передается только в случае успешной оплаты банковской картой.
Пример: 5483-18XX-XXXX-0293
string
Параметры мерчанта Все поля, переданные с веб-сайта мерчанта, не имеющие префикса pg_ string
pg_salt Случайная строка.
Пример: some random string
string
pg_sig Подпись запроса string
pg_payment_method Метод платежа. Wallet - Электронные деньги. Internetbank - Интернет-банкинг. Other - Терминалы. Bankcard - Банковские карты. Cash - Точки приема платежей. Mobile_commerce - Мобильная коммерция.
Пример: bankcard
string
pg_card_exp Дата истечения срока карты.
Пример: 03/23
string
pg_card_owner Имя держателя карты.
Пример: Ivan Ivanov
string
pg_card_brand Код бренда карты.
Пример: VI
string
Проведение платежа с 3DSecure после получения данных с ACS сервера

URL запроса
POST https://api.freedompay.uz/g2g/paymentAcs

Тестовый URL запроса
POST {{test_domain}}/g2g/paymentAcs

Поля запроса
НазваниеОписаниеТип
pg_md

required

Параметр из ответа ACS сервера эмитента карты Цифры и латинские буквыstring
pg_pares

required

Параметр из ответа ACS сервера эмитента карты Буквы, цифры, тире (-)string
pg_payment_id

required

ID транзакции. Цифры.integer
pg_merchant_id

required

ID магазина. Цифры.integer
pg_salt

required

Случайная строка. Произвольные цифры и латинские буквыstring
pg_sig

required

Цифровая подпись запроса. Цифры и латинские буквы string
Параметры ответа

Параметры ответа на успешный запрос:
НазваниеОписаниеВалидация
pg_payment_idID транзакцииЦифры
pg_statusПоказывает результат выполнения запроса. Ok - Запрос прошел успешно. Error - Запрос прошел с ошибкой. ** Pending - Ожидание плательщика или платежной системыЛатинские символы
pg_card_idID сохраненной карты для следующих платежей (Deprecated)Цифры (Если были указаны параметры, сохранения карты, pg_save_card pg_user_id)
pg_card_tokenТокен сохраненной карты для следующих платежейСтрока (Если были указаны параметры, сохранения карты, pg_save_card pg_user_id)
pg_auth_codeКод авторизации платежа от банкаЦифры, длина 6
pg_saltСлучайная строкаПроизвольные цифры и латинские буквы
pg_sigЦифровая подпись запросаЦифры и латинские букв
pg_datetimeДата и время запросаФормат: YYYY-MM-DDThh:mm:ss±hh:mm
В случае ошибок, будут дополнительные параметры ответа:
НазваниеОписаниеВалидация
pg_error_codeID кода ошибкиЦифры
pg_error_descriptionТекстовое описание ошибки Строка
Безакцептное списание

Для использования данного запроса обратитесь к своему менеджеру

Метод: Данный сценарий похож на Сохраненной картой с вводом сvc. Но в случае, когда карта, по которой проходит платеж является подтвержденной, cvc у пользователя не запрашивается.

Подтвержденные карты помечаются статусом approved, в списке карт.

В данном сценарии запрос на проведение оплаты можно отправлять без участия пользователя



Инициализация платежа по карте

Оплата сохраненной картой происходит в два этапа:
  • Инициализация платежа
  • Проведение оплаты
URL запроса
POST https://api.freedompay.uz/g2g/payment

Тестовый URL запроса
POST {{test_domain}}/g2g/payment

Поля запроса
НазваниеОписаниеТип
pg_merchant_id

required

Идентификатор мерчанта в системе FreedomPayinteger
pg_amount

required

Сумма платежа.
Пример: 100
number
pg_order_id

required

ID заказа в системе мерчанта.
Максимальная длина 50 символов
Пример: 12345
string
pg_user_id

required

ID пользователя в системе мерчанта.
Пример: No65GFR755789T, 25642588
string
pg_card_id

required

if no pg_card_token
ID карты. (Deprecated).
Пример: 56
integer
pg_card_token

required

if no pg_card_id
Токен карты.
Пример: ef741cfc-f85e-41a0-84e6-2ba964912182
string
pg_description

required

Описание заказа.
Пример: Описание платежа
string
pg_currencyВалюта платежа/перевода
(В Казахстане разрешена только KZT)
string
pg_salt

required

Случайная строка, состоящая из произвольных цифр и латинских букв.
Пример: some random string
string
pg_languageЯзык текста ошибки. Доступные языки: ru, en, kz, kg, uz, de.
string
pg_sig requiredПодпись запросаstring
pg_param1Дополнительная информацияstring
pg_param2Дополнительная информацияstring
pg_param3Дополнительная информацияstring
Параметры ответа
НазваниеОписаниеТип
pg_statusПоказывает результат выполнения запроса. Ok -Запрос прошел успешно. Error - Запрос прошел с ошибкой. Pending - Ожидание плательщика или платежной системыstring
pg_payment_idУникальный идентификатор платежной транзакции в FreedomPay. Служит ключом для всей дальнейшей работы с транзакциейinteger
pg_merchant_idИдентификатор мерчанта в системе FreedomPayinteger
pg_order_idИдентификатор заказа в системе мерчанта
Максимальная длина 50 символов
string
pg_saltСлучайная строкаstring
pg_sigПодпись запросаstring
pg_datetimeДата и время запросаdatetime
В случае ошибок, будут дополнительные параметры ответа:
НазваниеОписаниеВалидация
pg_error_codeID кода ошибкиЦифры
pg_error_descriptionТекстовое описание ошибкиСтрока
Метод свободного пополнения

В случае, если вы хотите чтобы плательщик самостоятельно вводил сумму платежа, необходимо использовать данный метод.
При прохождении оплаты, плательщик сначала попадает на форму, где он вводит сумму платежа. Далее он перенаправляется на платежную страницу, где происходит оплата.

URL запроса
POST https://api.freedompay.uz/g2g/any_amount

Тестовый URL запроса
POST {{test_domain}}/g2g/any_amount

Поля запроса
Параметры ответа
НазваниеОписаниеТип
pg_order_id

required

Идентификатор платежа в системе мерчанта. Рекомендуется поддерживать уникальность этого поля.

Если мерчант не передал это поле, то оно становится обязательным для заполнения плательщиком.


Максимальная длина 50 символов
Пример: 00102
string
pg_merchant_id

required

Идентификатор мерчанта в FreedomPay. Выдается при подключении integer
pg_description

required

Описание товара или услуги. Отображается покупателю в процессе платежа.
Пример: Ticket
string
pg_salt

required

Случайная строка.
Пример: some random string
string
pg_sig

required

Подпись запросаstring
pg_currencyВалюта, в которой указана сумма. KZT, USD, EUR. В случае выбора покупателем способа платежа в другой валюте, производится пересчет по курсу ЦБ на день платежа. **См. в разделе Справочник валют.
Пример: KZT
string
pg_result_urlURL для сообщения о результате платежа. Вызывается после платежа в случае успеха или неудачи. Если параметр не указан, то берется из настроек мерчанта. Если параметр установлен равным пустой строке, то FreedomPay не сообщает мерчанту о результате платежа. string
pg_request_methodGET, POST или XML – метод вызова скриптов мерчанта Check URL, Result URL, для передачи информации от платежного гейта.
Пример: POST
string
pg_success_urlurl, на который отправляется пользователь в случае успешного платежа (только для online систем)string
pg_success_url_method GET – кнопка, которая сабмитится методом GET. POST – кнопка, которая сабмитится методом POST. Если выбран метод GET или POST, то страница с подтверждением оплаты показывается пользователю на сайте freedompay.uz, и предлагается нажать кнопку, чтобы вернуться на сайт мерчанта.
Пример: GET
string
pg_failure_url_methodGET – кнопка, которая сабмитится методом GET. POST – кнопка, которая сабмитится методом POST. Если выбран метод GET или POST, то страница с сообщением о неудавшейся оплате показывается пользователю на сайте freedompay.uz, и предлагается нажать кнопку, чтобы вернуться на сайт мерчанта.
Пример: GET
string
pg_site_urlURL сайта мерчанта для показа покупателю ссылки, по которой он может вернуться на сайт мерчанта после создания счета. Применяется для offline ПС (наличные).
Пример: http://site.kz/return
string
pg_lifetimeDefault: "86400" Время (в секундах) в течение которого платеж должен быть завершен, в противном случае заказ при проведении платежа FreedomPay откажет платежной системе в проведении. Этот параметр контролируется FreedomPay, а также, если платежная система поддерживает такую возможность, и платежной системой. Минимально допустимое значение: 300 секунд (5 минут). Максимально допустимое значение: 604800 секунд (7 суток). В случае выхода за пограничные значения будет присвоено минимальное или максимальное значение, соответственно.
Пример: 86400
integer
pg_user_phoneТелефон пользователя (начиная с кода страны), необходим для идентификации покупателя. Если не указан, выбор будет предложен пользователю на сайте платежного гейта.Если мерчант не передал это поле, то оно становится обязательным для заполнения плательщиком.
Пример: 77777777777
string
pg_user_contact_emailКонтактный адрес электронной почты пользователя. Если указан, на этот адрес будут высылаться уведомления об изменении статуса транзакции. Если мерчант не передал это поле, то оно становится обязательным для заполнения плательщиком.
Пример: mail@customer.kz
string
pg_user_ipIP-адрес клиента.Необходим для разбора спорных ситуаций в случае подозрения на мошенничество. Параметр можно не передавать при передаче информации через браузер пользователя, в этом случае будет записан тот IP, с которого пользователь перешёл на страницу инициализации платежа.
Пример: 127.0.0.1
string
pg_language Язык платежных страниц на сайте FreedomPay и (если возможно) платежных систем. "en", "ru"
Пример: ru
string
pg_testing_modeСоздание платежа в тестовом режиме.
Пример: 1
integer
pg_user_idID пользователя в системе мерчанта.
Пример: No65GFR755789T, 25642588
string
pg_param1Дополнительный параметр 1.
Пример: Дополнительная информация
string
pg_param2Дополнительный параметр 2.
Пример: Дополнительная информация
string
pg_param3Дополнительный параметр 3.
Пример: Дополнительная информация
string
pg_payment_methodЗначение - Метод платежа mobile_commerce - Мобильная коммерция.
Пример: mobile_commerce
string
pg_amount_interval_fromНижний порог суммы платежа. Если параметр не передан, то нижнего порога нетinteger
pg_amount_interval_toВысший порог суммы платежа. Если параметр не передан, то высшего порога нетinteger
pg_generate_qrВ случае, если вы хотите получать QR код со ссылкой на платежную форму FreedomPay в формате base64, в параметре pg_generate_qr необходимо отправить «1»boolean
НазваниеОписаниеТип
pg_statusПоказывает результат выполнения запроса.
ok - Запрос прошел успешно.
Error - Запрос прошел с ошибкой.
Pending - Ожидание плательщика или платежной системы
string
pg_payment_idУникальный идентификатор платежной транзакции в FreedomPay. Служит ключом для всей дальнейшей работы с транзакцией integer
pg_redirect_urlURL для перенаправления пользователя. Может быть как на сайте freedompay.uz, так и на сайте платежной системыstring
pg_redirect_url_typeТип страницы, на которую происходит перенаправление. Возможные значения: need data – диалог с покупателем с целью уточнения параметров: платежной системы, номера телефона, обязательных для данной платежной системы параметров
payment system–страница сайта платежной системы либо страница с инструкциями оплаты через данную платежную систему.Страница с инструкциями может располагаться как на сайте freedompay.uz, так и на сайте мерчанта.

В случае получения мерчантом ответа с pg_redirect_url_type=”need data”, мерчант может не перенаправлять покупателя по полученному URL, а уточнить недостающие параметры у себя на сайте.В этом случае после уточнения параметров и повторного запроса на создание платежной транзакции будет создана новая транзакция
string
pg_redirect_qrURL для перенаправления пользователя в виде QR. Передается в формате base64string
pg_saltСлучайная строкаstring
pg_sigПодпись запросаstring
В случае ошибок, будут дополнительные параметры ответа:
НазваниеОписаниеВалидация
pg_error_codeID кода ошибкиЦифры
pg_error_descriptionТекстовое описание ошибкиСтрока
Платежная страница

URL запроса
POST https://api.freedompay.uz/g2g/payment_page

Тестовый URL запроса
POST {{test_domain}}/g2g/payment_page

Поля запроса
НазваниеОписаниеТип
pg_order_id
required
Идентификатор платежа в системе мерчанта. Рекомендуется поддерживать уникальность этого поля.
Максимальная длина 50 символов
Пример: 00102
string
pg_merchant_id
required
Идентификатор мерчанта в FreedomPay. Выдается при подключении. integer
pg_amount
required
Сумма платежа в валюте pg_currency.
Минимум 0.01
Пример: 10
number
pg_description
required
Описание товара или услуги. Отображается покупателю в процессе платежа.
Пример: Ticket
string
pg_salt
required
Случайная строка.
Пример: some random string
string
pg_sig
required
Подпись запросаstring
pg_currencyВалюта, в которой указана сумма. KZT, USD, EUR. В случае выбора покупателем способа платежа в другой валюте, производится пересчет по курсу ЦБ на день платежа. См. в разделе Справочник валют.
Пример: KZT
string
pg_result_urlURL для сообщения о результате платежа. Вызывается после платежа в случае успеха или неудачи. Если параметр не указан, то берется из настроек мерчанта. Если параметр установлен равным пустой строке, то FreedomPay не сообщает мерчанту о результате платежа. string
pg_request_methodGET, POST или XML – метод вызова скриптов мерчанта Check URL, Result URL, для передачи информации от платежного гейта.
Пример: POST
string
pg_success_urlurl, на который отправляется пользователь в случае успешного платежа (только для online систем)string
pg_failure_urlurl, на который отправляется пользователь в случае неуспешного платежа (только для online систем)string
pg_success_url_methodGET – кнопка, которая сабмитится методом GET. POST – кнопка, которая сабмитится методом POST. Если выбран метод GET или POST, то страница с подтверждением оплаты показывается пользователю на сайте freedompay.uz, и предлагается нажать кнопку, чтобы вернуться на сайт мерчанта.
Пример: GET
string
pg_failure_url_methodGET – кнопка, которая сабмитится методом GET. POST – кнопка, которая сабмитится методом POST. Если выбран метод GET или POST, то страница с сообщением о неудавшейся оплате показывается пользователю на сайте freedompay.uz, и предлагается нажать кнопку, чтобы вернуться на сайт мерчанта.
Пример: GET
string
pg_site_urlURL сайта мерчанта для показа покупателю ссылки, по которой он может вернуться на сайт мерчанта после создания счета. Применяется для offline ПС (наличные).
Пример: http://site.kz/return
string
pg_lifetimeDefault: "86400" Время (в секундах) в течение которого платеж должен быть завершен, в противном случае заказ при проведении платежа FreedomPay откажет платежной системе в проведении. Этот параметр контролируется FreedomPay, а также, если платежная система поддерживает такую возможность, и платежной системой. Минимально допустимое значение: 300 секунд (5 минут). Максимально допустимое значение: 604800 секунд (7 суток). В случае выхода за пограничные значения будет присвоено минимальное или максимальное значение, соответственно.
Пример: 86400
integer
pg_user_phoneТелефон пользователя (начиная с кода страны), необходим для идентификации покупателя. Если не указан, выбор будет предложен пользователю на сайте платежного гейта.
Пример: 77777777777
string
pg_user_contact_emailКонтактный адрес электронной почты пользователя. Если указан, на этот адрес будут высылаться уведомления об изменении статуса транзакции.
Пример: mail@customer.kz
string
pg_user_ipIP-адрес клиента. Необходим для разбора спорных ситуаций в случае подозрения на мошенничество. Параметр можно не передавать при передаче информации через браузер пользователя, в этом случае будет записан тот IP, с которого пользователь перешёл на страницу инициализации платежа.
Пример: 127.0.0.1
string
pg_languageЯзык платежных страниц на сайте FreedomPay и (если возможно) платежных систем. "en", "ru".
Пример: ru
string
pg_testing_modeСоздание платежа в тестовом режиме.
Пример: 1
integer
pg_user_idID пользователя в системе мерчанта.
Пример: No65GFR755789T, 25642588
string
pg_param1Дополнительный параметр 1.
Пример: Дополнительная информация
string
pg_param2Дополнительный параметр 2.
Пример: Дополнительная информация
string
pg_param3Дополнительный параметр 3.
Пример: Дополнительная информация
string
pg_payment_methodЗначение - Метод платежа mobile_commerce - Мобильная коммерция.
Пример: mobile_commerce
string
pg_generate_qrВ случае, если вы хотите получать QR код со ссылкой на платежную форму FreedomPay в формате base64, в параметре pg_generate_qr необходимо отправить «1» boolean
Параметры ответа
НазваниеОписаниеТип
pg_statusПоказывает результат выполнения запроса.
ok -Запрос прошел успешно.
Error - Запрос прошел с ошибкой.
Pending - Ожидание плательщика или платежной системы
string
pg_payment_idУникальный идентификатор платежной транзакции в FreedomPay. Служит ключом для всей дальнейшей работы с транзакциейinteger
pg_redirect_urlURL для перенаправления пользователя. Может быть как на сайте freedompay.uz, так и на сайте платежной системыstring
pg_redirect_url_typeТип страницы, на которую происходит перенаправление. Возможные значения: need data – диалог с покупателем с целью уточнения параметров: платежной системы, номера телефона, обязательных для данной платежной системы параметров payment system – страница сайта платежной системы либо страница с инструкциями оплаты через данную платежную систему.
Страница с инструкциями может располагаться как на сайте freedompay.uz, так и на сайте мерчанта. В случае получения мерчантом ответа с pg_redirect_url_type=”need data”, мерчант может не перенаправлять покупателя по полученному URL, а уточнить недостающие параметры у себя на сайте. В этом случае после уточнения параметров и повторного запроса на создание платежной транзакции будет создана новая транзакцияstring
pg_redirect_qrURL для перенаправления пользователя в виде QR.Передается в формате base64string
pg_saltСлучайная строкаstring
pg_sigПодпись запросаstring
В случае ошибок, будут дополнительные параметры ответа:
НазваниеОписаниеВалидация
pg_error_codeID кода ошибкиЦифры
pg_error_descriptionТекстовое описание ошибкиСтрока
Тестовые карты
Номер картыДата окончания срокаCVCКод ответаResponse
41111111111111112024/121230Успешная операция
55555555555555992024/121230Успешная операция.
44444444444466662024/1212310001Ошибка оплаты. Обратитесь в банк выпустивший карту
45639601220019992024/1212311006Недостаточно средств для проведения операции. Пополните баланс и повторите оплату.
55555555555555572024/1212310010Ограничения на карте. Свяжитесь с банком выпустившим карту.
44444444444444222024/1212310016Ошибка оплаты. Обратитесь в службу поддержки сайта, в пользу которого производите оплату.
44444444111111112024/1212310025Операция неуспешна, ошибка на стороне Международной Платежной системы. Повторите оплату позже.