API Documentation

Основные положения закона

  • Использовать кассу нового образца с установленным фискальным накопителем (ФН), менять ФН раз в год и хранить в течение 5-ти лет.

  • Заключить договор с оператором фискальных данных (ОФД) для передачи данных с кассы в режиме онлайн в ФНС. Для этого необходимо подключить кассу к Интернет.

  • Указывать в чеке все товарные позиции: наименование, цена, кол-во, сумма, ставка НДС.

  • Выдавать электронный чек покупателю непосредственно в момент расчета: для интернет-платежей с использованием банковской карты отправлять чек на e-mail или по SMS.

  • Нет необходимости заключать договор с центром технического обслуживания на обслуживание касс.

  • Нет необходимости предъявлять кассу инспектору ФНС, все регистрационные действия можно выполнить дистанционно в личном кабинете налогоплательщика на сайте ФНС.

Общие положения

1.1. Настоящая Политика обработки персональных данных и конфиденциальности разработана Обществом с ограниченной ответственностью “Арсенал Медиа” (далее – Политика и Оператор) для исполнения требований пункта 2 части 1 статьи 18.1 Федерального закона от 27.07.

1.2. В Политике используются понятия в том смысле, как они определены пунктом 1.6 Политики. Политика распространяется на отношения в области обработки персональных данных, возникшие у Оператора как до, так и после утверждения настоящей Политики.

1.3. Оператор самостоятельно или совместно с другими лицами организует обработку персональных данных, а также определяет цели обработки персональных данных, определяет действия (операции), совершаемые с персональными данными.

1.4. Политика действует в отношении всех персональных данных, которые Оператор получает от Пользователей Сайта.

1.5. Во исполнение требований части 2 статьи 18.1 Закона о персональных данных настоящая Политика публикуется в свободном доступе в информационно-телекоммуникационной сети Интернет на Сайте.

1.6. Основные понятия, используемые в Политике:

1.6.1. Персональные данные – любая информация, относящаяся к прямо или косвенно определенному или определяемому Пользователю Сайта;

Категории обрабатываемых персональных данных

3.1. Оператор обрабатывает следующие персональные данные Пользователей:

3.1.1. фамилия, имя, отчество;

3.1.2. паспортные данные (номер, серия, кем выдан);

3.1.3. адрес (место жительства, регистрации);

3.1.4. ИНН (физ.лица/компании), ОГРН (ОГРНИП, КНД);

3.1.4. дата и место рождения;

3.1.5. электронный адрес;

3.1.6. телефон;

3.1.7. ссылки на персональные страницы в соцсетях;

3.2. Оператор собирает и обрабатывает обезличенные данные о посетителях (в т.ч. файлы «cookie») с помощью сервисов интернет-статистики и рекламы (Яндекс Метрика, Гугл Аналитика и других).

3.3. Оператор не обрабатывает предусмотренные Законом о персональных данных специальные категории персональных данных.

3.4. Оператор не обрабатывает предусмотренные Законом о персональных данных биометрические категории персональных данных.

Порядок и условия обработки персональных данных

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

4.2. Оператор осуществляет Автоматизированную обработку персональных данных.

4.3. Оператор осуществляет обработку персональных данных в форме, позволяющей определить субъекта персональных данных, не дольше, чем этого требуют цели обработки персональных данных.

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

4.5. Оператор реализует следующие требования к защите персональных данных:

4.5.1. требования о соблюдении конфиденциальности персональных данных;

4.5.2. требования об обеспечении реализации субъектом персональных данных своих прав, включая право на доступ к информации;

4.5.3. требования об обеспечении точности персональных данных, а в необходимых случаях и актуальности по отношению к целям обработки персональных данных (с принятием (обеспечением принятия) мер по удалению или уточнению неполных или неточных данных);

4.5.4. требования к защите персональных данных от неправомерного или случайного доступа к ним, уничтожения, изменения, блокирования, копирования, предоставления, распространения персональных данных, а также от иных неправомерных действий в отношении персональных данных;

4.5.5. иные требования, предусмотренные законодательством.

4.6. Оператор принимает следующие меры, необходимые и достаточные для обеспечения выполнения обязанностей, предусмотренных законодательством, касающихся порядка обработки и защиты персональных данных:

4.6.1. назначение Ответственного за обеспечение безопасности персональных данных;

4.6.2. определение перечня работников, допущенных к работе с персональными данными;

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

4.6.4. применение правовых, организационных и технических мер по обеспечению безопасности персональных данных, в частности:
– определение угроз безопасности персональных данных при их обработке в Информационной системе персональных данных;
– применение организационных и технических мер по обеспечению безопасности персональных данных при их обработке в Информационной системе персональных данных, необходимых для выполнения требований к защите персональных данных, исполнение которых обеспечивает установленные Правительством Российской Федерации уровни защищенности персональных данных;
– применение прошедших в установленном порядке процедур оценки соответствия средств защиты информации;
– установление правил доступа к персональным данным, обрабатываемым в Информационной системе персональных данных;
– контроль за принимаемыми мерами по обеспечению безопасности персональных данных и уровня защищенности Информационной системе персональных данных;

4.6.5. осуществление внутреннего контроля соответствия обработки персональных данных Закону о персональных данных и принятым в соответствии с ним нормативным правовым актам, требованиям к защите персональных данных, политике Оператора в отношении обработки персональных данных, локальным актам Оператора;

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

4.7. Оператор вправе передавать персональные данные Пользователя третьим лицам в следующих случаях:

4.7.1. Пользователь выразил согласие на такие действия;

