paypal returnurl登录页面

时间:2009-09-29 15:39:48

标签: php authorization paypal session-variables

我有一个关于在用户登录的页面上使用paypal的问题

用php

如果PayPal重定向回该页面,您如何才能让用户仍然获得该页面的授权。

我读到了一些关于使用PDT将session_id提供给自定义变量的内容 如果您有多个会话变量,那该怎么办?您还可以将数组传递给自定义变量吗?

如何完成,编码

任何见解都很好

修改

PDT自定义变量只是一些自我发明的名称,你坚持在后面 其他义务变量。

像这样:

$ req =“tx = $ tx& at = $ token& cmd = $ cmd”;

$ req。=“& somevariablename =”。session_id();

谢谢,理查德

5 个答案:

答案 0 :(得分:2)

如果我理解正确的话:

  1. 用户已登录您的网页。
  2. 他们点击了paypal按钮/提交表格
  3. 现在他们在www.paypal.com完成交易。
  4. 完成后,会将其重定向回您的页面。
  5. 您可以使用Cookie,但它们不是故障安全的,因为用户可能会将其禁用。

    一种可能的方法是创建一个唯一的标识字符串,将其发送到paypal,以便将它们重定向到带有字符串的自定义URL。在该页面中,您对其进行验证,并授权用户。

答案 1 :(得分:2)

只需将当前会话ID(使用$ id = session_id();)传递给PayPal,一旦获得用户,并且会话ID,从Paypal返回,只需将会话ID设置为Paypal发送给您的一个使用session_id($ idPaypalSent);

答案 2 :(得分:2)

可能是我错过了什么。

因此,您的用户登录..点击立即购买按钮或其他任何内容并转到paypal网站,完成后返回到您的网站位于用户区域内的页面。

这应该无缝地工作,而不必做任何事情。除非用户在paypal网站上花费太多时间,并且在服务器上达到会话到期时间,或者用户关闭浏览器并直接进入您的PayPal支付页面。

会话将保持活动状态,只要会话超时允许,用户就可以无缝地在您的站点和其他站点之间来回移动。

答案 3 :(得分:1)

对于提出一个旧问题我表示歉意,但今天早上我遇到了这个问题。

原来我忘记了session_start();卫生署!

在我在返回(订单确认)页面上完成后,结果证明我的会话一直很好 - 它只是没有在该特定页面上启动。

希望这有助于某人

echo 'session var:'.$_SESSION['var'];
if (!isset($_SESSION))
{
    session_start();
}
echo 'session var again:'.$_SESSION['var'];

答案 4 :(得分:0)

您有一个错误的会话ID概念:会话ID不仅仅是另一个会话变量,而是会话的ID,因此您可以将用户分配给会话变量。您可以通过$sess_id = session_id();获取会话ID,并将其作为"&ppsessid=" . $sessid附加到自定义返回变量。然后,您可以通过session_id($_GET['ppsessid']);设置会话ID。