【问题标题】:How can I pass order details to a PayPal smart button checkout如何将订单详细信息传递给 PayPal 智能按钮结账
【发布时间】:2021-03-29 12:22:38
【问题描述】:

我正在使用 django 构建一个电子商务网站,并寻找一种将订单详细信息传递给商家帐户的方法。这个我试过了

 createOrder: function(data, actions) {
        return actions.order.create({
            purchase_units: [{
                amount: {
                    value: '30.11',
                },
                description: 'this is a description',
            }]
        });
    },

此方法有效,但我只能传递字符串。我曾尝试传递列表,但没有成功

        createOrder: function(data, actions) {
        return actions.order.create({
            purchase_units: [{
                amount: {
                    value: '30.11',
                },
                description: [{
                    order: "dress5",
                    price: "30"
                }]
            }]
        });
    },

对我应该做什么有什么建议吗?

【问题讨论】:

    标签: javascript python django api paypal


    【解决方案1】:

    由于您使用的是 django,您可能应该使用 REST API 调用在后端创建和捕获订单——在您的情况下可能使用 Checkout-Python-SDK。您需要创建两条新路线,一条用于“创建订单”,一条用于“捕获订单”,documented here

    然后将您的两条路由与以下 HTML/JS 审批前端配对:https://developer.paypal.com/demo/checkout/#/pattern/server

    (无论哪种方式,传递给 actions.order.create() 的对象也是 v2/checkout/orders request object,所以所有相同的语法都适用。)


    至于如何实际传递细节:如果指定items数组,amount必须有一个breakdown对象,其item_total与sum匹配,并且其自身sum必须与总金额值匹配.

    这是另一个问题的有效 purchase_units 数组的 JSON 示例:

    {
        "purchase_units":[{
            "amount":{
                "value":259.96,
                "currency_code":"USD",
                "breakdown":{
                    "item_total":{
                        "currency_code":"USD",
                        "value":259.96
                    }
                }
            },
            "items":[
                {
                    "unit_amount":{
                        "currency_code":"USD",
                        "value":"49.99"
                    },
                    "quantity":"1",
                    "name":"GB Stacked"
                },
                {
                    "unit_amount":{
                        "currency_code":"USD",
                        "value":"79.99"
                    },
                    "quantity":"1",
                    "name":"Stacked Jeans"
                },
                {
                    "unit_amount":{
                        "currency_code":"USD",
                        "value":"49.99"
                    },
                    "quantity":"1",
                    "name":"GB Stacked"
                },
                {
                    "unit_amount":{
                        "currency_code":"USD",
                        "value":"79.99"
                    },
                    "quantity":"1",
                    "name":"Stacked Jeans"
                }
            ]
        }]
    }
    

    这给出了:

    【讨论】:

    • 谢谢,真的帮了我很多,有没有办法可以在细分中添加税费和运费等信息
    • 是的,所有参数都在 v2/checkout/orders 文档中用于细分:developer.paypal.com/docs/api/orders/v2/…。确保细分总计等于您的金额值,否则会出错
    猜你喜欢
    • 2014-04-17
    • 2013-07-19
    • 2014-04-17
    • 2015-08-02
    • 1970-01-01
    • 2013-03-27
    • 2020-01-16
    • 2021-12-14
    • 1970-01-01
    相关资源
    最近更新 更多