Paypal 订阅按钮现在需要在 Paypal 网站上注册。与我们能够设置返回 URL 和发票编号的旧方法不同,我们现在必须使用 JavaScript 来调用在 Paypal 注册的按钮的 Paypal 标识符。然而,自定义选项的帮助很少,我能找到的唯一建议是使用下面的代码进行尝试。然而它不起作用......如果它没有返回,客户就不会收到我们版本的发票,我们也不会收到新订阅的通知。
<script src="https://www.paypal.com/sdk/js?client-id=EXAMPLEXYZ&vault=true&intent=subscription" data-sdk-integration-source="button-factory"></script>
<script>
paypal.Buttons({
style: {
shape: 'pill',
color: 'gold',
layout: 'vertical',
label: 'subscribe'
},
createSubscription: function(data, actions) {
return actions.subscription.create({
/* Creates the subscription */
plan_id: 'P-EXAMPLEXYZ'
});
},
onApprove: function(data, actions) {
alert(data.subscriptionID); // You can add optional success message for the subscriber here
actions.redirect('https://example.com/order-return.asp?item_number=<%= strOrderID %>');
}
}).render('#paypal-button-container-P-EXAMPLEXYZ'); // Renders the PayPal button
</script>
第 18 行不是标准按钮代码的一部分,是通过在线搜索找到的。我打赌我们还没有看到它发挥作用。此外,当添加订阅并通过 Paypal 付款时,我们不会收到通知电子邮件。有谁能够成功修改这些按钮吗?
注意:我们可以找到的所有帮助主题都与旧方法相关。
window.location.href
。PAYMENT.SALE.COMPLETED
。其他事件并不重要,所有订阅逻辑都可以仅基于该事件,并在每次收到时刷新有效日期或(等效地)最后付款日期custom_id
参数(与 plan_id
一起)。该参数的值将在该订阅的所有 Webhook 中返回。