Skip to content

Latest commit

 

History

History
90 lines (64 loc) · 7.83 KB

00-sale-transactions.md

File metadata and controls

90 lines (64 loc) · 7.83 KB

Sale transactions

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

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

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

Запрос "sale"

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

Пример самообновляющейся страницы

Обязательные параметры запроса
Поле запроса Цепочка свойств платежа Правило валидации
client_orderid payment.clientId Validator::ID
order_desc payment.description Validator::LONG_STRING
amount payment.amount Validator::AMOUNT
currency payment.currency Validator::CURRENCY
address1 payment.billingAddress.firstLine Validator::MEDIUM_STRING
city payment.billingAddress.city Validator::MEDIUM_STRING
zip_code payment.billingAddress.zipCode Validator::ZIP_CODE
country payment.billingAddress.country Validator::COUNTRY
phone payment.billingAddress.phone Validator::PHONE
ipaddress payment.customer.ipAddress Validator::IP
email payment.customer.email Validator::EMAIL
card_printed_name payment.creditCard.cardPrintedName Validator::LONG_STRING
credit_card_number payment.creditCard.creditCardNumber Validator::CREDIT_CARD_NUMBER
expire_month payment.creditCard.expireMonth Validator::MONTH
expire_year payment.creditCard.expireYear Validator::YEAR
cvv2 payment.creditCard.cvv2 Validator::CVV2
redirect_url queryConfig.redirectUrl Validator::URL
Необязательные параметры запроса
Поле запроса Цепочка свойств платежа Правило валидации
first_name payment.customer.firstName Validator::MEDIUM_STRING
last_name payment.customer.lastName Validator::MEDIUM_STRING
ssn payment.customer.ssn Validator::SSN
birthday payment.customer.birthday Validator::DATE
state payment.billingAddress.state Validator::COUNTRY
cell_phone payment.billingAddress.cellPhone Validator::PHONE
destination payment.destination Validator::LONG_STRING
site_url queryConfig.siteUrl Validator::URL
server_callback_url queryConfig.callbackUrl Validator::URL

Пример выполнения запроса sale

Запрос "status"

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

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

В том случае, если статус платежа не изменился (значение поля status - processing) и нет необходимости в дополнительных шагах авторизации, то запустить проверку статуса еще раз.

Необходима 3D-аторизация

В ответе на запрос будет передано поле html, содержимое которого необходимо вывести на экран браузера клиента. Содержимое поля представляет собой форму, которая переадресует пользователя для выполнения 3D-авторизации.

Обработка платежа завершена

В ответе на запрос поле status содержит результат обработки платежа - approved, filtered, declined, error

Обязательные параметры запроса
Поле запроса Цепочка свойств платежа Правило валидации
client_orderid payment.clientId Validator::ID
orderid payment.paynetId Validator::ID
login queryConfig.login Validator::MEDIUM_STRING

Пример выполнения запроса status

Обработка результата платежа после 3D-авторизации

Если при обработке платежа выполнялась 3D-авторизация, то при возвращении пользователя с формы авторизации на сервис мерчанта будут переданы данные с результатом обработки платежа. Обработка этих данных совпадает с обработкой данных для sale-form, preauth-form или transfer-form и описана в базовом примере использования библиотеки.

Обработка обратного вызова

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