Rest API:重定向回商家网站后获取付款ID

时间:2013-08-22 17:56:42

标签: rest paypal

此问题特定于使用PayPal帐户付款。

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

  1. 我初始化付款并将用户重定向到PayPal的身份验证页面。
  2. 用户登录并授权付款,并重定向回商家网站。
  3. 通过获取并传递paymentId和payerId来执行付款。
  4. 在第一步中,在重定向到PayPal的网站以进行用户授权之前,会返回付款ID。在第三步中,我需要第一步的付款ID才能成功执行付款。有没有办法获得付款ID而不将其存储在会话中?当重定向回商家网站时,* payer * Id作为URL参数传回。还传递了一个令牌值,但我不确定它用于什么。我所知道的是,这不是我正在寻找的paymentId。

    非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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;
}