uniapp中实现信用卡支付 - stripe.js
准备
stripe.js
uniapp-H5-API
思路
代码
-
动态创建<script>标签加载stripe.js
let form = window.document.getElementById("formDom");
let script = window.document.createElement("script");
script.src = "https://checkout.stripe.com/checkout.js";
script.className = "stripe-button";
script.setAttribute('data-name', '*** store')
script.setAttribute('data-key', 'keyValue')
script.setAttribute('data-amount', 总金额)
script.setAttribute('data-description', 'yami store')
script.setAttribute('data-image',
'https://stripe.com/img/documentation/checkout/marketplace.png')
script.setAttribute('data-locale', 'auto')
script.setAttribute('data-currency', 'AUD')
form.appendChild(script);
// 挂载stripe basePath
$.get(basePath + '/api/createCheckout', {
params: param
}, function(res) {
// console.log('stripe==GET', res)
})
- 以上我们完成了stripe.js的配置,会自动生成一个支付按钮。点击按钮后他会自动走流程。
跳转
自己写了一个解析url参数的方法分享一下
let getUrlName = (...args) => {
let currindex = curPath.indexOf('?')
let currStr = curPath.slice(currindex + 1)
let paramsArr = currStr.split('&')
let res = {}
if (currindex > 0) {
if (args.length === 0) {
paramsArr.map((item, index) => {
let i = item.split('=')
let key = i[0]
res[key] = i[1]
})
return res
} else {
paramsArr.forEach((item, index) => {
let i = item.split('=')
let key = i[0]
if (args.includes(key)) {
res[key] = i[1]
}
})
return res
}
} else {
return {
error: '参数错误'
}
}
}
总结:
- 不难,就是遇到好多小坑。
- 坑1: 在创建web-view时如果传入
plusrequire:"none"
将无法加载uniapp-API
- 坑2: 就是上面说到的必须引入两个微信和uniapp
本文标题:uniapp中实现信用卡支付 - stripe.js
本文链接:https://www.haomeiwen.com/subject/spzqcltx.html
网友评论