javascript - 条带支付成功后执行JS函数
问题描述
我决定使用 Stripe 提供的自定义按钮代码来接受我销售的单个产品的付款。它看起来像这样:
<script src="https://checkout.stripe.com/checkout.js"></script>
<button id="customButton">Hire Bike (1 Day)</button>
<script>
var handler = StripeCheckout.configure({
key: 'MY_KEY',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
// You can access the token ID with `token.id`.
// Get the token ID to your server-side code for use.
}
});
document.getElementById('customButton').addEventListener('click', function(e) {
// Open Checkout with further options:
handler.open({
name: 'Bike Company',
description: '1 Day Bike Hire',
currency: 'usd',
amount: 25000
});
e.preventDefault();
});
// Close Checkout on page navigation:
window.addEventListener('popstate', function() {
handler.close();
});
</script>
虽然它确实有效(当然当我使用我的实际公共 API 密钥时),但我找不到解决方案是在付款成功时执行我自己的一些 JS 的方法。
我在文档中找不到答案,所以从 SO 社区寻找建议。
解决方案
您可以在令牌回调中运行代码:
<script src="https://checkout.stripe.com/checkout.js"></script>
<button id="customButton">Hire Bike (1 Day)</button>
<script>
var handler = StripeCheckout.configure({
key: 'MY_KEY',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
// DO STUFF HERE
alert("Wahoo! You paid!")
}
});
document.getElementById('customButton').addEventListener('click', function(e) {
// Open Checkout with further options:
handler.open({
name: 'Bike Company',
description: '1 Day Bike Hire',
currency: 'usd',
amount: 25000
});
e.preventDefault();
});
// Close Checkout on page navigation:
window.addEventListener('popstate', function() {
handler.close();
});
</script>
推荐阅读
- python - 使用 OpenCV 识别分段实例周围的普通背景
- elasticsearch - Logstash:从一个弹性搜索迁移到另一个弹性搜索会导致一些附加属性
- python-3.x - How can i create list of lists from file where every list would have more than one line?
- java - 系统找不到指定的文件 Java
- javascript - Selectize.js - onInitialize 事件和加载方法之间的区别?
- apache-kafka - KSQL WARN 警告:窗口结束时间被截断为 Long.MAX 是什么意思?
- windows - 获取原因:线程“主”java.lang.VerifyError 中的异常
- typescript - Enums vs Constant differences on Typescript
- sas - Different numbers, different dates, number of calls by hour each day 0 where absent
- openshift - 如何知道 OpenShift 中的 Pod 重启/崩溃的原因?