Убедитесь, что идентификатор заказа существует - PayPal - PullRequest
1 голос
/ 27 апреля 2020

Я перенаправляю пользователя на страницу с кнопками Smart Payment, передавая идентификатор заказа в URL

example.site?orderid=D23F34492211

, но если пользователь меняет URL, javascript будет получать идентификатор, который не ' не существует. В конце концов, транзакция не будет завершена, однако она просто закроет лайтбокс PayPal, а также опцию кредитной карты, без сообщения об ошибке.

Ошибка, которую она выдает, выглядит следующим образом:

Fatal error: Uncaught PayPalHttp\HttpException: {"name":"RESOURCE_NOT_FOUND","details":[{"issue":"INVALID_RESOURCE_ID","description":"Specified resource ID does not exist. Please check the resource ID and try again."}],"message":"The specified resource does not exist.","debug_id":"9d62d83a871b8","links":

Есть ли способ получить этот ответ как json или получить код ошибки от API и показать сообщение об ошибке пользователю? Если нет, как лучше проверить, существует ли идентификатор заказа или нет?

1 Ответ

1 голос
/ 27 апреля 2020

Вы не должны передавать идентификатор заказа через URL, вы должны получать его со своего сервера. Тогда вы узнаете, что это действительно.

В любом случае, ваш вопрос - проверка статуса идентификатора заказа с помощью вызова API. Это не обязательно делать это. Вы не должны делать это. Но если вы настаиваете на этом, есть вызов API, который вы можете использовать. https://developer.paypal.com/docs/api/orders/v2/#orders_get

Этот вызов API должен выполняться с вашего сервера, поэтому, если вы хотите вызывать его с клиента, вам нужно будет построить маршрут промежуточной точки на вашем сервере. (Опять же, нет никакого смысла делать это, и это будет напрасной тратой усилий)

Фактический правильный способ сделать это - получить идентификатор заказа с вашего сервера, как упоминалось: https://developer.paypal.com/demo/checkout/# / шаблон / сервер

...