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 标头的主要内容,如果未能解决你的问题,请参考以下文章

使用 Paypal REST API 时需要 API 证书

带有付款的 PayPal REST API 交叉参考交易

REST api 中的 Paypal 自适应支付

使用 REST api 执行 PayPal 付款

Paypal Rest API - 如何获取客户端 ID 和密码?

使用 Paypal REST API 创建付款