Данная функция дополняет функцию r_check_order. Если r_check_order возвращает статус «closed_ok» только в случае успешного завершения платежа, то функция r_async_order_status используется на более раннем этапе и возвращает статус «ok» в случае успешной инициализации платежа на стороне платёжного сервиса. После этого чаще всего пользователя необходимо перенаправить на сайт платёжного сервиса для завершения оплаты.
Данная функция не проверяет окончательное проведение платежа, для это следует использовать метод r_check_order.
ID функции
r_async_order_status
Кто может вызывать
Авторизованный пользователь.
Авторизованное приложение.
Принимаемые параметры
order_id* – номер заказа, полученный в результате выполнения запроса w_creditcard_init.
Возвращаемые значения
status* – статус инициализации. Возвращается одно из следующих значений:
- init – заказ ещё не обработан;
- sending – заказ в процессе обработки;
- ok – инициализация прошла успешна. В случае ребилла и, если не получен запрос 3DS аутентификации, статус «ок» означает, что ребилл прошёл успешно;
- error – в процессе инициализации возникли ошибки;
redirect_uri – URL платёжной формы, на который следует перенаправить пользователя для дальнейшего осуществления оплаты;
ACSUrl, PaReq, ThreeDSKey – будут возвращены в случае оплаты ребиллом через MAP и при необходимости 3DS аутентификации. Их следует обрабатывать как описано в https://mapisacard.com/podkluchenie/integration/documentacia-api/#Block3DS.
Возможные ошибки
error_code | error_message | Описание |
---|---|---|
101019 | Invalid order id | Не передан номера заказа или номер не является числом |
101251 | The order doesn't exist | Заказ с таким номером не существует |
101252 | Access denied | Запрашивающий пользователь не является создателем заказа |
101253 | Wrong data for 3DS authentication | Внутренняя ошибка. От MAP получены неверные данные для 3DS аутентификации |
101254 | Payment error | Ошибка непосредственно проведения платежа. Текст ошибки варьируется в зависимости от причины. |
Пример запроса на сервер
{ "sha" : "13aeec8fa6538ea33dbaa9918c264cb060d87f035ee0f196c774c1ee11f194df", "time" : "2018-12-07T23:27:33+03:00", "sid" : "5e0tbob0cy9f6c6fex2z713v8bfq98dg", "app" : 1, "requests" : [ { "func" : "r_async_order_status", "param" : { "order_id" : "1236" }, "id" : "r_async_order_status" } ] }
Примеры ответа сервера
Успешная инициализация платежа через MAP:
{ "time" : "2018-12-07T23:27:36+03:00", "success" : true, "r_async_order_status" : { "status" : "ok", "redirect_uri" : "https://api-stage.mapisacard.com/createPayment?SessionId=1E1NE2ATWtCq4QDLmHHExsG8qSb", "success" : true } }
Успешная инициализация платежа ребиллом через MAP. Потребовалась 3DS аутентификация:
{ "r_async_order_status" : { "PaReq" : "eJxVUstuwjAQ/BWUe7EdTHhoMQqPqlCVQAsqt8pyXJKKxMFxEO3X1w5Qym1md7UzOzYMT9m+cZS6TFU+8EgTew2ZCxWn+W7gbdaPD11vyGCdaCknb1JUWjJ4kWXJd7KRxgNvGb7KQ38bFhNOVgGNBA2y6D36IBENPQZ1m8FFgNn9TR/QldpNWiQ8Nwy4OIxmC0Y7OAgooAuFTOrZhIWj0RRjTACdOeQ8k64KqEYgVJUb/c0C2gJ0JVDpPUuMKfoIlYkqjCxNM+NFU6gMkGsCuhlYVg6VdtkpjRmlSMy/FjiIWtt5Hup0TF5+lkHPzHcDQG4CYm4k8zHpEh93GrjXb9N+21qs68Az54IRaxvbc84MCicS3rX+l8Dmq23810OuDOSpULm0Eza8PwyxLAUjfqtjRR0EdDti/OQyFcalx5e+3n7Oj89a7VbVNJ2N441KVKcXZy7peshJpDY038fdWsMRQG4Nujwiury7RXf/4Rc/6r4W", "status" : "ok", "success" : true, "ThreeDSKey" : "4535-19EB3D43D8015CF5", "ACSUrl" : "https://ecomtest.akbars.ru:9702/way4acs/pa?id=XApDa1Q64Oc46mOWO_1O4A" }, "success" : true, "time" : "2018-12-07T23:36:27+03:00" }