4.7.2. Передача необходима в целях исполнения Оператором договора, заключенного с Пользователем;

4.7.3. Передача необходима в целях предоставления Пользователю по его запросу доступа к определенным сервисам Сайта;

4.7.4. Передача предусмотрена действующим законодательством;

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

4.8. При сборе персональных данных Пользователей Оператор обеспечивает запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение персональных данных граждан Российской Федерации с использованием баз данных, находящихся на территории Российской Федерации, за исключением случаев, указанных в Законе о персональных данных.

Автоплатежи

Воспользуйтесь этой опцией, если ваш сервис подразумевает приём регулярных платежей. Опция поможет вам:

  • вовремя собирать абонентскую плату или плату за подписку (онлайн сервисы с ежемесячной оплатой, поднятие рекламных объявлений на сайте, хостинг, доступ в интернет или пожертвования)

  • пополнить счет до того, как закончатся деньги (доступ в интернет, онлайн-игры или абонементы в спортивные клубы)

Функционал позволяет совершать оплату без участия клиента по токену карты.
После первой оплаты платежный сервис назначает платежным данным держателя карты специальный уникальный идентификатор — токен, который можно безопасно хранить и использовать для автоплатежей.

Автоплатежи совершаются платежной системой автоматически, без подтверждения со стороны плательщика, в соответствии с настроенным событием (раз в день, неделю, месяц, по другому периоду, в определенный день или по остатку баланса).

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

В вашем личном кабинете вы можете управлять подписками своих клиентов: смотреть статистику, искать и удалять автоплатежи. Гибко настраивать параметры каждого автоплатежа, вы можете через API.

Чтобы использовать эту опцию:

Аттрибуты объекта

Массив позиций в чеке может содержать от 1 до 100 позиций.

ПараметрОписание
id

String

Идентификатор фискального документа (уникальный среди всех документов, отправляемых в данную группу ККТ)
type

String

Тип фискального документа, перечень значений в таблице “Типы операций”
email

String

Email для отправки чека, не более 64 символов. Обязательно присутствие одного из полей: email или phone.
phone

String

Номер телефона для чека. 10 цифр в международном формате (без кода страны “ 7”), не более 64 символов.
name

String

Название товара или услуги, не более 128 символов
price

String

Стоимость товара
quantity

String

Количество товара
sum

Float

Общая стоимость в рублях
tax

String

Размер налога в ККТ, перечень значений в таблице “Размер налога в ККТ”

Банки партнеры

Это наши технологические банки-партнеры, они помогают нам принимать платежи в интернет. Переводить денежные средства мы можем на расчетный счет вашей компании в любом банке России.

Альфа-БанкАкционерное общество “Альфа-Банк”. Генеральная лицензия Банка России № 1326 от 16 января 2022 года.

Банк ВТБ 24Деятельность ВТБ 24 (ПАО) осуществляется в соответствии с генеральной лицензией Банка России № 1623 от 29.10.2022 года.

ГазпромбанкАкционерное общество “Газпромбанк”. Генеральная лицензия Банка России на осуществление банковских операций № 354 от 29.12.2022.

Раунд банкООО “банк Раунд”. Генеральная лицензия на осуществление банковских операций № 2506 от 14 ноября 2022 года.

Московский Индустриальный банкПАО “МИнБанк”. Генеральная лицензия Банка России № 912 от 26.08.2022 года.

РФИ банкАкционерное общество Банк “Резервные финансы и инвестиции”. Лицензия на осуществление банковских операций № 3351, выданная Банком России 06 августа 2022 года.

ОткрытиеПАО Банк “ФК Открытие”. Генеральная лицензия Банка России № 2209 от 24.11.2022.

ПримсоцбанкПАО CКБ Приморья “Примсоцбанк”. Генеральная лицензия ЦБ РФ № 2733 от 21.08.2022 года.

Банковскими картами на сайте

  1. Зарегистрируйтесь в сервисе.

  2. У вас появится личный кабинет со всеми необходимыми параметрами для настройки приема платежей. Вы сможете сразу же начать интеграцию платежного виджета и онлайн кассы на вашем сайте.

  3. Подготовьте ваш сайт согласно требованиям международных платёжных систем, желательно до отправки документов в банк, это ускорит процесс подключения.

  4. Подготовьте сканы, либо фото оригиналов документов для проверки вашей компании в банках. Результат проверки сообщим в течении 5 рабочих дней.

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

Возврат покупателя на сайт мерчанта

После завершения платежа в online платежной системе, покупатель перенаправляется на страницу мерчанта Success URL или Failure URL, в зависимости от результата платежа. Перенаправление происходит методом Success URL Method или Failure URL Method, указанным при инициализации платежа.

Если при GET запросе Success URL или Failure URL уже содержат параметры в query string, то дополнительные параметры pg_order_id, pg_payment_id и пользовательские переменные мерчанта дописываются в конец query string. мерчанта должен следить за тем, чтобы имена дополнительных параметров не совпадали с именами уже имеющимися параметров.

Необходимо четко понимать разницу между Result URL и Success URL.

Result URL вызывается напрямую с сервера nfcexpert.ru, в то время как Success URL вызывается браузером пользователя, когда nfcexpert.ru перенаправляет пользователя обратно на сайт магазина.
Неправильно использовать Success URL как единственный способ узнать о завершении оплаты, потому что пользователь может по разным причинам (например, при разрыве связи) не дойти до Success URL после оплаты.

Выплата на несохранненную карту

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

