PayPal Donate SDK - 预填金额和频率
PayPal Donate SDK - Prefill Amount and Frequency
我正在构建一个包含自定义捐赠表单的应用程序,用户可以在其中 select:
- 频率:每月,单次
- 数量:3 个带值的按钮,输入自定义值
我正在使用 PayPal Donate SDK,但找不到一种方法来传递金额或频率,以便预先填写金额和“每月捐款”复选框 selected/deselected 基于用户输入。
PayPal 按钮已添加到页面(只是在表单按钮上设置了绝对样式)并且 SDK 以模式打开捐赠页面,这是我想要的结果。
这是显示我的按钮的代码:
window.PayPal.Donation.Button({
env: "sandbox",
hosted_button_id: "xxxxxxxxxxxx",
onComplete: function() {
// Redirect to success page, save the PP transaction details, etc.
}
}).render("#paypal-donate-button-container");
使用标准 PayPal.Buttons
API,我可以像这样传入一个 createOrder
函数,我可以在其中设置数量,例如;
window.PayPal.Buttons({
// ...
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: document.querySelector(".selected-premium").dataset.value
},
reference_id: document.querySelector(".selected-premium").dataset.days + "-days"
}]
});
}
}
有没有办法使用 SDK 传递金额和频率,类似于我使用标准付款的方式 API?如果不是,2022 年有哪些不依赖于使用不再 exist/deprecated 方法的文档的 SO 答案的替代方案?
使用 PayPal 捐赠流程(包括捐赠 SDK)
您可以为 amount
和 currency_code
传递参数。如果您确实通过了预先填写的金额,则将不提供使捐款重复的选项。
您不能预先 select 使捐款在捐款流程中重复出现的选项。
对于经常性捐赠的情况——因为不可能预先选中使它们在捐赠流程中重复出现的选项,也不可能预先填写金额并让重复选择可用——什么您可以做的是在 selected 重复时使用订阅流程,并将此呈现在单独的 div 容器中,该容器 shown/hidden 基于您的月度与单次 select离子。您帐户的订阅按钮可以在以下位置生成:https://www.paypal.com/billing/plans . The plan it uses must have a specific amount, but this can be overridden 在 JS createSubscription
函数中(基于您网站上输入的任何 selection 或金额)(除了基础plan_id
) 添加一个 plan
对象,其中包含一个具有您想要的 amount/frequency 的 billing_cycles
对象。
我正在构建一个包含自定义捐赠表单的应用程序,用户可以在其中 select:
- 频率:每月,单次
- 数量:3 个带值的按钮,输入自定义值
我正在使用 PayPal Donate SDK,但找不到一种方法来传递金额或频率,以便预先填写金额和“每月捐款”复选框 selected/deselected 基于用户输入。
PayPal 按钮已添加到页面(只是在表单按钮上设置了绝对样式)并且 SDK 以模式打开捐赠页面,这是我想要的结果。
这是显示我的按钮的代码:
window.PayPal.Donation.Button({
env: "sandbox",
hosted_button_id: "xxxxxxxxxxxx",
onComplete: function() {
// Redirect to success page, save the PP transaction details, etc.
}
}).render("#paypal-donate-button-container");
使用标准 PayPal.Buttons
API,我可以像这样传入一个 createOrder
函数,我可以在其中设置数量,例如;
window.PayPal.Buttons({
// ...
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: document.querySelector(".selected-premium").dataset.value
},
reference_id: document.querySelector(".selected-premium").dataset.days + "-days"
}]
});
}
}
有没有办法使用 SDK 传递金额和频率,类似于我使用标准付款的方式 API?如果不是,2022 年有哪些不依赖于使用不再 exist/deprecated 方法的文档的 SO 答案的替代方案?
使用 PayPal 捐赠流程(包括捐赠 SDK)
您可以为
amount
和currency_code
传递参数。如果您确实通过了预先填写的金额,则将不提供使捐款重复的选项。您不能预先 select 使捐款在捐款流程中重复出现的选项。
对于经常性捐赠的情况——因为不可能预先选中使它们在捐赠流程中重复出现的选项,也不可能预先填写金额并让重复选择可用——什么您可以做的是在 selected 重复时使用订阅流程,并将此呈现在单独的 div 容器中,该容器 shown/hidden 基于您的月度与单次 select离子。您帐户的订阅按钮可以在以下位置生成:https://www.paypal.com/billing/plans . The plan it uses must have a specific amount, but this can be overridden 在 JS createSubscription
函数中(基于您网站上输入的任何 selection 或金额)(除了基础plan_id
) 添加一个 plan
对象,其中包含一个具有您想要的 amount/frequency 的 billing_cycles
对象。