3

此问题专门针对使用 PayPal 帐户付款。

所以,这是基本的工作流程:

  1. 我初始化付款并将用户重定向到 PayPal 的身份验证页面。
  2. 用户登录并授权支付并被重定向回商家站点。
  3. 通过获取并传递 paymentId 和 payerId 来执行支付。

在第一步中,在重定向到 PayPal 的站点进行用户授权之前,会返回一个付款 ID。在第三步中,我需要第一步中的付款 ID 才能成功执行付款。有没有办法在不将其存储在会话中的情况下获取付款 ID?*payer*Id 在重定向回商家网站时作为 URL 参数传回。还有一个令牌值传递,但我不确定它的用途。我所知道的是,这不是我正在寻找的 paymentId。

任何帮助将不胜感激。

4

2 回答 2

3

目前它必须是会话或数据库或类似的行。我们建议您为交易生成一个唯一 ID,并使用它映射到您在响应中收到的 PaymentId。

于 2013-08-23T04:19:10.210 回答
0

代码可能如下所示:

$approvalUrl = $payment->getApprovalLink();

if ( preg_match( '/token=(EC\-[A-Z0-9]+)/', $approvalUrl, $matches ) ) {
    $token                                = $matches[1];
    $_SESSION['PAYPAL_PAYMENT'][ $token ] = $payment->getId();
} else {
    // Error message here
    return false;
}
于 2015-08-26T13:29:49.830 回答