贝宝智能按钮数字商品

时间:2020-03-09 13:31:51

标签: javascript paypal paypal-sandbox paypal-rest-sdk

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

我遵循了Paypal网站上的教程,通过查看Paypal Web文档,我创建了此订单:

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参数,因为这样做可以使我在付款时没有任何问题,但是我不确定这是否适合我的情况,即我正在出售服务/数字产品好。

哪种方法是正确的?

1 个答案:

答案 0 :(得分:1)

您应该单击以阅读开发工具中的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',
            }
        }
    }