取消url响应paypal


cancel url response paypal

我是新使用paypal,我在1天内搜索这个问题。我需要你们的帮助。我已经完成编码快递结帐API,我成功地获得支付交易,但我的问题是取消url。当我取消支付时,它返回到我的取消url paypal给出这样的令牌url http://www.example.com/?token=EC-75630865LV806263H

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

如果可能的话,你能给我一个链接或教程,告诉我如何在取消url时获得客户端的信息。

我编写的代码是在运行时生成cancelurl。因此,在发送支付事务负载之前,我将cancel url设置为:

$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

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

我希望这对你有帮助。

我认为不会,因为通常在身份验证之前按下取消按钮,但我也没有在过程中尝试过。通常情况下,这个过程是他们登录,确认付款,然后PayPal将他们退回到你的付款完成页面。但是,如果它们在验证后取消,则可以调用getExpressCheckoutDetails。再说一次,我从来没试过。但最糟糕的情况是PayPal没有任何回报。

在结帐页面上,查找'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" />

创建payment后,token也是重定向URL中的一个参数。您可以这样做,将其放入数据库(与待处理订单关联),以便以后检索,而不依赖于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);

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

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