paypal rest api 和 flask/django/python 集成 2023,付款后立即更新用户积分

问题描述 投票:0回答:1

在我的 flask web 应用程序中,我试图在用户通过 paypal 付款后立即更新用户的信用。为了确保安全,我想确保用户不会修改付款金额。我还想确保我记入付款的正确用户。

因为当 paypal 返回时,用户会话被分离。所以我无法使用会话更新数据库。所以我想向要付款的用户发送一个“自定义”变量关联。在支付被捕获/成功时,自定义变量可以从支付确认中读回,这样我就可以识别哪个用户进行了支付。之后,我可以更新数据库和更新用户信用。

我最大的问题是我找不到合适的地方来创建自定义变量并在创建付款时发送到贝宝。

我搜索了大量关于 Flask 的教程,但它们已被弃用:例如此链接上的 github one paypal-python-sdk:github paypal-python-sdk 或者它们是用另一种语言编写的:例如在 nodejs 中来自官方 paypal 开发者文档paypal 官方文档与 html 和 nodejs 示例

看官方的nodejs例子我都摸不着头脑。但我知道我必须在我的 flask 服务器端创建两条路由来处理 create_order 和 capture_order paypal 官方文档中的 capture order rest api。但是后来我的第一个大问题失败了,如何在用户付款后立即更新用户的信用?

如果有人能给我任何建议,我将不胜感激。完整的烧瓶代码示例将受到高度赞赏。

提前致谢

ps:在老教程里看到了一些使用paypal ipn验证支付的方案。但它似乎没有出现在新的 paypal 集成 api 中(即 notify_url)。

python flask paypal
1个回答
0
投票

当调用 create 路由来创建订单 ID 时,调用应该有上下文来指示哪个用户正在启动结帐。例如,向任何 JS 提取调用添加一个主体参数。

当调用捕获路由捕获订单 ID 时,捕获的订单 ID 可能是您需要的所有上下文,但如果它有用,您可以让 fetch 包含一个额外的 body 参数。

© www.soinside.com 2019 - 2024. All rights reserved.