PayPal 请求不断收到 MALFORMED_REQUEST
Posted
技术标签:
【中文标题】PayPal 请求不断收到 MALFORMED_REQUEST【英文标题】:PayPal Request keep getting MALFORMED_REQUEST 【发布时间】:2015-11-12 23:44:48 【问题描述】:我尝试向 PayPal 付款。但由于某种原因,我只收到一个 MALFORMED_REQUEST 错误。 没有更多信息。甚至没有异常的 getData() 函数。
这是编译好的 JSON:
"intent": "sale",
"payer":
"payment_method": "paypal",
"payer_info":
"first_name": "Testvorname",
"last_name": "Testnachname",
"email": "test@example.com",
"suffix": "Herr"
,
"transactions": [
"amount":
"currency": "EUR",
"total": "72.00"
,
"item_list":
"items": [
"quantity": "4",
"name": "test1",
"price": "8",
"currency": "EUR"
,
"quantity": "2",
"name": "test2",
"price": "20",
"currency": "EUR"
]
],
"redirect_urls":
"return_url": "https://www.google.de",
"cancel_url": "https://www.google.de"
我不知道这个 JSON 有什么问题。 我正在使用 php SDK。
【问题讨论】:
您在此处显示的 JSON 验证正确。您确定这就是实际发送到 PayPal 的内容吗?如果您继续与之斗争,您可能想尝试this PayPal PHP SDK。它适用于 Classic API(我仍然喜欢并推荐它),并且没有任何奇怪的问题,就像我在官方 PayPal SDK 中看到的那样。许多 PayPal 集成代表实际上也更喜欢这个 SDK。 【参考方案1】:问题不在 SDK 中。您传递给贝宝服务器的数据导致了这个问题。错误信息在这里并不明显。
您不需要在“payer”对象中传递“payer_info”。删除它可以解决问题。下面是 JSON 的样子:
"intent": "sale",
"payer":
"payment_method": "paypal"
,
"transactions": [
"amount":
"currency": "EUR",
"total": "72.00"
,
"item_list":
"items": [
"quantity": "4",
"name": "test1",
"price": "8",
"currency": "EUR"
,
"quantity": "2",
"name": "test2",
"price": "20",
"currency": "EUR"
]
],
"redirect_urls":
"return_url": "https://www.google.de",
"cancel_url": "https://www.google.de"
有关更多信息,您可以随时使用 SDK 中提供的示例,以及帮助您快速帮助您调试问题的文档等。
以下是一些有用的链接:
在本地运行示例:https://github.com/paypal/PayPal-PHP-SDK/wiki/Samples 设置 SDK:https://github.com/paypal/PayPal-PHP-SDK/wiki/Making-First-Call 一般SDK信息:http://paypal.github.io/PayPal-PHP-SDK/【讨论】:
好的,谢谢,但是如果我不能使用 payer_info 对象的意义何在? 它是响应对象的一部分。当您在 REST API 中完成 paypal express 结账流程时,您将获得付款人信息。您可以在以下位置阅读可接受的字段:developer.paypal.com/webapps/developer/docs/api以上是关于PayPal 请求不断收到 MALFORMED_REQUEST的主要内容,如果未能解决你的问题,请参考以下文章
发送 Paypal 支付调用返回 400 格式错误的请求错误
我不断收到关于 paypal php 自适应支付 API 支付的错误“您的支付无法完成......”