PayPal PHP SDK - 不返回 GET 变量“成功”

Posted

技术标签:

【中文标题】PayPal PHP SDK - 不返回 GET 变量“成功”【英文标题】:PayPal PHP SDK - Not returning GET variable 'success' 【发布时间】:2018-05-05 15:02:30 【问题描述】:

使用 PayPal php SDK 我正在创建付款并接收 JSON 响应,如下例所示,它看起来有效并包含授权 URL,例如:

https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-5W411607PA915392K

我转到 URL,登录,然后它使用以下 GET 变量将我重定向回我的站点:

paymentId=PAY-67S97196TG1078736LIKMI4Q&token=EC-37412549V2519404X&PayerID=DNZQ8C57C7P6Q

问题是根据这里的示例 (http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/ExecutePayment.html) 我需要检查 $_GET['success'] 以查看是否成功。但是,如您所见,我的回复中没有得到该变量,只有上述三个。

我正在使用位于此处的 PayPall PHP SDK:https://github.com/paypal/PayPal-PHP-SDK

这是一个类似问题的链接:Paypal PHP SDK REST is not returning any "success" variable

【问题讨论】:

【参考方案1】:

“成功”不会自动到来。当您进行初始 POST /Payments 调用时,您需要包含以下内容

$baseUrl = getBaseUrl();
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("$baseUrl/ExecutePayment.php?success=true")
    ->setCancelUrl("$baseUrl/ExecutePayment.php?success=false");

看看这个 [http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html][1]

基本上只需确保将成功返回 URL 指定为类似 www.mysite.com/successpage.html?success=true 的内容。 PYPL 将附加 paymentId=PAY67S97196TG1078736LIKMI4Q&token=EC37412549V2519404X&PayerID=DNZQ8C57C7P6Q

【讨论】:

我正在使用类似的方法,使用 curl PHP。我在成功页面上接收获取变量时遇到问题。从此做了一切。它插入记录和所有内容,但成功页面失败,因为我没有在 success.php codexworld.com/paypal-standard-payment-gateway-integration-php 上获取 GET 变量 有什么帮助吗?如何在我提供的链接中实现。

以上是关于PayPal PHP SDK - 不返回 GET 变量“成功”的主要内容,如果未能解决你的问题,请参考以下文章

与 Paypal 的 PHP REST SDK 的支付协议

通过 PHP SDK 的 PayPal REST API 返回“传入的 JSON 请求未映射到 API 请求”

PayPal SDK 沙​​盒模式返回带有错误链接的响应

PayPal Plus / PHP SDK - 使用银行帐户/借记卡付款

发票 PayPal-PHP-SDK 中的 Paypal notify_url

使用 PayPal-PHP-SDK 进行第三方支付的 Paypal 沙盒测试