Paypal REST API - 在 RedirectUrls() 中发送 GET 标头
Posted
技术标签:
【中文标题】Paypal REST API - 在 RedirectUrls() 中发送 GET 标头【英文标题】:Paypal REST API - Sending GET Headers in RedirectUrls() 【发布时间】: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 基础知识……php.net/manual/en/… 【参考方案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'。
【讨论】:
还是错了……变量解析根本不会发生在用单引号分隔的字符串中。 是的,很好,我复制原件时忘记更改它们。以上是关于Paypal REST API - 在 RedirectUrls() 中发送 GET 标头的主要内容,如果未能解决你的问题,请参考以下文章