【发布时间】:2021-09-07 08:47:42
【问题描述】:
我正在尝试使用带有 PayPal 提供的脚本的智能按钮实现 PayPal 支付:
<div id="smart-button-container">
<div style="text-align: center;">
<div id="paypal-button-container"></div>
</div>
</div>
<script src="https://www.paypal.com/sdk/js?client-id=MY_CLIENT_ID¤cy=CAD" data-sdk-integration-source="button-factory"></script>
<script>
function initPayPalButton() {
paypal.Buttons({
style: {
shape: 'rect',
color: 'gold',
layout: 'horizontal',
label: 'pay',
},
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{"description":"Package delivery","amount":{"currency_code":"CAD","value":1}}]
});
},
/* onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
alert('Transaction completed by ' + details.payer.name.given_name + '!');
});
}, */
onApprove: function(data) {
return fetch('/my-server/capture-paypal-transaction.php', {
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
orderID: data.orderID
})
}).then(function(res) {
return res.json();
}).then(function(details) {
alert('Transaction funds captured from ' + details.payer_given_name);
})
},
onError: function(err) {
console.log(err);
}
}).render('#paypal-button-container');
}
initPayPalButton();
</script>
我用下面的函数替换了注释代码,该函数表明可以链接到服务器上的文件以处理返回的数据。
我找不到关于如何使用 PayPal 生成的按钮来完成此操作的明确说明,并且所有与 IPN 相关的 git 示例要么已过时,要么已弃用 PHP 代码,例如对魔术引号的引用。
是否有关于从智能按钮捕获交易数据的示例 PHP 文件?
【问题讨论】: