微信支付

微信JSSDK文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

一、支付

1、JSAPI支付
微信公众号,微信扫码
文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1
参考:https://www.cnblogs.com/cinlap/p/11077632.html

  1. 初始化微信API,验证config权限配置
wx.config({
 // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log
 // 打出,仅在pc端时才会打印。
 debug: true,
 appId: '', // 必填,公众号的唯一标识
 timestamp: , // 必填,生成签名的时间戳
 nonceStr: '', // 必填,生成签名的随机串
 signature: '',// 必填,签名
 jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表
});

2.通过ready接口处理成功验证

wx.ready(function(){
  /* config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,
  config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,
  则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,
  则可以直接调用,不需要放在ready函数中。
  */
   wx.chooseWXPay({
      appId: appId, // 必填,公众号的唯一标识
      timestamp: timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
      nonceStr: nonceStr, // 支付签名随机串,不长于 32 位
      package: packages, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
      signType: signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
      paySign: paySign, // 支付签名
      success: function (res) {
       /*
		// 支付成功后的回调函数
		a、
	 */
       cb(res);
       console.log('成功',res)
      },
      fail: function (res) {
        //失败回调函数
      }
    });
});
  1. 错误处理
 wx.error(function (res) {
    console.log('wx.error失败',res)

    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,
    // 也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
    /*alert("config信息验证失败");*/
  });

2、H5支付
微信外的手机浏览器内调起支付页面
文档:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_3
参考:https://www.cnblogs.com/imelemon/p/10615861.html

//  向服务端发起支付请求,成功后跳转到支付页面
let redirectURI = encodeURIComponent(res.result.payUrl) 
window.location.href = redirectURI  

二、提现

你可能感兴趣的:(JavaScript,微信支付,微信H5支付,微信JSAPI支付,支付)