java版微信支付

本文档介绍了如何使用Java实现微信支付,包括从获取appid、mch_id、密钥等配置信息,到生成订单、调用统一下单接口、处理回调等关键步骤。并提供了支付配置类和支付方法的代码示例,以及JSP支付页面的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

由于最近公司项目需要接入网页版微信支付,我在官网上查询了很久,发现微信官网只提供了扫码支付等java demo,或者只有php等其它语言的微信支付,只提供了支付的一些API,所以这里需要自己根据官网提供的api自己写支付。

1,请先查看微信支付的流程图,了解下微信支付的过程。



1,在手机微信上打开一个h5页面(微信已经提供桌面版微信了,我们可以直接在桌面上面调试更加方便)

2,生成一个JAVA的订单接口,然后返回一个我们自己的订单号。

3,将订单号、商品信息、价格等信息拼接生成统一下单接口获得prepay_id

注:调用下单接口时需要先获取openid

     3.1)调用用户授权接口获得code值

     3.2)将得到的code的值去获取openid

     3.3)根据得到的openid获得prepay_id

4,用户点击支付,获取用户授权

5,授权成功进入微信端支付界面进行支付操作

6,支付成功后回调自己配置界面,微信端通知后端服务器

-----------------------------------------------------------------------------------------------------------------------------------------------------

进入正题

1,如何申请成为公众号,申请成为支付服务号这些这里就不提了

2,配置微信公众平台服务号(记住是进入服务号账号)

    2.1)进入微信公众平台,点击微信支付按钮(如图)

    2.2)添加你的支付授权测试目录跟正式授权支付目录、并且添加测试微信号

注:授权目录一定是支付页面的上级目录,如:我的支付页面为:http://www.baidu.com/test/pay/index.jsp,那么我的授权目录是http://www.baidu.com/test/pay/

注意是以/结束。

     2.3)进入微信开发者中心,找到网页授权获取用户基本信息添加网页授权域名(如www.baidu.com,不需要带http://,也不能是ip地址)

3,根据微信支付需要的配置去获取对应的信息

    3.1)appid公众号APPID、mch_id微信支付商户号在微信申请成功后发送到邮箱获取

    3.2)应用密钥AppSecret在开发者中心->配置项->开发者ID查看

   3.3)商户支付密钥Key以及证书路径 在微信支付商户平台,在【账户设置-密码安全-API安全】中下载以及设置

   3.4)配置支付页面已经支付回调页面(www.test.com/pay/testPay/index.jsp)






---------------------------------------------------------------------------------------------------------------

代码部分

1,支付配置页面

package com.weixin.config;


public class WeixinConfig {
//=======【基本信息设置】=====================================
//微信公众号身份的唯一标识。审核通过后,在微信发送的邮件中查看
public static final String APPID = "wxb69e254afdb3fae4";
//受理商ID,身份标识
public static final String MCHID = "1246043803";
//商户支付密钥Key。审核通过后,在微信发送的邮件中查看
public static final String KEY = "qwertyuioplkjhgfdsazxcvbnm125871";
//JSAPI接口中获取openid,审核后在公众平台开启开发模式后可查看
public static final String APPSECRET = "d896864455e000ea86e722e95e34d2d3";
//=======【JSAPI路径设置】===================================
//获取access_token过程中的跳转uri,通过跳转将code传入jsapi支付页面
public static final String JS_API_CALL_URL = "http://www.weixin.com/weixin/webApp/pay/index.jsp";
//=======【证书路径设置】=====================================
//证书路径,注意应该填写绝对路径
public static final String SSLCERT_PATH = "/home/wwwroot/weixin/webApp/WxPayPubHelper/cacert/apiclient_cert.pem";
public static final String SSLKEY_PATH = "/home/wwwroot/weixin/webApp/WxPayPubHelper/cacert/apiclient_key.pem";

//=======【异步通知url设置】===================================
//异步通知url,商户根据实际开发过程设定
public static final String NOTIFY_URL = "http://www.weixin.com/weixin/webApp/pay/notify_url.jsp";


//=======【http超时设置】=================================

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值