【问题标题】:Capturing Data From a PayPal Buy Now Button从 PayPal 立即购买按钮捕获数据
【发布时间】:2012-08-30 10:05:21
【问题描述】:

我对此进行了调查,并且我看到一些地方说您可以为此使用 CURL,但我不相信它会按照我的方式工作。

我想做的是在我正在开发的网站和 PayPal 网站之间建立一个临时保留页面。此保留页面的唯一目的是在数据库中缓存有关正在购买的商品的数据,以便可以将其与 PayPal 返回的数据进行检查,作为一项额外的安全措施。 (按钮已经动态加密)

所以,我想做的是有一个这样的场景:

  1. 点击立即购买按钮
  2. 表单提交数据到持有页面
  3. 保持页面添加数据到数据库
  4. Holding 页面将用户和数据发送到 PayPal 以处理交易

当然,问题在于传输$_POST 数据并不简单。有人对如何使用 PHP 进行此操作有任何建议吗?

【问题讨论】:

    标签: php forms paypal


    【解决方案1】:

    创建您自己的按钮并隐藏真正的贝宝按钮。单击您的按钮后,执行 AJAX 发布并进行服务器端处理。

    如果响应正常,则呈现 HTTP 200 响应并在 $.ajax 中成功后,触发点击真正的立即购买按钮(或触发 paypal API,但这在您的设置中有效)

    如果响应不好,则呈现 HTTP 402 响应,并在您的 onerror 中,做任何您想做的事情来提醒用户它失败了。

    这样,您不需要重定向用户两次 - 这有点刺耳...

    无论你有什么表单,你都可以使用 jQuery 将表单作为 AJAX 发送..

    应该这样做:

    var data = $('form').serialize();
    $.post('url', data);
    

    【讨论】:

    • 我知道我的场景不是最优雅的,但是当老板告诉你这样做时......我考虑过使用 jQuery,但我不希望它依赖于JavaScript - 我们的一些客户和他们的客户不是最精通技术的,并且关闭了 JS 的非常旧的浏览器。
    • @yoda 如果您的客户关闭了 JS,那么 PayPal 的网站可能无论如何都无法正常工作。
    • @yoda - 它的 2012 年,如果你不使用 javascript,你几乎不再使用网络了。JS 非常通用,jQuery 与浏览器完全兼容,甚至回到 IE6。我我不确定如果不使用 javascript,您的保留页面将如何工作...
    • PayPal 有一个 NoScript 版本 - 人们确实有意识地选择不允许 JS 运行。
    【解决方案2】:

    已创建,例如 holding.php,请查看此博客文章:http://davidwalsh.name/curl-post

    或者您可以在按钮所在的页面之前将要比较的内容放入数据库中?

    【讨论】:

    • 但是(我承认我对 CURL 没有很多经验)会在您使用它时将您带到 PayPal 网站,这是我需要它做的吗?
    猜你喜欢
    • 2013-01-03
    • 2014-10-05
    • 1970-01-01
    • 2014-08-03
    • 2013-11-02
    • 2015-09-22
    • 2014-09-15
    • 2013-08-30
    • 2010-12-04
    相关资源
    最近更新 更多