我的服务器调用 v2/checkout/orders/paypal 沙箱返回 404 Not Found

Posted

技术标签:

【中文标题】我的服务器调用 v2/checkout/orders/paypal 沙箱返回 404 Not Found【英文标题】:my server call v2/checkout/orders/ paypal sandbox return 404 Not Found 【发布时间】:2020-04-08 23:00:42 【问题描述】:

1:我使用ios客户端创建订单,得到如下响应

货币代码:美元

金额:21.47

简短描述:时髦服装

意图:销售

可处理:已处理

显示:21.47 美元

确认:

client =     

    environment = sandbox;

    "paypal_sdk_version" = "2.18.1";

    platform = iOS;

    "product_name" = "PayPal iOS SDK";

;

response =     

    "create_time" = "2019-12-16T12:12:48Z";

    id = "PAYID-LX3XJQI4U759055JE198303J";

    intent = sale;

    state = approved;

;

"response_type" = payment;

详细信息:小计:12.98,运费:5.99,税:2.5

收货地址:(null)

发票编号:(空)

自定义:(空)

软描述符:(空)

收款人电子邮件:(空)

BN 码:(空)

商品:“1|破洞旧牛仔裤|4.99|USD|Hip-00037”

项目:'1|免费彩虹补丁|0.00|USD|Hip-00066'

商品:'1|长袖格子衬衫(不包括胡须)|7.99|USD|Hip-00291'

2:我可以在https://developer.paypal.com/developer/notifications/看到交易

sb-g8ehg 个人例子

您支付给 Doe John 的收据

16 De[移除。电话号码不允许]/td>

3:我的服务器端想要获取付款明细,但是 404

curl -v -X GET https://api.sandbox.paypal.com/v2/checkout/orders/PAYID-LX3XJQI4U759055JE198303J -H "Content-Type: application/json" -H "Authorization: Bearer A21AAHMxaNfgH67r9uGcKMtCHHMo-VDQHf4WGBEZIbzEtBo7_bSMXArvTYGEUub_gT3s2_XRCJJNbgdXTd9mmZiANBs2URVUg"

注意:不必要地使用 -X 或 --request,GET 已被推断出来。

正在尝试 173.0.82.78...

TCP_NODELAY 设置

连接到 api.sandbox.paypal.com (173.0.82.78) 端口 443 (#0)

ALPN,提供 h2

ALPN,提供 http/1.1

密码选择:ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

成功设置证书验证位置:

CA 文件:/etc/ssl/cert.pem

CApath:无

TLSv1.2 (OUT)、TLS 握手、客户端问候 (1):

TLSv1.2 (IN)、TLS 握手、服务器问候 (2):

TLSv1.2 (IN)、TLS 握手、证书 (11):

TLSv1.2 (IN)、TLS 握手、请求 CERT (13):

TLSv1.2 (IN),TLS 握手,服务器完成 (14):

TLSv1.2 (OUT)、TLS 握手、证书 (11):

TLSv1.2 (OUT)、TLS 握手、客户端密钥交换 (16):

TLSv1.2 (OUT),TLS 更改密码,客户端问候 (1):

TLSv1.2 (OUT),TLS 握手,完成 (20):

TLSv1.2 (IN),TLS 更改密码,客户端问候 (1):

TLSv1.2 (IN),TLS 握手,完成 (20):

使用 TLSv1.2 / AES256-SHA256 的 SSL 连接

ALPN,服务器不同意协议

服务器证书:

主题:C=US; ST=加利福尼亚; L=圣何塞; O=贝宝公司; OU=贝宝生产; CN=api.sandbox.paypal.com

开始日期:格林威治标准时间 2018 年 8 月 21 日 00:00:00

到期日期:格林威治标准时间 2020 年 8 月 20 日 12:00:00

subjectAltName:主机“api.sandbox.paypal.com”匹配证书的“api.sandbox.paypal.com”

发行人:C=US; O=DigiCert 公司; CN=DigiCert 全球 CA G2

SSL 证书验证正常。

GET /v2/checkout/orders/PAYID-LX3XJQI4U759055JE198303J HTTP/1.1

主机:api.sandbox.paypal.com

用户代理:curl/7.54.0

接受:/

内容类型:application/json

授权:承载 A21AAHMxaNfgH67r9uGcKMtCHHMo-VDQHf4WGBEZIbzEtBo7_bSMXArvTYGEUub_gT3s2_XRCJJNbgdXTd9mmZiANBs2URVUg

>

与主机 api.sandbox.paypal.com 的连接 #0 保持不变

"name":"RESOURCE_NOT_FOUND","details":["issue":"INVALID_RESOURCE_ID","description":"指定的资源ID不存在,请检查资源ID重试。"] ,"message":"指定的资源不存在。","debug_id":"d59bbbad78a81","links":

【问题讨论】:

【参考方案1】:

您使用的 SDK 似乎没有实现 v2/checkout/orders,因此当您请求 PAYID 时,它是 404 Not Found

也许 SDK 实现了 v1/payments 或 v2/payments

【讨论】:

是的,下面的是我的工作卷曲-v-x get api.sandbox.paypal.com/v1/payments/payment/… -h“内容类型:application / json”-h“授权:持票人a21aahp5hclgyokwjvybqyg4n98p8mqx2stgx6natjtk0-j8tndio_aoewevvok4r-tlpw7iejoyqdekiz3edci1tt4slzozw”跨度>

以上是关于我的服务器调用 v2/checkout/orders/paypal 沙箱返回 404 Not Found的主要内容,如果未能解决你的问题,请参考以下文章

如何用JavaScript调用我的Go服务器?

Node JS:只允许服务器端调用我的 api

如何确定由我的 Ajax 调用导致的内部服务器错误的原因?

为啥我的 Windows CE 设备无法成功调用服务器的 REST 方法?

Flutter:为啥我的构建器在 Web 服务调用后没有重新加载?

Ngxs - 调用 Angular 服务:好的做法?