Для выплаты в качестве secret_key используется

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=['pg_merchant_id'=>$pg_merchant_id,'pg_amount'=>10,'pg_order_id'=>1234,'pg_description'=>'Описание платежа','pg_post_link'=>'http://site.kz/post','pg_back_link'=>'http://site.kz/back','pg_order_time_limit'=>'2020-12-31 12:00:00','pg_salt'=>'some random string',];//generate a signature and add it to the arrayksort($request);//sort alphabeticallyarray_unshift($request,'reg2nonreg');array_push($request,$secret_key);//add your secret key (you can take it in your personal cabinet on paybox system)$request['pg_sig']=md5(implode(';',$request));// signatureunset($request[0],$request[1]);

В случае успешного ответа, пользователя необходимо перенаправить на URL, указанный в параметре pg_redirect_url. Отобразится страница для ввода данных карты, на которой нужно совершить платеж

Выплата на сохранненную карту

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

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=['pg_merchant_id'=>$pg_merchant_id,'pg_amount'=>10,'pg_order_id'=>1234,'pg_user_id'=>1234,'pg_card_id_to'=>1234,'pg_description'=>'Описание платежа','pg_post_link'=>'http://site.kz/post','pg_back_link'=>'http://site.kz/back','pg_order_time_limit'=>'2020-12-31 12:00:00','pg_salt'=>'some random string',];//generate a signature and add it to the arrayksort($request);//sort alphabeticallyarray_unshift($request,'reg2reg');array_push($request,$secret_key);//add your secret key (you can take it in your personal cabinet on paybox system)$request['pg_sig']=md5(implode(';',$request));// signatureunset($request[0],$request[1]);

Гарантии безопасности онлайн платежей

Процессинговый центр ArsenalPay защищает и обрабатывает данные Вашей банковской карты по максимальному международному стандарту безопасности — Payment Card Industry Data Security Standard 3.2 level 1 (сокращенно PCI DSS). Этот стандарт разработан платёжными системами Visa и MasterCard.

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

Предоставляемая Вами персональная информация (имя, адрес, телефон, email, номер кредитной карты) является конфиденциальной и не подлежит разглашению. Данные Вашей кредитной карты передаются только в зашифрованном виде и не сохраняются на нашем сервере.

Добавление карты

Добавление карты

Запрос

Ответ

Далее необходимо открыть iframe на странице оплаты (URL iframe pg_redirect_url из запроса, после чего пользователю откроется интерфейс для ввода следующих карточных данных:

  • Номер карты
  • Имя держателя карты
  • Год/Месяц окончания действия карты
  • CVV/CVC После нажатия на кнопку “Добавить карту”, будет произведена проверка наличия на карте 3DSecure.

Если на карте есть 3DSecure, произойдет перенаправление на страницу банка эмитента карты, где пользователю будет предложено ввести 3ds пароль. В случае правильного ввода пароля происходят три вещи:
а) сумма платежа (от 1 до 100) блокируется на карте пользователя;
б) платеж отменяется и указанная сумма моментально возвращается на карточку пользователя;
в) карта добавляется в систему.

Если 3DSecure нет, деньги блокируются на карте, после чего пользователю дается 20 минут или 3 попытки для ввода следующей информации о платеже:

  • Суммы платежа
  • Кода подтверждения платеж

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=['pg_merchant_id'=>$pg_merchant_id,'pg_user_id'=>1234,'pg_post_link'=>'http://site.kz/post','pg_back_link'=>'http://site.kz/back','pg_salt'=>'some random string',];//generate a signature and add it to the arrayksort($request);//sort alphabeticallyarray_unshift($request,'add');array_push($request,$secret_key);//add your secret key (you can take it in your personal cabinet on paybox system)$request['pg_sig']=md5(implode(';',$request));// signatureunset($request[0],$request[1]);

Запрос на check_url магазина. проверка возможности совершить платеж

Пример отрицательного ответа магазина

Запрос

Ответ

Пример положительного ответа магазина

Запрос

Ответ

Перед тем как принять деньги от покупателя по счету, платежный гейт может вызвать скрипт мерчанта Check URL с помощью метода Request Method.

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

nfcexpert.ru передает информацию о номере и свойствах заказа и ожидает ответа. Отсутствие ответа за указанное время воспринимается как отказ от платежа.

Вызов скрипта Check URL происходит только в случае, если такая опция была включена в настройках мерчанта.

Ответ на check_url от мерчанта

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

НазваниеОписаниеТип
pg_order_idИдентификатор заказа в системе мерчанта
Пример: 123456789
string
pg_payment_idВнутренний идентификатор платежа в системе PayBox.money.
Пример: 12345
integer
pg_amountСумма выставленного счета (в валюте pg_currency), совпадает с pg_amount в момент инициализации платежа.
Пример: 10
number
pg_currencyВалюта выставленного счета, совпадает с pg_currency в момент инициализации платежа.
Пример: KZT
string
pg_ps_currencyВалюта, в которой был произведен платеж в платежной системе. Поле может отсутствовать в случае неудачного платежа
Пример: KZT
string
pg_ps_amountСумма счета (в валюте pg_ps_currency), выставленного в платежной системе.
Пример: 5
number
pg_ps_full_amountПолная сумма (в валюте pg_ps_currency), которую заплатит покупатель с учетом всех комиссий.
Пример: 5
number
Параметры мерчантаВсе поля, переданные с веб-сайта мерчанта, не имеющие префикса pg_string
pg_saltСлучайная строка
Пример: some random string
string
pg_sigПодпись запросаstring

Запрос на check_url магазина. проверка возможности совершить платеж.

Пример отрицательного ответа магазина

Запрос

Ответ

Пример положительного ответа магазина

