paypal - 我的服务器调用 v2/checkout/orders/paypal 沙箱返回 404 Not Found
问题描述
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
收货地址:(空)
发票号码:(空)
自定义:(空)
软描述符:(空)
收款人电子邮件:(空)
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德[删除。电话号码不允许]/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 握手、Server hello (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 change cipher, Client hello (1):
TLSv1.2 (OUT),TLS 握手,完成 (20):
TLSv1.2 (IN), TLS change cipher, Client hello (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 证书验证正常。
获取 /v2/checkout/orders/PAYID-LX3XJQI4U759055JE198303J HTTP/1.1
主机:api.sandbox.paypal.com
用户代理:curl/7.54.0
接受:/
内容类型:应用程序/json
授权:承载 A21AAHMxaNfgH67r9uGcKMtCHHMo-VDQHf4WGBEZIbzEtBo7_bSMXArvTYGEUub_gT3s2_XRCJJNbgdXTd9mmZiANBs2URVUg
>
< HTTP/1.1 404 未找到
< Cache-Control: max-age=0, no-cache, no-store, must-revalidate
< 内容长度:385
< 内容类型:application/json
< 日期:周一,16 日 [已删除。电话号码不允许]GMT
< 贝宝调试 ID:d59bbbad78a81
<
- 与主机 api.sandbox.paypal.com 的连接 #0 保持不变
{"name":"RESOURCE_NOT_FOUND","details":[{"issue":"INVALID_RESOURCE_ID","description":"指定的资源ID不存在,请检查资源ID重试。"}],"message ":"指定的资源不存在。","debug_id":"d59bbbad78a81","links":
解决方案
您使用的 SDK 似乎没有实现 v2/checkout/orders,因此当您请求 PAYID 时,它是 404 Not Found
也许该 SDK 实现了 v1/payments 或 v2/payments
推荐阅读
- python - Python 客户端无法将数据发送到 Ruby 服务器
- amazon-s3 - AWS S3 使用 WebSocket 发布图像和检索
- blockchain - 0x 协议:如何使用 python 在本地签署订单
- date - Google表格中日期的奇怪行为
- python - bpf:accept() 系统调用探测中的 sin_addr 错误
- delphi - 如何保存带有名称的 FireDAC 书签列表?
- python - 去除卷积层过滤器
- r - 从多个文件中提取 HDF 格式的变量并堆栈隐蔽为光栅格式
- python - VSCode(tkinter)中根本没有显示窗口
- c++ - 关于 const 关键字作为函数中的参数