Данная функция дополняет функцию 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

Не передан номера заказа или номер не является числом

101251The order doesn't existЗаказ с таким номером не существует
101252Access deniedЗапрашивающий пользователь не является создателем заказа
101253Wrong data for 3DS authenticationВнутренняя ошибка. От MAP получены неверные данные для 3DS аутентификации
101254Payment 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"
}