Точка доступа
Прием
Адрес основного сервера:
https://api.greenleavespay.kz
Адрес тестового сервера:
{{test_domain}}

Данные передаются в параметрах методом POST.
Ответ на запросы представляются в формате XML
Проведение платежа
URL запроса
Поля запроса
POST https://api.greenleavespay.kz/g2g/payment
(Данные параметры могут в себя включать параметры из других разделов. Для эффективной работы Securebox рекомендуется придерживаться рекомендаций по валидации и примерам полей из этого раздела)
Параметры для эффективной работы антифрод-сервиса SecureBox
Необязательные параметры, нужные при оплате через токенизированные ПС
Параметры ответа
Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Параметры запроса в ACS сервер банка эмитента:
Url сервера можно получить из параметра pg_3d_acsurl.
На этой странице клиент вводит свой 3ds пароль.
Примечание. В случае, если на карте установлен 3ds, необходимо сделать запрос в 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_card_pan=5483-18XX-XXXX-0293' \
--form 'Параметры мерчанта=' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{greenleavespay_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={{greenleavespay_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>

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

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

Если сервер мерчанта недоступен в момент вызова Result URL или ответ от сервера был не со статусом 200, Greenleavespay будет предпринимать повторные попытки его вызвать каждые полчаса в течение 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.greenleavespay.kz/g2g/paymentAcs
Поля запроса
Параметры ответа
Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Выставить счет
URL запроса
POST https://api.greenleavespay.kz/g2g/invoiceUrl
Поля запроса
Тестовый URL запроса
POST {{test_domain}}/g2g/invoiceUrl
Параметры ответа на успешный запрос:

Безакцептное списание
URL запроса
POST https://api.greenleavespay.kz/g2g/payment
Поля запроса
Для использования данного запроса обратитесь к своему менеджеру

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

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

В данном сценарии запрос на проведение оплаты можно отправлять без участия пользователя
Инициализация платежа по карте
Оплата сохраненной картой происходит в два этапа:

  • Инициализация платежа
  • Проведение оплаты
Параметры ответа
В случае ошибок, будут дополнительные параметры ответа:
Метод свободного пополнения
URL запроса
POST https://api.greenleavespay.kz/g2g/any_amount
Поля запроса
В случае, если вы хотите чтобы плательщик самостоятельно вводил сумму платежа, необходимо использовать данный метод.

При прохождении оплаты, плательщик сначала попадает на форму, где он вводит сумму платежа. Далее он перенаправляется на платежную страницу, где происходит оплата.
Параметры ответа
В случае ошибок, будут дополнительные параметры ответа:
Платежная страница
URL запроса
POST https://api.greenleavespay.kz/g2g/payment_page
Поля запроса
Параметры ответа
В случае ошибок, будут дополнительные параметры ответа:
Тестовые карты