我几乎整整两天都在尝试解决与 PayPal 相关的问题。 我试图在用户批准后执行付款,但每次发送 Curl 请求时我都会收到 MALFORMED_REQUEST。
def execute
# Get the access_token
token = get_paypal_token(false)
payer_id = params[:PayerID]
payment_id = params[:paymentId]
# Creating the data object
stringJson = {:payer_id => "#{payer_id}"}
# You can see that I hard-coded the payer_id to ensure the JSON is correct
curlString = `curl -v -H "Authorization: Bearer #{token}" -H "Content-Type: application/json" -d '{"payer_id" : "QULQSFESGMCX2"}' https://api.sandbox.paypal.com/v1/payments/payment/#{payment_id}/execute/`
end
响应是:
"{\"name\":\"MALFORMED_REQUEST\",\"message\":\"The request JSON is not well formed.\",\"information_link\":\"https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST\",\"debug_id\":\"6431589715660\"}"
最佳答案
看起来您是从 Windows 运行它。我从我的窗口尝试了您的命令,我的测试服务器接收 json 作为 '{payer_id
。这是因为你的单引号而发生的。
我已将单引号更改为双引号,并且在这里工作正常。
-d "{\"payer_id\" : \"QULQSFESGMCX2\"}"
您可以从控制台运行 curl 命令并查看会发生什么,之后您可以将其推送到您的 ruby 脚本代码中。
关于ruby-on-rails - PayPal 上的 MALFORMED_REQUEST 执行付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35016850/