Запрос

Ответ

Перед тем как принять деньги от покупателя по счету, платежный гейт может вызвать скрипт мерчанта Check URL с помощью метода Request Method.

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

nfcexpert.ru передает информацию о номере и свойствах заказа и ожидает ответа. Отсутствие ответа за указанное время воспринимается как отказ от платежа.

Вызов скрипта Check URL происходит только в случае, если такая опция была включена в настройках мерчанта.

Ответ на check_url от мерчанта

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

НазваниеОписаниеТип
pg_order_idИдентификатор заказа в системе мерчанта
Пример: 123456789
string
pg_payment_idВнутренний идентификатор платежа в системе PayBox.money.
Пример: 12345
integer
pg_amountСумма выставленного счета (в валюте pg_currency), совпадает с pg_amount в момент инициализации платежа.
Пример: 10
number
pg_currencyВалюта выставленного счета, совпадает с pg_currency в момент инициализации платежа.
Пример: KZT
string
pg_ps_currencyВалюта, в которой был произведен платеж в платежной системе. Поле может отсутствовать в случае неудачного платежа
Пример: KZT
string
pg_ps_amountСумма счета (в валюте pg_ps_currency), выставленного в платежной системе.
Пример: 5
integer
pg_ps_full_amountПолная сумма (в валюте pg_ps_currency), которую заплатит покупатель с учетом всех комиссий.
Пример: 5
integer
Параметры мерчантаВсе поля, переданные с веб-сайта мерчанта, не имеющие префикса pg_string
pg_saltСлучайная строка
Пример: some random string
string
pg_sigПодпись запросаstring

Запрос на выплату

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=['pg_merchant_id'=>$pg_merchant_id,'pg_order_id'=>1234,'pg_amount'=>100,'pg_payment_to'=>4405645000006150,'pg_description'=>'Описание платежа','pg_post_link'=>'http://site.kz/post','pg_salt'=>'some random string',];//generate a signature and add it to the arrayksort($request);//sort alphabeticallyarray_unshift($request,'p2p2nonreg');array_push($request,$secret_key);//add your secret key (you can take it in your personal cabinet on paybox system)$request['pg_sig']=md5(implode(';',$request));// signatureunset($request[0],$request[1]);

Изменения

ИзменениеДата
Изменились тестовые карты18.11.2021
Описание статусов платежей для метода get_status2.php25.11.2021
Добавил поля по ОФД для возвратов02.12.2021
Добавил receipt_positions в чекаут02.12.2021
Добавил информацию о авторизации в result url02.12.2021
Добавил спецификацию для выплат на IBAN03.12.2021
Заменил get_status на get_status207.12.2021
Добавил информацию о новых параметрах при ошибках платежа: pg_error_code, pg_error_description для отправки на failrure_url. Добавил информацию о скидке в callback result: pg_discount_percent, pg_discount_amount07.12.2021
Добавил описание статусов для синхронных операций по выплатам на карты27.12.2021
Перенес рекуррентные платежи в устаревшие сценарии
Добавлен новый сценарий “Безакцептное списание”
12.01.2022
Исправил формат ответа на check_url13.01.2022

Инициализация перевода

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=['pg_merchant_id'=>$pg_merchant_id,'pg_order_id'=>1234,'pg_amount'=>100,'pg_user_id'=>12341,'pg_description'=>'Описание платежа','pg_pan'=>4405645000006150,'pg_cvc'=>653,'pg_year'=>25,'pg_month'=>09,'pg_payment_to'=>4405645000006150,'pg_from_name'=>'Testov test','pg_post_link'=>'http://site.kz/post','pg_salt'=>'some random string',];//generate a signature and add it to the arrayksort($request);//sort alphabeticallyarray_unshift($request,'p2p');array_push($request,$secret_key);//add your secret key (you can take it in your personal cabinet on paybox system)$request['pg_sig']=md5(implode(';',$request));// signatureunset($request[0],$request[1]);

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

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

Запрос

Ответ

Есть два варианта использования метода:

  • Прямая передача данных от мерчанта в PayBox.money
  • Передача данных через браузер пользователя в PayBox.money

При прямой передаче данных от мерчанта в nfcexpert.ru, мерчант должен посылать данные на init_payment.php.

При передаче данных через браузер пользователя в nfcexpert.ru, мерчант направить пользователя с данными данные на payment.php.

Можно передавать произвольные дополнительные параметры, имена которых не начинаются на pg_. Все эти параметры будут переданы на pg_check_url и pg_result_url.

Имена дополнительных параметров мерчанта должны быть уникальны.

После получение параметра pg_redirect_url пользователя перенаправляют на платежную страницу где плательщик завершает платеж.

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

