【问题标题】:Where to store dynamic data for paypal express checkout (digital goods)paypal快速结账的动态数据存储在哪里(数字商品)
【发布时间】:2013-11-10 20:20:13
【问题描述】:

想象一个像 istockphoto 或 envato 这样的网站,用户只能购买数字积分...

如何使用 paypal 的 API 以最简洁、最简单的方式实现这一点?那里的文档导航有点混乱......

除了一般的“最佳实践”问题之外,我的猜测是从 https://devtools-paypal.com/integrationwizard/ 的集成向导开始,然后选择“快速结帐 - 数字商品”

在沙盒上设置了一些测试帐户后,我有点让它工作了——但我对如何在整个会话中跟踪动态数据感到困惑。

即我将在哪里安全地存储“积分数”和“用户 ID”值,以便在成功付款后将其添加到该用户(可能没有电子邮件地址,更不用说匹配他们的贝宝帐户的人)。是否需要数据库/回调系统?

假设暂时如此,我的猜测是可能将数据存储在数据库中,其中主键是在 SetExpressCheckoutDG() 收到的 TOKEN,预填充字段是我想要保留的数据......然后最终的 confirm.php 页面将检查该令牌处的数据库并实现该数据...但是对此似乎有些奇怪,即依赖回调(可能是超时等),我不确定它是否真的是最安全的方式。

如果使用示例,请坚持使用 PHP(而不是 curl 或其他语言)。谢谢!

【问题讨论】:

    标签: php paypal


    【解决方案1】:

    您可以将其与您的通话一起退回。我将使用 NVP 作为示例

    您将您的数字商品设置在SetExpressCheckout。在内部,您传递用户购买的积分数量,并使用他们的用户 ID 设置 PAYMENTREQUEST_0_CUSTOM

    GetExpressCheckoutDetails 中,该数据将被传回给您,因此您可以以某种方式存储它(您将获得他们的物品和数量,以及用户 ID)。然后,您以DoExpressCheckoutPayment 结束。

    如果仍然没有帮助,请告诉我。

    【讨论】:

    • 谢谢,这确实很有帮助。似乎 GetExpressCheckoutDetails() 和 DoExpressCheckoutPayment() 是通过回调(confirm.php)调用的......但由于两者都在那里发生,我想没关系:)
    猜你喜欢
    • 2013-03-29
    • 2011-07-10
    • 2011-07-24
    • 1970-01-01
    • 2013-12-05
    • 2018-04-15
    • 2017-08-18
    • 2014-12-01
    • 2014-04-15
    相关资源
    最近更新 更多