HTML5微信支付和微信公众号内微信支付(VUE)
HTML5微信支付和微信公众号内微信支付(VUE)一、微信公众号内微信支付
微信公众号内微信支付是微信官方提供的支付接口,允许开发者在微信公众号中进行支付。这种方式比传统的网页支付更安全和方便。
1.1 首先进行微信授权获取code首先,我们需要让用户授权我们使用微信账户,这样我们才能获取到code。我们可以通过以下代码来实现:
```javascriptgetCodeApi(state) {
let urlNow = encodeURIComponent(window.location.href);
// 授权之后重定向到当前页面 window.location.href = ` 获取微信授权后的code当用户授权成功后,我们会得到一个code,这个code是临时的,需要在一定时间内使用。我们可以通过以下代码来获取:
```javascriptgetWxCode() {
let code = this.$route.query.code;
if (code) {
// 使用code换取access_token this.getAccessToken(code);
}
},
```
1.3 使用code换取access_token我们可以通过以下代码来使用code换取access_token:
```javascriptgetAccessToken(code) {
let url = ` axios.get(url)
.then((res) => {
this.accessToken = res.data.access_token;
// 使用access_token换取openid this.getOpenId();
})
.catch((err) => {
console.error(err);
});
},
```
1.4 使用access_token换取openid我们可以通过以下代码来使用access_token换取openid:
```javascriptgetOpenId() {
let url = ` axios.get(url)
.then((res) => {
this.openid = res.data.openid;
// 使用openid换取unionid this.getUnionId();
})
.catch((err) => {
console.error(err);
});
},
```
1.5 使用openid换取unionid我们可以通过以下代码来使用openid换取unionid:
```javascriptgetUnionId() {
let url = ` axios.get(url)
.then((res) => {
this.unionid = res.data.unionid;
// 使用unionid进行支付 this.pay();
})
.catch((err) => {
console.error(err);
});
},
```
1.6 使用unionid进行支付我们可以通过以下代码来使用unionid进行支付:
```javascriptpay() {
let url = ` axios.get(url)
.then((res) => {
this.prepay_id = res.data.prepay_id;
// 使用prepay_id进行支付 this.payPrepayId();
})
.catch((err) => {
console.error(err);
});
},
```
1.7 使用prepay_id进行支付我们可以通过以下代码来使用prepay_id进行支付:
```javascriptpayPrepayId() {
let url = ` axios.get(url)
.then((res) => {
this.result = res.data;
// 支付成功 console.log(this.result);
})
.catch((err) => {
console.error(err);
});
},
```
二、微信公众号内微信支付(VUE)2.1 使用VUE进行微信授权获取code我们可以通过以下代码来使用VUE进行微信授权获取code:
```javascriptgetCodeApi(state) {
let urlNow = encodeURIComponent(window.location.href);
// 授权之后重定向到当前页面 window.location.href = ` 使用VUE获取微信授权后的code我们可以通过以下代码来使用VUE获取微信授权后的code:
```javascriptgetWxCode() {
let code = this.$route.query.code;
if (code) {
// 使用code换取access_token this.getAccessToken(code);
}
},
```
2.3 使用VUE使用code换取access_token我们可以通过以下代码来使用VUE使用code换取access_token:
```javascriptgetAccessToken(code) {
let url = ` axios.get(url)
.then((res) => {
this.accessToken = res.data.access_token;
// 使用access_token换取openid this.getOpenId();
})
.catch((err) => {
console.error(err);
});
},
```
2.4 使用VUE使用access_token换取openid我们可以通过以下代码来使用VUE使用access_token换取openid:
```javascriptgetOpenId() {
let url = ` axios.get(url)
.then((res) => {
this.openid = res.data.openid;
// 使用openid换取unionid this.getUnionId();
})
.catch((err) => {
console.error(err);
});
},
```
2.5 使用VUE使用openid换取unionid我们可以通过以下代码来使用VUE使用openid换取unionid:
```javascriptgetUnionId() {
let url = ` axios.get(url)
.then((res) => {
this.unionid = res.data.unionid;
// 使用unionid进行支付 this.pay();
})
.catch((err) => {
console.error(err);
});
},
```
2.6 使用VUE使用unionid进行支付我们可以通过以下代码来使用VUE使用unionid进行支付:
```javascriptpay() {
let url = ` axios.get(url)
.then((res) => {
this.prepay_id = res.data.prepay_id;
// 使用prepay_id进行支付 this.payPrepayId();
})
.catch((err) => {
console.error(err);
});
},
```
2.7 使用VUE使用prepay_id进行支付我们可以通过以下代码来使用VUE使用prepay_id进行支付:
```javascriptpayPrepayId() {
let url = ` axios.get(url)
.then((res) => {
this.result = res.data;
// 支付成功 console.log(this.result);
})
.catch((err) => {
console.error(err);
});
},
```
以上是使用VUE进行微信授权获取code、使用code换取access_token、使用access_token换取openid、使用openid换取unionid、使用unionid进行支付和使用prepay_id进行支付的示例代码。