调用PayPal Payments API遇请求不匹配错误求助
解决PayPal Payments API的"MALFORMED_REQUEST"错误
嘿,我之前踩过一模一样的坑!看了你的请求JSON,问题其实出在一个很容易忽略的格式细节上——funding_instruments字段必须是数组类型,但你写成了单个对象,这就导致PayPal的API无法正确解析你的请求,直接抛出了MALFORMED_REQUEST错误。
你看,PayPal的文档里虽然只说这些是必填参数,但对结构的要求很严格:哪怕你只有一个付款工具,funding_instruments也得用数组包裹起来。
给你修正后的完整请求JSON:
{ "intent": "sale", "payer": { "payment_method": "credit_card", "funding_instruments": [ { "credit_card_token": { "credit_card_id": "CARD-XXXXXXXXXXXXXXXXXXXXXXXX" } } ] } }
另外再给你两个额外的排查点,避免以后再踩类似的坑:
- 一定要确保请求的
Content-Type请求头设置为application/json,很多时候忘记加这个头,哪怕JSON格式正确,API也会识别不了 - 确认你的
credit_card_id是有效的测试令牌(如果是沙箱环境)或者生产环境的合法令牌,无效的ID有时候也会触发格式类的错误提示
内容的提问来源于stack exchange,提问作者David Byers
相关产品推荐
相关产品推荐

