paypal - 验证订单id是否存在

标签 paypal transactions

我将用户重定向到带有智能支付按钮的页面,并在 URL 中传递订单 ID

example.site?orderid=D23F34492211

但是如果用户更改 URL,JavaScript 将获取不存在的 ID。最终,交易不会完成,但是,它只会关闭 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 获取错误代码并向用户显示错误消息?如果不存在,验证订单 ID 是否存在的最佳方法是什么?

最佳答案

您不应该通过 URL 传递订单 ID,而应该从您的服务器获取它。然后您就会知道它是有效的。

无论如何,您的问题是通过 API 调用验证订单 ID 的状态。没有必要这样做。您不必这样做。但如果您坚持这样做,可以使用 API 调用。 https://developer.paypal.com/docs/api/orders/v2/#orders_get

此 API 调用应从您的服务器运行,因此如果您想从客户端调用它,则需要在服务器上构建中间件端点路由。 (再次强调,这样做是没有意义的,而且会浪费精力)

实际正确的做法是从您的服务器获取订单 ID,如前所述:https://developer.paypal.com/demo/checkout/#/pattern/server

关于paypal - 验证订单id是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61457630/

相关文章:

java - Hazelcast XATransaction 与 Bitronix 事务管理器

paypal - Reg - Card present 支付网关集成

php - Paypal IPN 设置

Paypal 余额帐户 API - INSUFFICIENT_PRIVILEGES

数据库自动提交 - 它直接进入磁盘吗?

spring - 提交事务后Spring是否关闭连接?

drupal - ubercart + paypal 付款... 2 个问题

paypal - 使用 UpdateRecurringPaymentsProfile 调用更新由 express 创建的定期付款配置文件

mysql - 对于电子商务网站来说,理想的 MySQL 事务隔离模式是什么?

postgresql - 获取函数复制的数据