В случае если мерчантом переданы не все параметры, необходимые для создания платежной транзакции (платежная система, телефон пользователя и параметры, необходимые для выбранной платежной системы), они запрашиваются у пользователя на сайте nfcexpert.ru.

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=$requestForSignature=['pg_order_id'=>'23','pg_merchant_id'=>$pg_merchant_id,'pg_amount'=>'25','pg_description'=>'test','pg_salt'=>'molbulak','pg_payment_route'=>'frame','pg_currency'=>'KZT','pg_check_url'=>'http://site.kz/check','pg_result_url'=>'http://site.kz/result','pg_request_method'=>'POST','pg_success_url'=>'http://site.kz/success','pg_failure_url'=>'http://site.kz/failure','pg_success_url_method'=>'GET','pg_failure_url_method'=>'GET','pg_state_url'=>'http://site.kz/state','pg_state_url_method'=>'GET','pg_site_url'=>'http://site.kz/return','pg_payment_system'=>'EPAYWEBKZT','pg_lifetime'=>'86400','pg_user_phone'=>'77777777777','pg_user_contact_email'=>'mail@customer.kz','pg_user_ip'=>'127.0.0.1','pg_postpone_payment'=>'0','pg_language'=>'ru','pg_testing_mode'=>'1','pg_user_id'=>'1','pg_recurring_start'=>'1','pg_recurring_lifetime'=>'156','pg_receipt_positions'=>[['count'=>'1','name'=>'название товара','tax_type'=>'3','price'=>'900',]],'pg_user_id'=>'1','pg_param1'=>'дополнительные данные','pg_param2'=>'дополнительные данные','pg_param3'=>'дополнительные данные',];/**
* Функция превращает многомерный массив в плоский
*/functionmakeFlatParamsArray($arrParams,$parent_name=''){$arrFlatParams=[];$i=0;foreach($arrParamsas$key=>$val){$i  ;/**
* Имя делаем вида tag001subtag001
* Чтобы можно было потом нормально отсортировать и вложенные узлы не запутались при сортировке
*/$name=$parent_name.$key.sprintf('d',$i);if(is_array($val)){$arrFlatParams=array_merge($arrFlatParams,makeFlatParamsArray($val,$name));continue;}$arrFlatParams =array($name=>(string)$val);}return$arrFlatParams;}// Превращаем объект запроса в плоский массив$requestForSignature=makeFlatParamsArray($requestForSignature);// Генерация подписиksort($requestForSignature);// Сортировка по ключюarray_unshift($requestForSignature,'init_payment.php');// Добавление в начало имени скриптаarray_push($requestForSignature,$secret_key);// Добавление в конец секретного ключа$request['pg_sig']=md5(implode(';',$requestForSignature));// Полученная подпись

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

Оплата сохраненной картой происходит в два этапа:

  • Инициализация платежа
  • Проведение оплаты

Для инициализации платежа используется следующий запрос:

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=['pg_merchant_id'=>$pg_merchant_id,'pg_amount'=>100,'pg_order_id'=>12345,'pg_user_id'=>1234,'pg_card_id'=>1234,'pg_description'=>'Описание платежа','pg_salt'=>'some random string',];//generate a signature and add it to the arrayksort($request);//sort alphabeticallyarray_unshift($request,'init');array_push($request,$secret_key);//add your secret key (you can take it in your personal cabinet on paybox system)$request['pg_sig']=md5(implode(';',$request));// signatureunset($request[0],$request[1]);

Интернет-магазин

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

Этапы оплаты:

  • Инициализируется виджет (готовый код виджета в личном кабинете в разделе Интеграция).

  • Покупатель вводит данные карты и нажимает кнопку Оплатить.

  • Мы отправляем на ваш callback url запрос для проверки корректности заказа в рамках функции check.

  • Вы отвечаете успехом или неуспехом. Фактически здесь даете нам команду на списание средств. В случае успеха, добавляете в формате json ofd-структуру для фискального чека.

  • Списываем средства, отправляем фискальный чек клиенту и в ФНС через ОФД.

  • Отправляем вам информацию о факте списания в рамках функции payment.

  • Вы отвечаете нам, что запрос payment успешно вами обработан. В личном кабинете мы отмечаем транзакцию как полностью успешную.

Какого банка карта

С помощью этой функции вы можете узнать различные параметры банковской карты по первым её цифрам. Номер банковской карты – это уникальное число, которое имеет каждая банковская карта. Он располагается на лицевой части карты и обычно состоит из 16 цифр.

Первые 6 цифр означают Банковский Идентификационный Номер карты, сокращенно БИН (Bank Identification Number, BIN) и позволяют определить, какой банк является ее эмитентом. Этот код показывает, какому банку и в какой стране принадлежит карта, а также определяет ее тип с категорией.

Первая цифра БИН-номера карты указывает принадлежность к платежной системе: Мир – 2, VISA – 4, MasterCard – 5, Maestro – 3, 5 или 6, American Express – 3, JCB International – 3, China UnionPay – 6, УЭК – 7. Цифры с 7 по 15-ю являются идентификационным номером карты и содержат тип карты (кредитная или дебетовая карта), валюту карты и регион выпуска.

Функционал предоставляется по отдельному запросу.

На банкомат

Данный метод делает специальный запрос, после которого, пользователю на телефонный номер отправятся два смс с паролями.

Для получения наличных в банкомате, пользователю необходимо ввести указанные пароли, а также сумму, которую он
намеревается вывести.

У пользователя есть 24 часа, чтобы снять наличные в банкомате, иначе операция завершиться с ошибкой, после чего сумма, указанная для снятия, снова вернется на баланс мерчанта в системе nfcexpert.ru.

Метод не содержит никаких коллбэков. Мерчант должен сам опрашивать nfcexpert.ru о статусе операции. Ниже будет описана рекомендуемая механика платежа.

Первая проверка статуса операции (снял ли пользователь сумму с банкомата или нет) произойдет три часа спустя, после инициации платежа. Если сумма с банкомата не снята,
вторая попытка произойдет еще три часа спустя, этот повторяющийся процесс будет
происходит в течении 24 часов после инициации платежа (всего PayBox будет
запрашивать статус 8 раз).

Исходя из вышенаписанного, мерчант не должен проводить опрос статуса не чаще одного раза в три часа.

Оплата с мобильного

