微信公众号支付(记录)

公众号微信支付开发

1.第一步:设置微信支付目录,这个地址指到支付页面的上一级即可。

例如:支付页面的地址是http://www.baidu.com/wechat/pay/shopping,只需填写http://www.baidu.com/wechat/pay/,

一定要以"/"(左斜杆)符号结尾。

 

2.第二步:设置授权域名,授权域名是为了获取支付中不可缺少的参数openid。每个用户对于每个公众号的openid都是不同的且是唯一的,即是说一个用户在不同的公众号中,他的openid是不同的,并且一直不变。在开发中可以事先获取你自己的在这个公众号(正式公众号,具有支付权限的)的openid,然后就可以跳过授权过程,直接开发并测试支付功能。

 

3.第三步:引入微信开发jar包,这是别人已经封装好的微信支付API,当然也可以使用官方的微信支付SDK,不过为了方便快速开发,

所以这里我使用了封装好的别人封装好的API,这是API文档的github地址:https://github.com/wechat-group/weixin-java-tools/wiki ,里面有具体的使用方法和开发步骤,如果你嫌看文档麻烦的话可以直接看我的开发步骤:

这是基于springboot开发的,首先引入jar包:

        <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>weixin-java-pay</artifactId>
            <version>3.1.4.BETA</version>
        </dependency>    

 

4.加入微信开发包两个基本类:

(1)在springboot配置文件application.properties中加入微信支付基本参数:

#微信公众号或者小程序等的appid
wechatpay.appId =

#微信支付商户号
wechatpay.mchId =

#微信支付商户密钥
wechatpay.mchKey=

#服务商模式下的子商户公众账号ID,用不上就注释掉
#wechatpay.subAppId=

#服务商模式下的子商户号,用不上就注释掉
#wechatpay.subMchId=

# p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)用不上就注释掉
#wechatpay.keyPath=

 

 

 

(2)添加支付配置文件参数类WxPayProperties:

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * wxpay pay properties
 *
 * @author Binary Wang
 */
@ConfigurationProperties(prefix = "wechatpay")
public class WxPayProperties {
    /**
     * 设置微信公众号的appid
     */
    private String appId;

    /**
     * 微信支付商户号
     */
    private String mchId;

    /**
     * 微信支付商户密钥
     */
    private String mchKey;

    /**
     * 服务商模式下的子商户公众账号ID,普通模式请不要配置,请在配置文件中将对应项删除
     */
    private String subAppId;

    /**
     * 服务商模式下的子商户号,普通模式请不要配置,最好是请在配置文件中将对应项删除
     */
    private String subMchId;

    /**
     * apiclient_cert.p12文件的绝对路径,或者如果放在项目中,请以classpath:开头指定
     */
    private String keyPath;

    public String getAppId() {
        return this.appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public String getMchKey() {
        return mchKey;
    }

    public void setMchKey(String mchKey) {
        this.mchKey = mchKey;
    }

    public String getSubAppId() {
        return subAppId;
    }

    public void setSubAppId(String subAppId) {
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java微信公众号现金红包是一种通过在Java代码中调用微信支付接口实现的支付功能,用户可以使用现金红包来给其他用户发送一定金额的红包。以下是具体实现步骤: 首先,我们需要在微信公众平台上注册一个公众号,并进行相关设置和认证。然后,通过微信支付开发文档了解相关的API接口和参数,获取到自己的AppID、商户号和商户密钥等信息。 接下来,在Java项目中引入微信支付的SDK,可以使用第三方开源的SDK如weixin-java-pay等,或者通过HTTP请求自行实现。 然后,编写Java代码调用微信支付接口实现现金红包的功能。首先需要构建请求参数,包括发送红包的接口URL、请求方式(一般为POST)、AppID、商户号、商户密钥、随机字符串、签名等信息。可以使用Java中的HttpURLConnection类发送HTTP请求,并添加请求头信息和请求体参数。其中,签名的生成需要根据微信支付的签名规则进行加密计算,确保数据的安全性。 最后,接收到微信支付接口返回的结果后,可以对返回的数据进行解析和处理,判断红包发送状态是否成功。根据业务需求,可以将红包发送结果进行持久化存储,以备后续查询和记录使用。 需要注意的是,微信支付的红包功能需要满足一定的条件和规则,例如红包的最低金额、发送频率等,开发者需要仔细阅读微信支付文档,并根据实际需求进行相应的调整。 总的来说,通过Java编写代码调用微信支付接口实现现金红包功能需要按照微信支付的接口规范进行开发和调试,确保支付接口的安全性和稳定性,同时可以根据具体业务需求进行功能的扩展和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值