【问题标题】:Displaying message after paypal payment [closed]贝宝付款后显示消息[关闭]
【发布时间】:2012-08-17 20:26:23
【问题描述】:

贝宝付款成功后,我想在 php ($mymessage) 中显示一条消息。

例如:

  1. 一位客户想在 www.mysite.com/product 上购买我的产品,其中有一个“使用 paypal 付款”按钮。
  2. 客户在贝宝的网站上付款。
  3. 客户端被重定向到 www.mysite.com/product 上,出现新消息 ($mymessage)。

我知道如果付款完成,可以使用 javascript 检查并自动刷新显示消息的页面。

谁能给我指路? (链接、想法或脚本)

欢迎任何帮助!

【问题讨论】:

  • 暂时没有。我不知道我是否必须使用 paypal API 或仅使用带有 cookie 的本地脚本。我有这个系统来显示推文、+1 或 Facebook 之类的消息,但我想要它用于贝宝。
  • 尝试在paypal账户中启用IPN(即时支付通知)功能。需要一些编程,但您可以指定“谢谢”页面,您可以在其中显示感谢信息,还可以获取有关使用 $_POST[] 付款的其他信息。您可以查看是否成功,付款人电子邮件地址等。在此处阅读更多信息:paypal.com/ipn
  • 谢谢,但就我而言,我有几个 paypal 帐户,因此可能很难在每个帐户中激活 ipn。我会研究的。

标签: php javascript html paypal


【解决方案1】:

您可以通过在 paypal 中返回 url 来做到这一点。在返回 url 页面中,您必须检查付款状态。如果成功意味着您可以将消息存储在会话中并将其显示给用户。显示消息后,取消设置用于消息的会话变量。这是显示消息的简单方法。

我不知道你在尝试什么?我提到了您问题的最短路径

用于检查返回 url 中状态的示例代码

$address_url= (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$req = 'cmd=_notify-synch';
$tx_token = $_REQUEST['tx'];
if(isset($_REQUEST['st']))
$st = $_REQUEST['st'];

在 $st 中,检查状态。

【讨论】:

  • 我想在通过贝宝付款后提供我的电子书的网址。你有如何检查付款是否完成的例子吗?谢谢
  • 我用示例代码编辑我的帖子,以检查来自 paypal 的返回 url 中的状态
【解决方案2】:

你可以使用php变量:

$_SERVER['HTTP_REFERER']

但是你不应该把邮件敏感信息放进去,因为标题是可以修改的。

看到:is $_SERVER['HTTP_REFERER'] safe?

顺便说一句,paypal 让你自定义 url(我认为)

【讨论】:

  • 是的,但该消息包含指向我销售的产品的链接。我认为这可能是敏感信息。谢谢
猜你喜欢
  • 2011-06-25
  • 1970-01-01
  • 2014-06-11
  • 2011-07-25
  • 2011-08-01
  • 2016-06-17
  • 2013-12-12
  • 2013-02-13
  • 2017-03-01
相关资源
最近更新 更多