Список запросов сценария:
- В данной статье описывается исключительно работа с библиотекой. Полная информация о выполнении Transfer transactions расположена в документации PaynetEasy.
- Описание правил валидации можно найти в описании метода Validator::validateByRule().
- Описание работы с цепочками свойств можно найти в описании класса PropertyAccessor
Запрос применяется для получения id для кредитной карты, сохраненной на стороне PaynetEasy. Этот id позволяет совершать повторные платежи без ввода данных кредитной карты как на стороне сервиса мерчанта так и на стороне PaynetEasy. Перед выполнением этого запроса необходимо выполнить один из следующих сценариев для проверки данных, которые ввел клиент:
Поле запроса | Цепочка свойств платежа | Правило валидации |
---|---|---|
client_orderid | payment.clientId | Validator::ID |
orderid | payment.paynetId | Validator::ID |
login | queryConfig.login | Validator::MEDIUM_STRING |
Пример выполнения запроса create-card-ref
После выполнения данного запроса будет получен id сохраненной кредитной карты и создан объект RecurrentCard. Получить доступ к RecurrentCard можно с помощью вызова $paymentTransaction->getPayment()->getRecurrentCardFrom()
, а к ее id с помощью вызова $paymentTransaction->getPayment()->getRecurrentCardFrom()->getCardReferenceId()
Запрос применяется для перевода определенной суммы с одного счета на другой. Перед выполнением этого запроса необходимо как минимум один запрос create-card-ref, для получения id сохраненной карты, на которую производится перевод средств. Если перевод выполняется между двумя картами клиентов, то необходимо выполнить два запроса create-card-ref, для получения id сохраненных карт, между которымы переводятся средства. После выполнения данного запроса необходимо выполнить серию запросов "status" для обновления статуса платежа. Для этого сервис мерчанта может вывести самообновляющуюся страницу, каждая перезагрузка которой будет выполнять запрос "status".
Поле запроса | Цепочка свойств платежа | Правило валидации |
---|---|---|
client_orderid | payment.clientId | Validator::ID |
amount | payment.amount | Validator::AMOUNT |
currency | payment.currency | Validator::CURRENCY |
ipaddress | payment.customer.ipAddress | Validator::IP |
destination-card-ref-id | payment.recurrentCardTo.paynetId | Validator::ID |
login | queryConfig.login | Validator::MEDIUM_STRING |
Поле запроса | Цепочка свойств платежа | Правило валидации |
---|---|---|
order_desc | payment.description | Validator::LONG_STRING |
source-card-ref-id | payment.recurrentCardFrom.paynetId | Validator::ID |
cvv2 | payment.recurrentCardFrom.cvv2 | Validator::CVV2 |
redirect_url | queryConfig.redirectUrl | Validator::URL |
server_callback_url | queryConfig.callbackUrl | Validator::URL |
Пример выполнения запроса transfer-by-ref
Запрос применяется для проверки статуса платежа. Обычно требуется серия таких запросов из-за того, что обработка платежа занимает некоторое время. В зависимости от статуса платежа обработка результата этого запроса может происходить несколькими путями.
В том случае, если статус платежа не изменился (значение поля status - processing) и нет необходимости в дополнительных шагах авторизации, то запустить проверку статуса еще раз.
В ответе на запрос поле status содержит результат обработки платежа - approved, filtered, declined, error
Поле запроса | Цепочка свойств платежа | Правило валидации |
---|---|---|
client_orderid | payment.clientId | Validator::ID |
orderid | payment.paynetId | Validator::ID |
login | queryConfig.login | Validator::MEDIUM_STRING |
Пример выполнения запроса status
После завершения обработки платежа на стороне PaynetEasy, данные с результатом обработки передаются в сервис мерчанта с помощью обратного вызова. Это необходимо, чтобы платеж был обработан сервисом мерчанта независимо от того, выполнил пользователь корректно возврат с шлюза PaynetEasy или нет. Подробнее о Merchant callbacks