amazeui
Version:
Sleek, intuitive, and powerful front-end framework for faster and easier web development.
94 lines (73 loc) • 2.96 kB
Markdown
---
WeChat JS SDK Example. **99% of a WechatPay project is on backend. If you want to use WechatPay in your project, please pay more attention to the backend.**
**Please return the WeChat JS SDK and the authentication configuration from the backend**. See[WeChat official Docs](http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html) for more imformation.
The WechayPay requrest making through JS SDK is only avaliable in WeChat. Please scan the QR code in Wechat to see the example.
<div id="doc-wechat-pay-qr"></div>
---
```javascript
{
"id": "",
"className": "",
"theme": "",
"options": {},
"content": {
// Order imformation and signature
"order": {
"timestamp": "", // Signature timestamp.
"nonceStr": "", // Signature random string.
"package": "", // The prepay_id returned by the unified order API
"signType": "", // Encryption method
"paySign": "" // Signature
},
"title": "" // Texts on button
}
}
```
All the pages need JS-SDK should have configuration injected. Otherwise, JS-SDK will not be avaliable. See more details in [WechatPay API](http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html). Signature and other configurations can be made in server-side, and the details can be found in [Wechat Offical Docs](http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#JSSDK.E4.BD.BF.E7.94.A8.E6.AD.A5.E9.AA.A4).
```javascript
wx.config({
debug: true,
appId: '', // Required. ID of offical account.
timestamp: '', // Signature timestamp.
nonceStr: '', // Signature random train.
signature: '' // Signature
jsApiList: [
'chooseWXPay'
] // Required. The required JS API list.
});
```
See more details in [Official Docs](http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1)
See more details in [Wechat signature algorithm](http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_3)
```
wx.chooseWXPay({
timestamp: 0, // Time stamp. Though "timestamp" in jssdk are all in lowercase, the "S" in the "timeStamp" used to create signature is capitalized.
nonceStr: '', // The random string. At most 32 bits.
package: '', // The prepay_id returned by the unified order API.
signType: 'MD5', // Encryption method. Default method is 'SHA1'. The latest version require to use 'MD5'.
paySign: '', // Signature.
});
```
<script>
(function($) {
var QRCode = $.AMUI.qrcode;
$(function() {
var qrnode = new QRCode({
render: 'canvas',
correctLevel: 0,
text: 'http://amazeui.org/widgets/wechatpay',
width: 200,
height: 200,
background: '#fff',
foreground: '#000'
});
$('#doc-wechat-pay-qr').html(qrnode);
});
})(window.jQuery);
</script>