【问题标题】:Pay event fee with paypal and allow guests使用贝宝支付活动费用并允许客人
【发布时间】:2013-07-19 21:29:15
【问题描述】:

我已经在 developer.paypal.com 上搜索了几天,并且掌握了我需要的内容。但我仍在寻找完成任务的最佳方式。

我需要一种让人们通过我的网站为活动付费的方式。我更愿意允许访客结帐,因为并非所有与会者都可能拥有贝宝帐户。但我真正想要的是让贝宝网站处理所有结帐。在 ebay 上,您可以看到总数、一个小摘要,然后您就可以在那里付款。我查看了快速结帐,它希望将用户返回到我的网站以完成所有操作。

简而言之:
允许客人结帐
在 Paypal 网页上显示付款总额
允许完成付款并从 PayPal 的网站“捕获”,只返回我的页面说谢谢。
如果可能,不需要与会者的地址

这可以吗? 我长期以来一直使用 StackOverflow 来寻找答案,但我很难找到这个答案(主要是因为我不知道我在寻找什么)。

提前致谢

【问题讨论】:

  • 这是可以做到的。您在您的网站上计算总和,然后将此数字发送到贝宝服务器。您需要设置商家 ID 等。Paypal 然后执行付款流程,然后将客户信息发送到您设置的页面。您从贝宝收到的信息将决定您将客户发送到错误页面还是确认页面。客户永远不会看到这个转移页面,如果你写得正确,它会立即完成。

标签: php paypal


【解决方案1】:

您描述的是“标准”,HTML 按钮集成将比 Express Checkout 容易得多。

【讨论】:

  • 感谢您指出这一点,看起来它有可能正常工作。我现在的问题是让 IPN 正常工作,这看起来也可能有点复杂。这是找出他们是否成功签出的唯一方法吗?我知道我可以指定返回 URL,但是有没有办法识别该 URL 上的人以及他们之前提交的表单数据?
  • 看起来我可以在 HTML 代码中指定返回 URL。我想我可能会做的是让它在去贝宝之前将表单提交到数据库中,然后让它在返回到随机生成的 URL 时将其标记为已付款,以将 SQL 条目更新为已付款。
  • 客户的浏览器可能因任何原因无法返回。如果他们以客人身份使用 Standard 付款,则 PayPal 有义务向他们出示收据,并且他们必须实际点击返回。如果他们使用 PayPal 帐户付款,他们将在 10 秒后自动重定向,但如果他们的浏览器崩溃怎么办?在这些情况下,您的 SQL 条目永远不会被标记为已付款。您可以将 IPN 实现为一个单独的通知系统,但此时您已经做了足够多的工作,您应该刚开始使用 Express Checkout。这是一个更好的集成。
  • 这是一个很好的观点。那么这个怎么样。我使用 Express Checkout,将表单和信息与生成的 Token 一起保存在数据库中。然后,如果他们在付款结束时返回,我的网站将使用生成的令牌检查付款,如果成功则将其标记为已付款。然后,如果我有生成的令牌,但从未返回,我会使用 cron 作业来检查所有剩余令牌的状态吗?并且知道创建令牌后我可以查找令牌多长时间?我会尝试这个想法,只是在这里写下它以获得一些输入。到目前为止谢谢!
【解决方案2】:

Express Checkout 是最强大的 API。 “返回”到您的网站是一件好事,让客户能够点击最终的“下订单”按钮。但是您也可以在返回时自动触发此功能——只需运行 DoExpressCheckout 无需用户交互并显示感谢/确认消息。如果您要在没有交互的情况下运行 DoEC,那么您对 ​​PayPal.com 的初始重定向应该将 &useraction=commit 附加到 URL。然后,PayPal.com 上的最后一个按钮将显示“立即付款”而不是默认的“继续”

要允许客人使用 EC 结帐,请在初始 SetEC 调用中传递 SOLUTIONTYPE=Sole。请注意,当客户加载 PayPal.com 结帐页面时,它会检查他们的浏览器 cookie 以查看他们是否存储了 PayPal 电子邮件地址。如果他们有一个存储在浏览器中,顶部的“登录到 PayPal”部分将被展开。如果他们没有存储地址——通常意味着这是一台全新的计算机,或者他们以前从未使用过 PayPal 帐户在这台计算机上结账——那么底部的客人结账部分将被展开。

如果不需要地址,请传递 NOSHIPPING=1。

【讨论】:

  • 这很有道理,我喜欢这个主意。我一直在玩这个来尝试感受这些选项:devtools-paypal.com/apiexplorer/PayPalAPIs 但很多时候它只是挂起。我会继续玩这部分,看看我是否可以用 cURL 编写自己的请求,看看我得到了什么。感谢您的建议。
猜你喜欢
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 2015-10-21
  • 2013-10-03
  • 2015-06-25
  • 2015-05-13
相关资源
最近更新 更多