Платёж в большинстве случаев проходит OTP-верификацию. Т.е. для совершения платежа требуется подтверждение. Но по особым договоренностям есть возможность отключить OTP-верификацию.

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=['pg_merchant_id'=>$pg_merchant_id,'pg_payment_id'=>12345,'pg_abonent_phone'=>77077777777,'pg_payment_system_code'=>'ALTELKZT','pg_salt'=>'some random string',];//generate a signature and add it to the arrayksort($request);//sort alphabeticallyarray_unshift($request,'pay');array_push($request,$secret_key);//add your secret key (you can take it in your personal cabinet on paybox system)$request['pg_sig']=md5(implode(';',$request));// signatureunset($request[0],$request[1]);

Если в ответе pg_status равен need_approve nfcexpert.ru отправит SMS сообщение на номер указанный в pg_abonent_phone с OTP кодом. Для продолжения мерчанту необходимо запросить данный код у плательщика. Далее передать его в метод подтверждения

Отсрочка

Для некоторых компаний есть отсрочка до 01.07.2022. Организации и ИП, применяющие ЕНВД, а также те ИП, которые используют патентную систему налогообложения, имеют право не применять ККТ в большинстве случаев. У них есть лишь обязанность выдать чек (либо документ, его заменяющий), по требованию покупателя.

Согласно сообщения Минфина от 30.05.2022 № 03-01-15/33121 и официального письма заместителя министра: если вы как минимум заключили договор на поставку касс, то штрафных санкций применяться не будет. Вы можете продолжать оказывать услуги и принимать платежи через сайт по старой схеме.

Параметры ответа

НазваниеОписаниеТип
pg_statusПоказывает результат выполнения запроса

СтатусОписание
okЗапрос прошел успешно
errorЗапрос прошел с ошибкой
string
pg_payment_idУникальный идентификатор платежной транзакции в PayBox.money Служит ключом для всей дальнейшей работы с транзакциейinteger
pg_transaction_statusСтатус платежа

СтатусОписание
partialНовый платеж
pendingОжидание плательщика или платежной системы
refundedПо платежу прошел возврат
revokedПо платежу прошла отмена
okПлатеж успешно завершен
failedПлатеж в ошибке
incompleteИстекло время жизни платежа
string
pg_testing_modeEnum:0 1
0 – платеж в боевом режиме 1 – платеж в тестовом режиме
integer
pg_create_dateДата и время создания платежной транзакцииdatetime
pg_can_reject0 или 1 – может ли платеж быть отменен. Значение 1 возможно только если статус платежа равен ok и платежная система предоставляет возможность отзыва платежа. В этом случае мерчант может вызвать revoke.php.integer
pg_testing_modeEnum:0 1
0 – платеж в боевом режиме 1 – платеж в тестовом режиме
integer
pg_capturedEnum:0 1
Передается только в случае успешной оплаты банковской картой и показывает, был ли произведен клиринг в момент авторизации (что зависит только от настроек мерчанта). Если значение этого поля равно 0, мерчант должен в последующем дать команду на клиринг или дождаться когда PayBox.money сделает это сам.
integer
pg_card_panМаскированный номер карты (часть цифр номера карты скрыты). Этот параметр передается только в случае успешной оплаты банковской картой.string
pg_card_idID картыinteger
pg_card_hashХеш маскированной PAN картыstring
pg_failure_codeКод ошибкиinteger
pg_failure_descriptionОписание ошибкиstring
pg_saltСлучайная строкаstring
pg_sigПодпись запросаstring

Платежный виджет

Чтобы использовать данный вид создания платежа вам следует обратиться к своему менеджеру.

Чекаут (всплывающая форма оплаты) дает возможность создания платежа на странице вашего сайта с помощью токена, который вам может предоставить личный менеджер. Платеж осуществляется через всплывающее окно, которое вызывается при нажатии на кнопку покупателем

Сценарий платежа

  1. Покупатель формирует заказ на вашем сайте
  2. Покупатель нажимает на кнопку покупки товара
  3. Ваш сайт ининциализирует чекаут
  4. PayBox.money вызывает всплывающее окно, где и происходит процесс платежа
  5. В случае успешного платежа или ошибки ваш сайт получает соответствующее уведомление

Подключение чекаута

Для использования чекаута на своем сайте, мерчант должен подключить следующий скрипт:

Далее при нажатии на кнопку оплаты вызвать метод создания платежа. Минимальная конфигурация:

Полная конфигурация:

