×
广告

微信公众号开发之公众号支付

96
Javen205 595a1b60 08f6 4beb 998f 2bf55e230555
2016.10.11 23:51* 字数 668

微信开发交流群:148540125
欢迎留言、转发

微信极速开发系列文章:http://www.jianshu.com/p/a172a1b69fdd

首先来看看微信支付都提供哪些支付方式如下图 官方文档

微信支付-支付方式.png
  • 刷卡支付
    由于没有设备暂不出相关文章(可以提供设备支持的请联系我)

  • APP支付
    需要在微信开放平台申请开发应用,没有申请的相关质料如果有机会后面会讲到

  • 公众号支付
    已实现 项目源码

  • 扫码支付
    已实现 项目源码

还提供了几个支付工具


微信支付-支付工具.png

开源项目中如何实现公众号支付

项目下载启动运行参考之前写的文章 项目导入IDE并启动运行

1.设置公众号支付参数

登录商户平台 https://pay.weixin.qq.com 第一登录是需要下载安全控件 安装完成启动浏览器即可输入密码。

有人要问,账号密码从何而来? 问这个问题的人一般是没有做微信认证或者说你负责的微信公众号的微信认证不是你亲力亲为的。

商户平台登录的账号密码是在微信认证审核成功之后微信团队会以邮件的方式发送到你的邮箱

微信支付-公众号支付参数.png

其中商户号为:


微信支付-商户号.png

密钥设置

微信支付-商户密钥.png

2.配置支付授权目录

注意:
1、目前支付目录可以配置三个、测试授权目录一个
2、域名必须备案
3、授权目录只需要定位到Controller

开源项目 中设置的授权目录为http://域名[/项目名称]/jssdk

支付测试:http://域名[/项目名称]/jssdk/customer

/**
 * 对整个Controller或者其中的方法添加JSSDK签名验证拦截器
 */
@Before(JSSDKInterceptor.class)
public class JSSDKController extends Controller{
    
    public void index(){
        render("share.jsp");
    }
    //公众号支付、分享、分享成功添加积分
    public void customer(){
        render("customer.jsp");
    }
    
    public void pic(){
        render("pic.jsp");
    }
}

其中 JSSDK的使用之前有讲过 如何使用JSSDK

微信支付-公众号支付

由于开启了调试模式,加载出此页面之前会提示JSSDK签名是否成功,成功之后输入金额点击提交就会调用JavaScript 中 wxpay 方法ajax去统一下单生成预付订单 输入密码支付完成支付

具体实现代码 统一下单生成预付订单 中的 index()

具体实现代码 JSSDK 公众号支付

微信分享

3.支付成功回调

默认的通知地址: String notify_url = PropKit.get("domain")+"/pay/pay_notify";

具体实现代码 支付成功回调 中的 pay_notify()

欢迎留言、转发
微信极速开发系列文章:http://www.jianshu.com/p/a172a1b69fdd

微信公众号开发
Web note ad 1