Paypal REST API返回页面
我目前使用Paypal REST API来为具有多个计划的用户处理结算协议。Paypal REST API返回页面
当用户注册一个计划时,他们需要PayPal来支付。完成该步骤后,PayPal将其重定向到我提供的返回URL。
问题是,有时用户会话从贝宝返回时不会持续!
我有session_start()
作为我所有文件中的第一行,所以会话正在创建。在将用户带到PayPal之前,我已经验证$_SESSION
阵列是正在被填充 - 这只是在PayPal后才被带回。
是否有更好的方式来保存这样的数据,以便我可以更新从PayPal返回的用户帐户?或者,也许有一种方法可以通过PayPalrequest传递电子邮件,这样它就会返回到他们返回给我的网站的对象中?
如果您在注册页面和PayPal重定向到的页面上通过session_start()
正确启动会话,您的会话应该正常启动。
假设您不是无意中closing the session或regenerating the ID,听起来好像没有实际的“会话管理”问题,但可能与PayPal重定向到的URL有关。
PHP会话的一个常见问题是,使用默认的PHP配置,它们不包含在子域之间。
例如,如果我访问您的域名为example.com
,我的会话将只在example.com
上激活。如果我然后去www.example.com
,我将收到一个新的会话。
您可以通过访问您的网站example.com
或www.example.com
并检查设置了哪个域名来验证此cookie。如果不.example.com
(注意是领先.
),那么这就是问题=]
为了帮助解决这个问题,你可以修改服务器的配置设置.example.com
作为cookie的域。从this answer摘自:
session.cookie_domain = ".example.com"
我给了一个最近的问题相同的答案应该在这里工作,以及:
我用同样的问题的解决方案是建立在结算协议
override_merchant_preferences
,其中return_url
包含查询中的用户标识,如www.domain.com/api/handler.php?uid=42&action=return
。
虽然当然你可以通过$_GET
这样的方式传递你想要的任何标识符。
好想,谢谢你的输入! – 2015-03-31 15:12:40
您应该将用户标识添加到发送到PayPal的输入中,然后返回给您 – 2015-02-24 03:14:26
虽然没有输入发送到PayPal。我有一个按钮“Pay with paypal”,他们点击它,然后我发布了一个“使用PayPal创建结算协议”的方法:http://htmlpreview.github.io/?https://raw.githubusercontent .com/paypal/PayPal-PHP-SDK/master/sample/doc/billing/CreateBillingAgreementWithPayPal.html – 2015-02-24 03:22:53
计划是否存在或如何创建? – 2015-02-24 03:26:55