functionpay(amount){vardata={token:"Ваш токен",payment:{order:"1",amount:"200",currency:"KZT",description:"Описание заказа",expires_at:"2020-12-12 00:00:00",param1:"string",param2:"string",param3:"string",test:1,// testing modeoptions:{callbacks:{result_url:"https://my-domain.com/result",check_url:"https://my-domain.com/check"},custom_params:{},user:{email:"user@test.com",phone:"77777777777",},receipt_positions:[{count:2,name:"Коврик для мыши",tax_type:3,price:1000},{count:2,name:"Розетка",tax_type:3,price:1000}]}},successCallback:function(payment){//...},errorCallback:function(payment){//...}}varpaybox=newPayBox(data);paybox.create();}

Получение статуса платежа. После оплаты покупателем, ваш сайт получает уведомление через коллбэки, которые передаются в параметрах:

Подтверждение 3ds

Генерация подписи:

$pg_merchant_id={{paybox_merchant_id}};$secret_key={{paybox_merchant_secret}};$request=['pg_merchant_id'=>$pg_merchant_id,'pg_payment_id'=>1234,'pg_md'=>'','pg_pares'=>'','pg_salt'=>'some random string',];//generate a signature and add it to the arrayksort($request);//sort alphabeticallyarray_unshift($request,'p2p_secure');array_push($request,$secret_key);//add your secret key (you can take it in your personal cabinet on paybox system)$request['pg_sig']=md5(implode(';',$request));// signatureunset($request[0],$request[1]);

Получение статуса платежа по order_id

Partial – Платеж создан

Запрос

Ответ

Ok – Платеж успешен

Запрос

Ответ

Pending – Платеж в процессе выплаты

Запрос

Ответ

Failed – Платеж в ошибке

Запрос

Ответ

Failed – Платеж не найден

Запрос

Ответ

Мерчант может запрашивать nfcexpert.ru статус любого платежа, инициированного магазином. Это может быть полезно, например, в случае если вызов Post link не был получен мерчантом из-за временного сбоя связи, а покупатель уже был передан на Back URL, однако статус транзакции мерчанту еще не известен.

Генерация подписи:

Предавторизация

Опцию также называют холдирование, заморозка или двухстадийное списание.
Функция позволяет производить оплату с карты по команде со стороны магазина в два этапа. Сначала блокируется на карте сумма оплаты, затем после вашего дополнительного подтверждения списывается.

Опция даем вам уверенность, что у клиента есть нужная сумма и товар можно резервировать или готовить к отправке. Если заказ будет отменен или товара не будет в наличии, деньги можно вернуть клиенту, разморозив средства на его карте. Комиссия за такой возврат с магазина не взимается.

Замороженные средства на карте клиента можно разморозить в течение 7 дней при помощи команды reversal (отмена платежа). Если после холдирования проведён хоть один платеж, то мгновенный возврат платежа возможен только в течение тех же календарных суток, когда был совершен платеж. После чего вернуть средства можно при помощи команды transactionRefunds (возврат платежа).

Отменять можно не только всю холдированную сумму платежа, но и её часть.
Изменить сумму холда на большую нельзя.

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

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

Чтобы использовать эту опцию:

Примеры расчетов распределения платежа

1. Покупка товара партнера на маркетплейсе

Маркетплейс на своем сайте размещает товар партнера и берет за это свою комиссию.
Платеж должен распределиться между маркетплейсом и партнером.

Исходные данные:

Цена товара партнера: 1 000 руб

Комиссия маркетплейса: 5%

Комиссия ArsenalPay: 2,9%

Промежуточный расчет:

Сумма комиссии маркетплейса: 1 000 руб. * 5% = 50 руб.

Финальная стоимость товара для покупателя: 1 000 руб. 50 руб. = 1 050 руб.

Расчет распределения:

Возмещение партнеру: 1 000 руб. * (100% – 2,9%) = 971 руб.

Возмещение маркетплейсу: 50 руб. * (100% – 2,9%) = 48,55 руб.

ArsenalPay: 1 050 руб. * 2,9% = 30,45 руб.

2. Покупка товара на сайте с оплатой услуги доставки

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

Исходные данные:

Цена товара партнера: 3 500 руб.

Комиссия сайта: 40 руб. (фиксированная)

Комиссия ArsenalPay: 2.9%

Промежуточный расчет:

Финальная стоимость товара для покупателя: 3 500 руб. 40 руб. 200 руб. = 3 740 руб.

Расчет распределения:

Возмещение партнеру: 3 500 руб. * (100% – 2.9%) = 3 398,5 руб.

Возмещение сайту: 40 руб. * (100% – 2.9%) = 38,84 руб.

ArsenalPay: 3 740 руб. * 2.9% = 108,46 руб.

3. Покупка товаров разных партнеров на маркетплейсе

Покупатель на сайте маркетплейса собрал в корзине товары разных партнеров. Платеж должен распределиться между этими партнерами. Маркетплейс комиссию не берет.

Исходные данные:

Цена товара №1 от партнера №1: 300 руб.

Цена товара №2 от партнера №2: 2 400 руб.

Цена товара №3 от партнера №3: 820 руб.

Комиссия ArsenalPay: 2,9%

Промежуточный расчет:

Финальная стоимость товаров для покупателя: 300 руб. 2 400 руб. 820 руб. = 3 520 руб.

Расчет распределения:

Возмещение партнеру №1: 300 руб. * (100% – 2,9%) = 291,3 руб.

Возмещение партнеру №2: 2 400 руб. * (100% – 2,9%) = 2 330,4 руб.

Возмещение партнеру №3: 820 руб. * (100% – 2,9%) = 796,22 руб.

ArsenalPay: 3 520 руб. * 2,9% = 102,08 руб.

Разделение платежей

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

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

Переместите офлайн платежи в онлайн, чтобы ваш маркетплейс начал зарабатывать на этом денежном потоке, при этом улучшив пользовательский опыт ваших клиентов.

Преимущества:

  • Оплата происходит только один раз на сайте витрины, не нужно оплачивать каждый товар или услугу по отдельности.

  • Один платеж повышает прозрачность всего процесса, исключая возможные дополнительные расходы клиента на стороне партнера, которые витрина не может контролировать. Доверие клиентов к витрине растет.

  • Суммы автоматически перечисляются банком на расчетный счет каждого предприятия на следующий рабочий день. Увеличивается оборачиваемость капитала, юрлица становятся более заинтересованными в работе с вашим маркетплейсом.

  • Снимается проблема с комиссиями, когда партнеры месяцами затягивают оплату услуг витрины по надуманным поводам.

  • Не требуется ведение самостоятельных расчетов с партнерами по сделке.

  • Автоматизация отношений с юридическими лицами, ваш и их бизнес становится более эффективным.

Сферы применения:

  • Маркетплейс, где покупатель может приобретать товары или услуги разных компаний, в корзине витрины товары разных поставщиков.

  • Оплата товара и дополнительных услуг, таких как доставка и сборка.

  • Оплата товара или услуги с выплатой комиссии маркетплейса

Чтобы использовать эту опцию:

Реккурентные платежи

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

Мерчант может задать требуемый срок, в течение которого будет возможным использовать рекуррентный профиль (параметр является необязательным, и в случае, когда мерчант не передал параметр, вместо него будет использован срок годности карты).

Если мерчант задал pg_recurring_lifetime, больше чем срок годности карты, датой истечения годности рекуррентного профиля будет дата, до которой возможно использовать карту.

В случае, когда мерчанту нужен рекуррентный профиль без первоначального платежа, возможно задать сумму pg_amount как 0, в этом случае будет создан профиль для проведения повторных платежей.

Тестовые карты

Все новые мерчанты первоначально находятся в тестовом режиме, затем после завершения тестирования и отправки мерчантом в nfcexpert.ru подписанного Акта о подключении администрация nfcexpert.ru переводит мерчант в рабочий режим.

В тестовом режиме можно использовать только тестовые платежные методы, а в рабочем режиме, наоборот, оплата тестовыми платежными методами невозможна.

После перехода мерчанта в рабочий режим можно создавать отдельные транзакции в тестовом режиме, передавая параметр pg_testing_mode в запросах на создание платежа и на получение списка платежных методов. Значение pg_testing_mode=1 включает тестовый режим для одной конкретной транзакции.

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

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

В качестве имени карте нужно указывать от 2 слов в английской раскладке.

Пароль для 3-D Secure проверки: 12345678Список тестовых карт:

Номер картыCVVСрок действияРезультат по карте
44444444444466661232024/12Блокировка по лимиту
41111111111111111232024/12Запрос успешно обработан
45639601220019993472024/12Общая ошибка
55555555555555571232024/12Банк-эмитент не смог провести авторизацию 3dsecure-карты
55555555555555991232024/12Запрос успешно обработан
44444444444444221232024/12Общая ошибка
44444444111111111232024/12Общая ошибка
44444444999999991232024/12Ошибка связи 3DS

Формирование подписи

Любые сообщения (запросы и ответы) между nfcexpert.ru и мерчантом подписываются. Для формирования подписи необходимо конкатенировать с разделителем ;

  1. имя вызываемого скрипта (от последнего / до конца или ?)
  2. все поля сообщения в алфавитном порядке, включая случайную строку pg_salt, состоящую из произвольного количества цифр и латинских букв, при этом:
    a. к вложенным тегам это правило применяется рекурсивно (только XML)
    b. поля с одинаковыми именами берутся в том порядке, в котором они присутствуют в сообщении
  3. и платежный пароль secret_key, который задается в настройках магазина и известен только мерчанту и PayBox.money.

От полученной в результате конкатенации строки необходимо вычислить md5 и добавить в запрос или ответ в качестве дополнительного параметра pg_sig. MD5 хэш записывается в виде шестнадцатеричной строки в нижнем регистре (32 символа).

Любая сторона может добавлять в запрос или ответ дополнительные параметры, не указанные в документации. Эти параметры также участвуют в вычислении подписи. Сообщение не подписывается, и соответственно поля pg_salt и pg_sig отсутствуют только в одном случае – когда nfcexpert.ru не смог идентифицировать мерчанта и поэтому не знает его secret_key.

Функции

  • Прием платежей из любой точки мира при помощи самых распространенных и популярных способов оплаты – карт Visa, Mastercard и Мир.

  • Не требуется сайта, приходящего программиста или команды разработчиков.

  • Не требуется навыков дизайнера.

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

  • Продавайте где угодно: онлайн, на лендинг странице, в социальных сетях, по email, в whatsapp или telegram-канале, в магазине или из своей машины. Все, у кого есть ссылка, смогут в любое время оплатить ваши услуги.

  • Суммы перечисляются банком на ваш расчетный счет на следующий рабочий день, а не раз в месяц. Это помогает расти оборачиваемости капитала, а значит и росту вашего бизнеса.

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

  • Не нужны онлайн-кассы. Не нужно арендовать кассу, покупать каждый год фискальный накопитель, регистрировать в ФНС, заключать договор с ОФД и заниматься интеграцией со своим бизнесом. Все вопросы решены нами, а расходы по выполнению требований 54-ФЗ включены в стоимость сервиса. Онлайн чеки клиентам отправляются от имени ArsenalPay.

  • Сервис максимально безопасен. Процессинговый центр ArsenalPay защищает и обрабатывает данные по международному стандарту безопасности — Payment Card Industry Data Security Standard 3.2 level 1.

  • Уведомления о каждом платеже мгновенно приходят на ваш email. Вы сразу узнаете кто и сколько денег вам оплатил.

  • Личный кабинет и отчетность для бухгалтерии, реестры, ежемесячные акты.

Запрос на result_url магазина. результат платежа

Пример отрицательного ответа магазина

Запрос

Ответ

Пример положительного ответа магазина

Запрос

Ответ

После приема оплаты от клиента или при невозможности совершить платеж nfcexpert.ru вызывает Result URL магазина и передает на него методом Request Method информацию о результате платежа.

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

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

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

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

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

Ответ на result_url от мерчанта

Статус rejected может быть возвращен мерчантом только в случае, когда во входящем запросе от гейта был указан параметр pg_can_reject равный 1, в противном случае, вне зависимости от ответа мерчанта, платеж будет считаться совершенным.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *