欢迎访问百里百科

微信小程序支付,如何开通与使用

频道:微信小程序搭建 日期: 浏览:1880

随着移动互联网的快速发展,微信已经成为了人们日常生活中不可或缺的沟通工具,在微信中,小程序作为一种轻量级应用,为用户提供了丰富的功能和服务,而微信支付作为微信生态的重要组成部分,为小程序开发者提供了便捷的支付解决方案,如何在微信小程序中开通并使用微信支付呢?本文将为您详细介绍。

开通微信支付

1、注册微信公众平台

您需要注册一个微信公众号,在完成公众号注册后,进入微信公众平台(mp.weixin.qq.com),点击“设置”->“基本配置”,然后选择“商户信息”->“添加商户信息”,按照提示填写相关信息,包括商户名称、营业执照号码、许可证号码等,完成填写后,提交审核。

2、实名认证

微信小程序支付,如何开通与使用

在微信公众号的“设置”->“基本配置”中,找到“安全中心”->“实名认证”,按照提示进行实名认证,需要注意的是,微信支付要求商户必须完成实名认证才能使用。

3、开通微信支付功能

在微信公众号的“设置”->“开发”->“开发者资质”,选择“已认证开发者”,然后点击“申请接入”按钮,系统会弹出一个对话框,要求您填写商户信息和结算银行账户信息,填写完成后,提交审核,审核通过后,您的微信公众号就成功开通了微信支付功能。

在小程序中使用微信支付

1、配置小程序支付参数

在小程序开发过程中,需要先配置小程序的支付参数,在小程序的app.json文件中,添加如下代码:

{
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于获取附近的位置"
    }
  },
  "payment": {
    "merchantId": "你的商户号", //必填
    "notifyUrl": "你的回调地址", //必填
    "certPath": "你的证书路径", //必填
    "keyPath": "你的证书密钥路径" //必填
  }
}

注意替换上述代码中的占位符为您自己的实际信息,还需要在小程序管理后台的“设置”->“开发设置”中,配置支付授权目录,wxpay/business/pay。

2、实现小程序支付功能

在小程序中实现支付功能,主要需要以下几个步骤:

(1)调用wx.requestPayment接口发起支付请求:用户在小程序中选择商品或服务后,可以点击“立即购买”或“确认支付”等按钮,此时需要调用wx.requestPayment接口发起支付请求,该接口接收一个对象参数,包含以下字段:

- timeStamp:时间戳,表示当前时间;

- nonceStr:随机字符串,用于防止重放攻击;

- package:统一下单接口返回的预支付id;

- signType:签名类型,默认为MD5;

- paySign:签名内容,由后端生成并传入;

微信小程序支付,如何开通与使用

- success:支付成功的回调函数;

- fail:支付失败的回调函数;

- complete:支付完成的回调函数(无论成功还是失败都会执行)。

wx.requestPayment({
  timeStamp: 'xxx', //时间戳,从后端获取
  nonceStr: 'xxx', //随机字符串,从后端获取并传入
  package: 'xxx', //统一下单接口返回的预支付id,从后端获取并传入
  signType: 'MD5', //签名类型,默认为MD5
  paySign: 'xxx', //签名内容,由后端生成并传入,从后端获取并传入
  success: function (res) {
    console.log('支付成功', res);
  },
  fail: function (res) {
    console.log('支付失败', res);
  },
  complete: function (res) {
    console.log('支付完成', res);
  }
});

(2)调用wx.chooseWXPay接口唤起微信支付界面:当用户同意支付后,需要调用wx.chooseWXPay接口唤起微信支付界面,该接口接收一个对象参数,包含以下字段:

- appId:微信公众号的appId;

- timeStamp:时间戳,表示当前时间;

- nonceStr:随机字符串,用于防止重放攻击;

- package:统一下单接口返回的预支付id;

- signType:签名类型,默认为MD5;

- paySign:签名内容,由后端生成并传入;

- success:支付成功的回调函数;

- fail:支付失败的回调函数;

- cancel:支付取消的回调函数。

wx.chooseWXPay({
  timestamp: 'xxxx', //时间戳,从后端获取并传入前缀为yyyymmddHHmmss的形式的数字字符串表示的19位整数时间戳值(如20160704180709表示2016年7月4日18时07分09秒)', //时间戳参数(必填),从后端获取并传入前缀为yyyymmddHHmmss的形式的数字字符串表示的19位整数时间戳值(如20160704180709表示2016年7月4日18时07分09秒)' + 'xxxx' + 'nonceStr': 'xxxxx' + 'package': 'xxxxx' + 'signType': 'MD5' + 'paySign': 'xxxxx' + 'success': function (res) {} + 'fail': function (res) {} + 'cancel': function (res) {}}) //调用wx.requestPayment发起支付请求时的success、fail、complete回调函数同理可得。';+ 'appId': '' + 'timeStamp': '' + 'nonceStr': '' + 'package': '' + 'signType': '' + 'paySign': '' + 'success': function (res) {} + 'fail': function (res) {} + 'cancel': function (res) {}});//注意这里的appId需要替换成你自己的微信公众号appId。';+ 'timestamp': '' + 'nonceStr': '' + 'package': '' + 'signType': '' + 'paySign': '' + 'success': function (res) {} + 'fail': function (res) {} + 'cancel': function (res) {}});//注意这里的appId需要替换成你自己的微信公众号appId。';+ 'appId': '' + 'timeStamp': '' + 'nonceStr': '' + 'package': '' + 'signType': '' + 'paySign': '' + 'success': function (res) {} + 'fail': function (res) {} + 'cancel': function (res) {};//注意这里的appId需要替换成你自己的微信公众号appId。';+ 'timestamp': '' + 'nonceStr': '' + 'package': '' + 'signType': '' + 'paySign': '' + 'success': function (res) {} + 'fail': function (res) {} + 'cancel': function (res) {};//注意这里的appId需要替换成你自己的微信公众号appId。';+ 'appId': '' + 'timeStamp': '' + 'nonceStr': '' + 'package': '' + 'signType': '' + 'paySign': '' + 'success': function (res) {} + 'fail': function (res) {} + 'cancel': function (res) {};//注意这里的appId需要替换成你自己的微信公众号appId。';+ 'timestamp': '' + 'nonceStr': '' += '<br>';+ '<div style="text-align: center">请用微信扫下方二维码完成付款</div><img src="https://via.placeholder.com/128">' //唤起微信支付界面所需的HTML代码<br>+ '<div style="text-align: center">请用微信扫下方二维码完成付款</div><img src="https://via.placeholder.com/128">//唤起微信支付界面所需的HTML代码<br>+ '<br></div>';//将唤起微信支付界面所需的HTML代码插入到指定位置(如body标签下)<br>+ '<div style="text-align: center"><span id="payResult">支付结果将会在这里显示</span></div><br>//将支付结果展示给用户的元素<br>';//将展示支付结果的元素插入到指定位置(如body标签下)。//注意这里的appId需要替换成你自己的微信公众号appId。<br>+ '<script type="text/javascript">wx.ready(function() {'+ '<br>//这里写唤起微信支付界面后的js代码<br>'+ });</script>';//在页面加载完成后执行的代码<br>document.getElementById("payResult").innerHtml = "<font color='#c4abab'

与本文内容相关的知识文章:

微信推文怎么取消小程序(微信推荐文章怎么关闭)

微信小程序怎么悬浮在边上(微信小程序怎么悬浮窗口)

微信小程序经费预算怎么写(小程序经济效益)

微信小程序建设过程怎么写(微信小程序建设过程怎么写文案)

微信小程序捏脸怎么玩的(微信捏捏脸怎么弄)