前言
欢迎大佬指正思路。
由于最近面试时,被问到了这种问题,但是我回答的含糊不清。
虽然以前做过这些功能,但是一直都没有去总结和记录,所以我决定回顾一下并记录下来。
此支付为 v2 。
只记录思路
正文
uniapp
首先,默认已经准备好小程序 appid 等相关内容。
<template>
<view>
<view @click="pay">支付<view>
</view>
</template>
<script>
export default {
methods: {
pay() {
uni.request({
url: '192.168.1.99:1234/api/pay',
method: 'POST',
data: {
total_fee: 100 }, // 传入支付金额
header: {
Authorization: uni.getStorageSync('token') }, // 这里假设已经获取到用户凭证的 openid,并存入数据库,token中记录对应表id
success: (res) => {
uni.requestPayment({
"timeStamp": res.data.result.timeStamp,
"nonceStr": res.data.result.nonceStr,
"package": res.data.result.package,
"signType": "MD5",
"paySign": res.data.result.paySign,
success: (res) => {
}, // 支付成功
fail: (err) => {
}, // 支付失败
})
},
fail: