在django中付款成功后如何将订单存储在我的数据库中

Posted

技术标签:

【中文标题】在django中付款成功后如何将订单存储在我的数据库中【英文标题】:How do i store order in my database after payment is successful in django 【发布时间】:2022-01-24 05:20:31 【问题描述】:

我是初学者,我正在开发电子商务应用程序。我想做一些事情,如果用户付款成功,将创建一个订单并将其存储在数据库中。

我终于找到了一种集成支付网关的方法,当交易成功时,它会重定向到成功页面。

我这里的问题是付款成功后如何创建订单

这是我的代码

<script>
    const API_publicKey = "<ADD YOUR PUBLIC KEY HERE>";

    function payWithRave() 
        var x = getpaidSetup(
            PBFPubKey: API_publicKey,
            customer_email: 'address.email',
            amount: 'cart.get_total_price',
            customer_phone: "234099940409",
            currency: "NGN",
            txref: "rave-123456",
            meta: [
                metaname: "flightID",
                metavalue: "AP1234"
            ],
            onclose: function() ,
            callback: function(response) 
                var txref = response.data.txRef; // collect txRef returned and pass to a                    server page to complete status check.
                console.log("This is the response returned after a charge", response);
                if (
                    response.data.chargeResponseCode == "00" ||
                    response.data.chargeResponseCode == "0"
                ) 
                    "% url 'checkout:payment_complete' %" // redirect to a success page
                 else 
                    // redirect to a failure page.
                

                x.close(); // use this to close the modal immediately after payment.
            
        );
    
</script>

我该怎么做?将什么值传递给视图?

【问题讨论】:

【参考方案1】:

我的做法是,在支付网关支付成功后,我通过支付参考id和金额和其他相关道具来查看和存储它们。 在您的情况下,请在您的 checkout:payment_complete URL 中传递付款订单 ID 或(任何其他内容)。 并在您的 payment_complete 视图中,通过其参考 ID 检索您的付款订单并将其属性(您需要的任何内容)存储到您的模型中。

希望这可以帮助您构建它。

【讨论】:

以上是关于在django中付款成功后如何将订单存储在我的数据库中的主要内容,如果未能解决你的问题,请参考以下文章

成功付款后履行订单 Stripe Rails

使用 Stripe 付款创建复杂订单

为客户订阅定期付款计划后如何获取费用 ID?

成功付款后 woocommerce_thankyou 挂钩不起作用

使用 Django 使用 PayPal 完成付款后获取信息

在Paypal付款之前将订单信息存储在MySQL中并使用IPN进行验证