Мы используем cookie-файлы
Хорошо
Прием

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

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

Адрес тестового сервера:
https://test-api.freedompay.kg

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

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

Тестовый URL запроса
POST https://test-api.freedompay.kg/g2g/payment

Поля запроса
Параметры для эффективной работы антифрод-сервиса SecureBox

(Данные параметры могут в себя включать параметры из других разделов. Для эффективной работы Securebox рекомендуется придерживаться рекомендаций по валидации и примерам полей из этого раздела)
Необязательные параметры, нужные при оплате через токенизированные ПС
Параметры ответа
Параметры ответа на успешный запрос:
** При получении статуса "pending", нужно произвести запрос на получение статуса по методу "get_status3"
В случае ошибок, будут дополнительные параметры ответа:
Примечание. В случае, если на карте установлен 3ds, необходимо сделать запрос в ACS сервер банка эмитента карты.

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

Ответ в случае успеха:
Запрос на 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_reference=111111111111' \
--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_reference=111111111111' \
--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}}

Проведение платежа с 3DSecure после получения данных с ACS сервера

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

Тестовый URL запроса
POST https://test-api.freedompay.kg/g2g/paymentAcs

Поля запроса
Параметры ответа

Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Безакцептное списание

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

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

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

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



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

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

Тестовый URL запроса
POST https://test-api.freedompay.kg/g2g/payment

Поля запроса
Параметры ответа
В случае ошибок, будут дополнительные параметры ответа:
Метод свободного пополнения

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

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

Тестовый URL запроса
POST https://test-api.freedompay.kg/g2g/any_amount

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

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

Тестовый URL запроса
POST https://test-api.freedompay.kg/g2g/payment_page

Поля запроса
Параметры ответа
В случае ошибок, будут дополнительные параметры ответа:
Тестовые карты