首页 > 解决方案 > Paypal Smart Buttons 数字商品

问题描述

我正在使用 Paypal 智能按钮来收款以集成到我的数字平台中。我卖的不是实物商品,而是服务/数字商品。

我遵循了 Paypal 网站上的教程,并通过查看 Paypal 网络文档,我创建了这个订单:

order = actions.order.create({
    application_context: {
        locale : "ITA",
        shipping_preference:"NO_SHIPPING"
    },
    purchase_units: [{
        description:"BLA BLA",

        items:[
            {
                name: "BLA BLA",
                category:"DIGITAL_GOODS",
                quantity:"1",
                unit_amount :{
                    currency_code:"EUR",
                    value : "5.00"
                }
            }
        ],

        amount: {
            currency_code: "EUR",
            value: 5.00
        }
    }]
});

当我尝试时,我收到此错误(通过 Google Chrome 开发工具控制台)

POST https://www.sandbox.paypal.com/v2/checkout/orders 422 (Unprocessable Entity)

我已尝试删除该item参数,这样做我付款没有任何问题,但我不确定这是否适合我的情况,即我正在销售服务/数字商品。

哪种方法是正确的?

标签: javascriptpaypalpaypal-sandboxpaypal-rest-sdk

解决方案


您应该点击阅读开发工具中 422 响应的正文;它包含一条包含有关问题的完整信息的消息。

您缺少带有 的金额明细item_total,这是传递行项目时所必需的。

请参阅有关此必需参数的文档:https ://developer.paypal.com/docs/api/orders/v2/#definition-item

    amount: {
        currency_code: "USD",
        value: '5.00',
        breakdown: {
            item_total: {
                currency_code: "USD",
                value: '5.00',
            }
        }
    }

推荐阅读