【问题标题】:Need PayPal PDT Sample Code in Client JavaScript需要客户端 JavaScript 中的 PayPal PDT 示例代码
【发布时间】:2020-06-09 08:50:32
【问题描述】:

我是 PayPal 及其 PDT 的新手。我搜索了很多帖子,但它们需要 Node.jsPHP 来实现它。我没有两者,但我只想从 PayPal PDT 简单返回,告诉我的 download.html 购买成功,以便我可以安全地向客户显示产品密钥并允许他们下载我的数字产品,否则我会在我的 JavaScript 中做这样的事情:

If (purchaseFailed) {
   window.location.replace('/404.html');
}

我这样做的原因是为了防止直接访问我的 download.html 并在不通过 PayPal 付款的情况下泄露产品密钥。

我已启用我的 PayPal PDT 并指定了返回 URL,但我只是不知道如何编写 JavaScript 以从 PayPal 获取返回状态。除了“谢谢”消息、产品密钥和下载链接外,我不需要向我的客户显示任何交易详细信息(但如果您可以展示一些获取交易详细信息的示例,例如产品代码和客户电子邮件地址,这也会有帮助)。有人可以帮我提供一些我的 Google Blogger HTML 可以执行的简单 JavaScript 吗?非常感谢!

【问题讨论】:

    标签: javascript paypal


    【解决方案1】:

    PDT 完全不可靠,因为浏览器/网络崩溃或客户未等待自动退货(有计时器)或未点击返回(通常是无必须向帐户出示收据并点击返回)。因此,PDT 仅适用于提供信息(例如,在买家退货时向他们展示感谢信息。)。

    下载等业务逻辑绝对不应依赖于实际发生的 PDT 返回。

    相反,如果您需要来自 PayPal 的付款完成的可靠通知,则应侦听异步 IPN 或较新的 webhook 之一 - 或者,应将集成更改为更强大的同步服务器端之一,例如就像这种模式:https://developer.paypal.com/demo/checkout/#/pattern/server,其中总是有一个关于支付捕获的即时 API 响应以用于通知目的。

    当然,Blogger 的 HTML/JS 不提供任何必要的侦听或 API 功能。

    【讨论】:

    • 嗨普雷斯顿,感谢您的回复和好建议!我只是暂时使用document.referrer 只是为了确保download.html 实际上是由PayPal 而不是其他人加载的,或者是黑客通过浏览器上的复制粘贴URL 伪造的。但是,是的,这也不能保证购买成功,这就是问题所在!
    猜你喜欢
    • 2010-10-17
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多