Ви знаходитеся тут: Головна / Подключение по протоколу https / NOTIFY

NOTIFY

створив(ла) Igor Uleschenko Востаннє змінено: Лют 10, 2020 15:18

 

UKRAINIAN PROCESSING CENTER

Kyiv

 

 

 

logo_ecommerce_3.jpg


Доставка ответа по адресу NOTIFY_URL

 

 

 

 

 

 

 

 

Версия: 1.1

 

 

 

Доставка ответа по адресу NOTIFY_URL

 

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


1) сбой работы браузера, зависание;
2) неадекватное поведение пользователя в момент передачи ответа;
3) пропадание соединения с интернет-провайдером
4) неправильная работа браузера при установленных пакетах защиты, которые могут вносить изменения в работу браузера.


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


Для начала работы с данной схемой необходимо в интерфейсе администратора в разделе терминалы прописать адрес куда будет осуществляется отправка данных сообщений.
Торговая система (электронный магазин) передает ряд параметров при переходе на защищенную страницу шлюза:

.
<form action="https://secure.upc.ua/go/enter" method="post" >
<input name="Version" type="hidden" value="1" />
<input name="MerchantID" type="hidden" value="1752493" />
<input name="TerminalID" type="hidden" value="E7880293" />
<input name="PurchaseTime" type="hidden" value="090929152500" />
<input name="OrderID" type="hidden" value="ID0009992" />
<input name="Currency" type="hidden" value="980" />
<input name="TotalAmount" type="hidden" value="500" />
<input name="locale" type="hidden" value="ru" />
<input name="PurchaseDesc" type="hidden" value="Tarns_test_UPC" />
<input name="Signature" type="hidden"value="TEST_TEST"/>
<input type="submit"/>
</form>

.
Платежный шлюз инициирует отправку сообщения. Отправка осуществляется с ip адреса для тестового сервера – 195.85.198.16, для рабочего – 195.85.198.15 . Результаты обработки передаются методом HTTP/HTTPS POST со стороны шлюза на страницу магазина (80/443 порты).


Notify request message:


PurchaseTime = '090929152500'
ProxyPan = '499999*******0011'
Currency = '980'
ApprovalCode = '111111'
MerchantID = '1752493'
OrderID = '111111111111111111'
Signature = test'
Rrn = '2222222222'
XID = '333333-4444444'
Email = 's.sichnoy@upc.ua'
SD = '24ee6084a5343e3d'
TranCode = '000'
TerminalID = 'E7880293'
TotalAmount = '500'

.
Магазин возвращает ответ в теле выполняемой страницы. Каждый параметр и его значение в виде Параметр=Значение возвращаются на новой строке. Строки разделяются символом разделителя строк.
В ответе, дополнительно к оригинальным значениям параметров (MerchantID, TerminalID, OrderID, Currency, TotalAmount, XID, PurchaseTime), возвращает 3 новых параметра :

Параметр Значение Описание
Response.action approve / reverse При значении ‘approve ‘ магазин со своей стороны подтверждает сделку
При значении ‘reverse’ шлюз делает
откат успешной транзакции и
устанавливает признак завершения 503
– «Транзакция отменена магазином»
Response.reason An … 255 Пояснение ответа магазина (опционально),
например – причина для значения Response.action
Формирование данного поля осуществляется на стороне магазина и необходимо оно сугубо для потреб магазина, у нас протоколируется только в логах транзакции.
Response.forwardUrl An … 255 Значение URL для редиректа браузера
пользователя, вместо
SUCCESS_URL или FAILURE_URL
Дает возможность использования динамических ссылок для переадресации клиента.

 

echo "MerchantID="1752493"\n";
echo "TerminalID="E7880293"\n";
echo "OrderID="ID0009992"\n";
echo "Currency="980"\n";
echo "TotalAmount="980"\n";
echo "XID="333333-4444444"\n";
echo "PurchaseTime="090929152500"\n";
echo "Response.action=\n";
echo "Response.reason=\n";
echo "Response.forwardUrl=\n;

 


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

n1.jpg

 

В случае если по каким то причинам схема доставки ответа со стороны шлюза не отработала - транзакция будет автоматически отменена.

n2.jpg

В данном случае оригинальная транзакция имеет тип операции покупка и код транзакции 504/Данный запрос на оплату не разрешен платежным шлюзом, откат произведенный в автоматическом режиме платежным сервером имеет код транзакции 000/Транзакция завершена успешно.


Далее представлена логика доставки ответа со стороны шлюза.

2.jpg

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