Javascript Paypal Pass商品sku和订单参考id

Javascript Paypal Pass商品sku和订单参考id,javascript,paypal,paypal-sandbox,Javascript,Paypal,Paypal Sandbox,我正试图使用javascript api购买单位向paypal发送订单,但当paypal重定向到成功页面时,我得到错误未知购买单位。当我在控制台中检查api调用时,我会在带有购买单位的调用附近看到感叹号 这是我的密码 paypal.Buttons({ env: 'sendbox', style: { layout: 'horizontal', size: 'responsive',

我正试图使用javascript api购买单位向paypal发送订单,但当paypal重定向到成功页面时,我得到错误未知购买单位。当我在控制台中检查api调用时,我会在带有购买单位的调用附近看到感叹号

这是我的密码

 paypal.Buttons({
        env: 'sendbox',
        style: {
            layout: 'horizontal',
            size:   'responsive',  
            shape:  'pill',        
            color:  'gold',        
            fundingicons: false,    
            tagline: false          
        },
        createOrder: function(data, actions) {
        return actions.order.create({
            purchase_units: [ {
                reference_id: "PUHF",
                description: "Some description",
                custom_id: "Something7364",
                soft_descriptor: "Great description 1",
                amount: {
                    currency_code: "USD",
                    value: "200.00",
                    breakdown: {
                        item_total: {
                            currency_code: "USD",
                            value: "200.00"
                        }
                    }
                }, items: [{
                        name: "Item 1",
                        description: "The best item ever",
                        sku: "xyz-2654",
                        unit_amount: {
                            currency_code: "USD",
                            value: "100.00"
                        },
                        quantity: "1"
                    }, {
                        name: "Item 2",
                        description: "Not bad too",
                        sku: "zdc-3942",
                        unit_amount: {
                            currency_code: "USD",
                            value: "50.00"
                        }, quantity: "2"
                    }
                ],
            }
        ]
    })}, onApprove: function(data, actions) {
            return fetch('<?= $rootPath.URL['services']['orderGet'] ?>', {
                    method: 'GET'
                }
            ).then(function(res) {
                return res.json();
            }).then(function(res) {
                window.location.href = 'pages/success.php';
            });
        }

    }).render('#paypalCheckoutContainer');
paypal.按钮({
环境:“发送框”,
风格:{
布局:“水平”,
尺寸:'响应',
形状:'药丸',
颜色:“金色”,
基金图标:错误,
标语:错
},
createOrder:函数(数据、操作){
return actions.order.create({
购买单位:[{
参考编号:“PUHF”,
描述:“一些描述”,
自定义id:“Something 7364”,
软描述:“伟大的描述1”,
金额:{
货币代码:“美元”,
值:“200.00”,
细分:{
项目u总计:{
货币代码:“美元”,
值:“200.00”
}
}
},项目:[{
名称:“项目1”,
描述:“有史以来最好的物品”,
sku:“xyz-2654”,
单位金额:{
货币代码:“美元”,
值:“100.00”
},
数量:“1”
}, {
名称:“项目2”,
描述:“还不错”,
sku:“zdc-3942”,
单位金额:{
货币代码:“美元”,
值:“50.00”
},数量:“2”
}
],
}
]
})},onApprove:功能(数据、操作){
返回fetch(“”{
方法:“获取”
}
).然后(功能(res){
返回res.json();
}).然后(功能(res){
window.location.href='pages/success.php';
});
}
}).render(“#paypalCheckoutContainer”);

我将您的purchase\u units数组复制到一个完整的工作HTML示例中(下面,不要尝试在StackOverflow中运行它),并且没有任何问题

查看代码的其余部分,
env:sendbox
是一个输入错误。onApprove部分给我带来了麻烦,我看到里面有PHP,但是你的代码在删除整个onApprove部分时起作用了——所以也许可以尝试在没有这个部分的情况下进行测试,然后修复它


//将PayPal按钮渲染到#PayPal按钮容器中
贝宝,按钮({
//设置事务
createOrder:函数(数据、操作){
return actions.order.create({
//您可以在以下网址找到购买单位的工作示例:https://developer.paypal.com/docs/checkout/reference/server-integration/set-up-transaction/
购买单位:[{
参考编号:“PUHF”,
描述:“一些描述”,
自定义id:“Something 7364”,
软描述:“伟大的描述1”,
金额:{
货币代码:“美元”,
值:“200.00”,
细分:{
项目u总计:{
货币代码:“美元”,
值:“200.00”
}
}
},项目:[{
名称:“项目1”,
描述:“有史以来最好的物品”,
sku:“xyz-2654”,
单位金额:{
货币代码:“美元”,
值:“100.00”
},
数量:“1”
}, {
名称:“项目2”,
描述:“还不错”,
sku:“zdc-3942”,
单位金额:{
货币代码:“美元”,
值:“50.00”
},数量:“2”
}
],
}
]
,
应用程序上下文:{
品牌名称:“我的生意”,
/*配送首选项:“无配送”*/
}
}/*actions.order.create*/)的参数结束;
},
//完成交易
onApprove:功能(数据、操作){
返回actions.order.capture().then(函数(详细信息){
//向买家显示成功消息
警报(“+details.payer.name.given_name+”!”完成的交易);
});
}
}).render(“#贝宝按钮容器”);

我将您的purchase\u units数组复制到一个完整的工作HTML示例中(下面,不要尝试在StackOverflow中运行它),并且没有任何问题

查看代码的其余部分,
env:sendbox
是一个输入错误。onApprove部分给我带来了麻烦,我看到里面有PHP,但是你的代码在删除整个onApprove部分时起作用了——所以也许可以尝试在没有这个部分的情况下进行测试,然后修复它


//将PayPal按钮渲染到#PayPal按钮容器中
贝宝,按钮({
//设置事务
createOrder:函数(数据、操作){
return actions.order.create({
//您可以在以下网址找到购买单位的工作示例:https://developer.paypal.com/docs/checkout/reference/server-integration/set-up-transaction/
购买单位:[{
参考编号:“PUHF”,