我正在使用PayPal推荐的JS script。它运作良好,但它显示了买家的“发货到”地址。
我正在尝试搜索互联网,发现https://api.sandbox.paypal.com/v1/payment-experience/web-profiles/
请求"no_shipping": 1,
可以解决问题。但为此我们需要在payment.create
之前发出一个curl请求,以便我们可以在函数中传递它返回的id。
这可以在JS中使用吗?
或者是否有更好更简单的方法可以使用以下JS删除它?
<script src="https://www.paypalobjects.com/api/checkout.js" data-version-4></script>
<script>
paypal.Button.render({
env: 'sandbox', // Optional: specify 'sandbox' or 'production'
client: {
sandbox: '{{$data['SandboxId']}}',
production: '{{$data['ProductionId']}}'
},
payment: function() {
var amount = document.getElementById("amount").value;
var env = this.props.env;
var client = this.props.client;
return paypal.rest.payment.create(env, client, {
transactions: [
{
amount: {
total: amount,
currency: "USD",
details: {
subtotal: amount,
tax: "0.00",
shipping: "0.00"
}
},
description: "This is payment description.",
item_list: {
items:[
{
quantity:"1",
name:"Orders",
price:amount,
sku:"product12345",
currency:"USD"
}
],
},
}],
});
},
commit: false, // Optional: show a 'Pay Now' button in the checkout flow
onAuthorize: function(data, actions) {
console.log(data);
alert('confirmation here');
// Optional: display a confirmation page here
return actions.payment.execute().then(function() {
alert('Success here');
// Show a success page to the buyer
});
},
}, '#paypal-button');
</script><div id="paypal-button" ></div>
答案 0 :(得分:5)
要扩展Bluepnume的答案,这是一个完整的例子:
payment: function(data, actions) {
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: '1.00', currency: 'USD' }
}
]
},
experience: {
input_fields: {
no_shipping: 1
}
}
});
},
答案 1 :(得分:1)
您可以传递类似的体验选项:
paypal.rest.payment.create({
// payment options here
}, {
// experience options here
});