【问题标题】:Paypal REST API - Sending GET Headers in RedirectUrls()Paypal REST API - 在 RedirectUrls() 中发送 GET 标头
【发布时间】:2016-05-14 23:08:44
【问题描述】:

Paypal 付款完成后,我正尝试将某人在我的应用中为某件商品支付的价格发送到我的重定向 URL。

//Redirect
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl(SITE_URL . '/paypal/pay.php?sucess=true&paid={$price}')
    ->setCancelUrl(SITE_URL . '/paypal/pay.php?sucess=false');

变量 &paid={$price} 应该将商品的价格发送到 URL,但我收到 400 错误:

异常 'PayPal\Exception\PayPalConnectionException' 并带有消息“访问 https://api.sandbox.paypal.com/v1/payments/payment 时获得 Http 响应代码 400。”在 /home1//public_html/Clients/rust/paypal/vendor/paypal/rest-api-sdk-php/lib/PayPal/Core/PayPalHttpConnection.php:174 堆栈跟踪:#0 /home1//public_html/Clients/rust/paypal/vendor/paypal/rest-api-sdk-php/lib/PayPal/Transport/PayPalRestCall.php(74): PayPal\Core\PayPalHttpConnection->execute('{"intent": "销售...') #1 /home1//public_html/Clients/rust/paypal/vendor/paypal/rest-api-sdk-php/lib/PayPal/Common/PayPalResourceModel.php(102): PayPal \Transport\PayPalRestCall->execute(Array, '/v1/payments/pa...', 'POST', '{"intent":"sale...', NULL) #2 /home1/ /public_html/Clients/rust/paypal/vendor/paypal/rest-api-sdk-php/lib/PayPal/Api/Payment.php(579): PayPal\Common\PayPalResourceModel::executeCall('/v1/payments/pa ...', 'POST', '{"intent":"sale...', NULL, Object(PayPal\Rest\ApiContext), NULL) #3 /home1/*/public_html/Clients/rust/paypal/ checkout.php(69): PayPal\Api\Payment->create(Object(PayPal\Rest\ApiContext)) #4 {main}

如果我从重定向中删除变量,一切都会正常工作。
任何想法为什么这不起作用?

【问题讨论】:

标签: php api paypal paypal-rest-sdk http-status-code-400


【解决方案1】:

去掉大括号,使用双引号("):

//Redirect
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl(SITE_URL . "/paypal/pay.php?success=true&paid=$price")
->setCancelUrl(SITE_URL . '/paypal/pay.php?success=false');

*success 有两个 'c'。

【讨论】:

  • 还是错了……变量解析根本不会发生在用单引号分隔的字符串中。
  • 是的,很好,我复制原件时忘记更改它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多