php - 在不离开我的页面并传递唯一下载 ID 的情况下通过 PayPal 付款

标签 php paypal

我正在编写一个网络应用程序,人们可以在其中下载他们独有的 PDF。

我想使用 PayPal 允许买家在不离开我的页面的情况下输入付款(尽可能全面),然后将其发送到我的 PHP 脚本,该脚本将接收一个 ID 变量,以便交付他们唯一的 PDF。

为此,我正在尝试找出适合的 PayPal 技术。

我的印象是(可能不正确)“PayPal Express Checkout”可以在不离开我的页面的情况下进行支付,但我不知道允许通过此传递唯一 ID 变量以重定向到 PDF 的辅助技术-生成器脚本。如果这相关,我也在审查“直接付款”。

我有一个 PayPal 企业账户,其中设置了一个沙盒账户。

非常感谢任何一般准则。

最佳答案

我现在正在做基本上完全相同的事情。是的,Express Checkout 是必经之路;使用 Express Checkout 有 3 种主要方式:https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/set-up-a-payment/

您需要使用服务器端 REST 设置。在这里查看他们的演示页面 https://developer.paypal.com/demo/checkout/#/pattern/server

简而言之,您要查看的流程是:

1.) 用户登陆支付页面

2.) 用户点击其中一个支付按钮

3.) #2 触发你的 php 页面,CREATE_URL(见演示)

4.) 您的 CREATE_URL php 将需要使用 paypal REST API 来创建一个payment。您可能希望意图是sale,但有三个选项(sale、authorized payment 或 order)

5.) 创建付款后,会弹出一个框,允许用户进行付款

6.) 如果用户付款(在 paypal 术语中为“授权”),则您需要执行付款。您的 EXECUTE_URL php 页面已触发

7.) 在您的 EXECUTE_URL php 页面上,您使用 paypal 的 REST API 再次执行付款。假设支付成功,status = completed(即资金实际从用户账户转入您的paypal企业账户),那么您可以将唯一的下载id返回给客户端浏览器

一些重要的注意事项:

  • 涉及很多错误处理,paypal 文档也很糟糕。创建付款可能会失败,用户可能不会授权付款,执行付款可能会失败等。
  • 付款已执行并不意味着资金已转入您的帐户。用户可能已经使用了可能需要一两天才能完成的电子支票或其他资金工具。您需要检查 salestatus 值来确定这一点
  • 您还需要设置一个监听器 URL 和一个网络钩子(Hook),以便在付款未立即完成时通知您

这......需要一段时间才能以可靠的方式完成。如果 PayPal 的文档更好,我一天前就完成了。祝你好运。

关于php - 在不离开我的页面并传递唯一下载 ID 的情况下通过 PayPal 付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49413196/

相关文章:

php - 将 PHP URL 变量传递给 jquery/ajax 表单

javascript - Paypal Pass 项目 sku 和订单引用 ID

ios - 使用paypal ios sdk使用paypal登录

java - 违反 Google 政策通过 PayPal 按钮捐款?

Paypal 错误 "Currency amount must be non-negative number"

php - RP游戏的经验值跳跃和练级

PHP PDO 产生 "Array"值而不是实际值

php - 想在 laravel 上返回值 json

python - Paypal Sandbox 和 Google App Engine 的身份验证错误

php - 需要从 mysql 返回一行