Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 7.84 KB

02-transfer-transactions.md

File metadata and controls

88 lines (61 loc) · 7.84 KB

Transfer transactions

Список запросов сценария:

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

  • В данной статье описывается исключительно работа с библиотекой. Полная информация о выполнении Transfer transactions расположена в документации PaynetEasy.
  • Описание правил валидации можно найти в описании метода Validator::validateByRule().
  • Описание работы с цепочками свойств можно найти в описании класса PropertyAccessor

Запрос "create-card-ref"

Запрос применяется для получения 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()

Запрос "transfer-by-ref"

Запрос применяется для перевода определенной суммы с одного счета на другой. Перед выполнением этого запроса необходимо как минимум один запрос 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"

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

Необходимо обновление платежа

В том случае, если статус платежа не изменился (значение поля 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