Перенаправление результата на страницу коммерсанта
Для того, чтобы на шаге 3 или 8 вместо стандартной страницы результата eCom коммерсант мог отобразить клиенту свою страницу результата на своем сайте, нужно передать адрес этой страницы в параметре BACKREF и добавить в адрес параметр redirect=true. В этом случае к указанному адресу будут добавлены параметры результата операции, и браузер клиента будет перенаправлен на этот адрес методом GET.
Параметр | Описание |
---|---|
order | Номер заказа |
mpi_order | Номер заказа MPI |
rrn | RRN (возвращается в REF, только в случае успешной операции) |
res_code | Код результата операции: 0 - Операция успешно завершена иначе – код ошибки |
amount | Сумма операции |
currency | Валюта операции |
res_desc | Описание результата из MPI |
sign | Подпись |
Например, если указать в BACKREF адрес https://www.google.kz?redirect=true то браузер будет перенаправлен на адрес:
Алгоритм проверки подписи sign следующий: нужно собрать в одну строку значения всех полей заказа в указанном в таблице порядке через разделитель «;», затем добавить эту строку к значению секретного ключа SHARED_SECRET (этот ключ индивидуальный для каждого коммерсанта), и вычислить из полученной строки значение хэш SHA512. В строках desc, res_desc перед обработкой нужно убрать все переносы строк. Например, на PHP это будет выглядеть примерно так:
vSign=hash("sha512",
C_SHARED_KEY
.$_POST["order"].";"
.$_POST["mpi_order"].";"
.$_POST["rrn"].";"
.$_POST["res_code"].";"
.$_POST["amount"].";"
.$_POST["сurrency"].";"
.preg_replace("/\n|\r/g","",$_POST["res_desc"]).";" );
Обратите внимание! В продуктовой системе на сервере коммерсанта обязательно должна быть проверка значения sign для исключения подделки результата заказа!
Секретный ключ SHARED_SECRET ни в коем случае не должен быть доступен кому-либо вне Вашего сервера!