取消url响应paypal

时间:2014-07-09 01:55:42

标签: php paypal

我是使用paypal的新手,我在1天内搜索了这个问题。我需要你的帮助。我已经完成了编码快速结账API并且我成功获得了付款交易,但我的问题是取消网址。当我取消付款时,它会返回我的取消网址,而paypal会提供此网址http://www.example.com/?token=EC-75630865LV806263H

的令牌

当客户端点击取消并返回我的取消网址时,是否可以获取有关客户端的名字,姓氏或任何信息?

如果有可能,您可以给我链接或教程,了解如何在取消网址时获取客户信息。

提前感谢。

4 个答案:

答案 0 :(得分:2)

我不会假设,因为通常在验证之前按下取消按钮,但我也没有在处理过程中尝试过。通常,流程是他们登录,确认付款并将PayPal退回到您的付款完成页面。但如果在验证后取消,则可以调用getExpressCheckoutDetails。我再也没试过。但最糟糕的情况是PayPal无法返回任何东西。

答案 1 :(得分:2)

在结帐页面上

,查找“cancel_return”隐藏表单元素:

   <input type="hidden" name="cancel_return" id="cancel_return" value="" />

将cancel_return表单元素的值设置为您希望返回的URL:

   <input type="hidden" name="cancel_return" id="cancel_return" value="http://royaltytech.in" />

答案 2 :(得分:2)

我编写了我的代码,以便在运行时生成cancelurl。所以在发送支付交易有效负载之前,我设置了取消网址,如下所示:

$settings->cancelurl = 'http://www.example.com';

if($_SESSION['customer_ref']){ //save loggedin customer ref in session.
   $settings->cancelurl .= '&customer_ref='.$_SESSION['customer_ref'];
}

所以当paypal上的cancelurl看起来像http://www.example.com/?customer_ref=qwuy16436771&token=EC-2Q454WDAE110BD2

因此,您可以从网址获取customer_ref,并在它到达您的服务器后执行您需要做的任何事情。

我希望这会有所帮助。

答案 3 :(得分:2)

创建token后,payment也是重定向网址中的参数。所以你可以做这样的事情把它放在你的数据库中(与待处理的订单或其他相关联)以便以后检索,而不依赖于cookie:

$payment->create($apiContext);
$link = $payment->getApprovalLink();
parse_str(parse_url($link, PHP_URL_QUERY), $linkParams);
if (!empty($linkParams['token'])) {
  // Store token in database for possible lookup later
  // Presumably just another column field...
  yourSaveToken($yourOrder, $linkParams['token']);
}
header('Location: ' . $link);

然后,当您的取消网址触发时,您可以检索已取消的订单

if (!empty($_REQUEST['token'])) {
  // Match token previousy stored by `yourSaveToken`
  $yourOrder = yourGetOrderFromToken($_REQUEST['token']);
}