paypal express checkout - 400 错误请求
Posted
技术标签:
【中文标题】paypal express checkout - 400 错误请求【英文标题】:paypal express checkout - 400 bad request 【发布时间】:2017-05-31 22:43:52 【问题描述】:我正在使用这条指令https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/advanced-integration/ 来设置贝宝。唯一不同的是我需要将数据发送到 CREATE_PAYMENT_URL 端点,所以我将其作为第二个参数传输
paypal.request.post(
CREATE_PAYMENT_URL,
JSON.stringify(["name": "test", "price": 10]),
headers: 'Content-Type': 'application/json'
)
之后我收到 400 错误
"success":false,"errors":"statuscode":400,"message":"Invalid json message received"
后端无关紧要,因为它永远无法到达。而且我几乎可以肯定它几天前工作正常 有什么想法吗?
提琴手屏幕
【问题讨论】:
【参考方案1】:尝试将第二个参数设置为 null,并发送一个选项对象作为第三个参数,第三个参数名为 json
的对象,其中包含一个普通的 JS 对象。
paypal.request.post(PAYMENT_URL, null,
json :
name:'test',
price:10
)
它不在文档中,我遇到了类似的问题,但在源代码中进行了挖掘以使其正常工作。
【讨论】:
谢谢你,它有效,你是救生员。但是wtf?它可能在 2 周前运行良好,并且在第二个参数的文档数据中。如果您将第二个参数设置为 null,那么它现在意味着什么? 它必须被数百万人使用,我不敢相信贝宝破坏了一切,集成文档中的示例不起作用。也许它只适用于沙盒或类似的东西? 是的,他们在文档中提到将其作为第二个参数,但我注意到如果您这样做,除非您执行 null / 第三个参数,否则它不会让您作为 json 发送。奇怪的是它没有被提及!他们必须更改了他们使用的 http 库才能完成这项工作。 谢谢,我已经向贝宝发布了请求,他们告诉我我是第一个抱怨这个问题的人,他们正在调查。我一得到答案就会在这里发布答案 现在我有另一个问题,它没有显示弹出窗口。错误:拒绝在框架中显示“sandbox.paypal.com/ru/cgi-bin/…”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。几天前就开始工作了。有什么想法吗?以上是关于paypal express checkout - 400 错误请求的主要内容,如果未能解决你的问题,请参考以下文章
PayPal Express Checkout 通行证 transactionID
如何为 PayPal Express Checkout 配置 IPN?
如何访问 Paypal Express Checkout 的响应?
paypal express checkout - 400 错误请求