动态生成微信支付二维码

实现步骤

一、开发前奏

开发工具:eclipse
jar管理:maven
数据库:oracle
架构:SpringMvc + Spring +Mybatis
微信公众号:企业号(个人订阅号和公众测试号无此权限)

二、开发步骤

1、开发前请先查看文档微信扫码支付流程统一下单接口设置回调接口,对整个流程有一些认识。

2、开发过程中需要的参数如下图所示。

##############################固定参数部分##############################################
#公众账号appid
appid=
#商户号:微信公众平台——微信支付——商户信息——基本信息——商户号
mch_id=
#扫码支付回调接口(扫码回调url没有严格规定的,域名和IP都可以,其他非80端口的也是可以的)
notify_url=
#交易类型,一般为NATIVE
trade_type=NATIVE
#请求的微信支付接口
ufdoder_url=https://api.mch.weixin.qq.com/pay/unifiedorder
#api密钥:微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置
api_key=
#用于请求参数的身份验证(不需要发给微信)
secertKey=
##############################动态可添加参数部分##############################################
############商品1#######
#商品名称
title_test_000=
#交易金额(单位:分)
fee_test_000=
############商品2#######
title_test_001=
fee_test_001=

3、应用运行整体流程图

在这里插入图片描述

4、设置回调接口接收微信通知消息
具体可查看文档设置回调接口

5、支付成功通知给客户端
方式一:前端js定时轮询数据库,看看是否已经支付成功,如果成功发生页面跳转。
方式二:编写windows服务,不断查询数据库,如果支付成功则下发通知短信。可参考我的制作windows服务

源代码下载链接:
https://github.com/flypangzhi/wechat-payinterface
备注:功能是实现了,不过还有很多地方可以优化,优化的任务就交给大家啦。

参考链接
log4j.properties配置详解与实例
Log4j 日志文件存放位置设置
JAVA微信扫码支付模式二功能实现完整例子

<think>好的,用户问怎么生成微信支付二维码。我需要详细回答这个问题。首先,我得考虑用户的使用场景,可能是一个商户或者个人想要接受微信支付,但不太清楚具体步骤。用户可能是小商家,没有技术背景,所以需要步骤清晰,语言简单。 首先,生成微信支付二维码通常需要商户账号,所以第一步应该提到注册成为微信支付商户。需要准备营业执照、法人身份证等材料,这可能是个体户或者企业需要的。用户可能不清楚需要哪些材料,所以需要列出基本所需资料。 接下来,可能需要创建应用或小程序,因为微信支付常与这些关联。但如果是线下商户,可能只需要在商户平台生成固定二维码。这里要分情况说明,线上和线下的不同流程。用户可能分不清,所以需要明确区分两种情况。 然后,线上生成的话,可能需要API对接,涉及到开发工作,比如生成动态二维码。这对于普通用户来说可能比较复杂,所以可能需要建议他们找技术人员帮忙,或者推荐使用第三方支付平台简化流程。线下生成固定二维码相对简单,直接在商户平台申请,然后下载打印即可。 还要注意费率和合同签订,用户可能关心费用问题,需要提醒他们查看费率。另外,安全方面,二维码不能随意泄露,防止被替换,这也是商户需要注意的地方。可能用户没有想到这一点,需要强调。 另外,用户可能不知道微信支付商户平台的网址,应该给出正确的链接,避免他们搜索到钓鱼网站。同时,如果用户是个人,没有营业执照,可能需要告知他们无法直接申请,可以考虑通过其他途径,比如与有资质的服务商合作,或者使用个人收款,但个人可能有限额。 最后,检查步骤是否全面,是否覆盖了不同情况,语言是否易懂,没有使用过多技术术语。可能需要总结步骤,让用户一目了然。如果有常见问题,比如资料审核时间、费率多少,可以适当提及,但用户的问题主要是生成步骤,所以保持重点在此。</think>生成微信支付二维码需要经过微信支付的官方授权,主要分为商户资质申请和技术对接两个步骤。以下是具体流程: --- ### **一、前提条件** 1. **注册主体类型**: - 企业、个体工商户:需提供营业执照、法人身份证、对公银行账户等。 - 个人无法直接申请微信支付商户,需通过有支付资质的第三方平台(如收钱吧、付呗)间接接入。 2. **开通微信支付商户号**: - 访问[微信支付商户平台](https://pay.weixin.qq.com),提交资料并等待审核(约1-5个工作日)。 --- ### **二、生成支付二维码的两种方式** #### **方式1:线下固定收款(无需开发)** - **适用场景**:实体店、摊位等线下收款。 - **步骤**: 1. 登录微信支付商户平台,进入【产品中心】→【收款】。 2. 选择二维码类型(商家收款、单品等),填写收款信息。 3. 生成并下载二维码,打印后张贴使用。 - **特点**: - 固定金额或自定义金额。 - 支持信用卡、花呗(需开通权限)。 #### **方式2:线上动态二维码(需技术开发)** - **适用场景**:网站、APP、小程序等线上支付。 - **步骤**: 1. **API对接**:开发团队需调用微信支付API(如Native支付)生成动态二维码。 2. **参数配置**:传递订单号、金额、商品描述等信息至微信服务器。 3. **生成二维码**:后端接收微信返回的支付链接,转换为二维码图片(可使用工具如`qrcode.js`生成)。 - **示例代片段(Node.js)**: ```javascript const qrcode = require('qrcode'); const payUrl = 'weixin://wxpay/bizpayurl?pr=xxx'; // 微信返回的支付链接 qrcode.toFile('qrcode.png', payUrl); // 生成二维码图片 ``` --- ### **三、注意事项** 1. **费率**:微信支付标准费率通常为0.6%,不同行业可能略有差异。 2. **安全**: - 定期检查二维码是否被篡改。 - 线上动态二维码需防范重复支付、超时等问题。 3. **合规性**:不得生成二维码用于非法交易或套现。 --- ### **四、替代方案(无商户资质)** 若无法申请微信支付商户号,可考虑: 1. **个人收款**:微信内【收付款】→【二维码收款】,但无法用于经营性收款且有限额。 2. **第三方聚合支付**:通过服务商(如收钱吧、钱方)生成聚合二维码,支持微信、支付宝等多渠道。 --- 根据你的使用场景选择合适的方式,若有技术疑问可进一步说明需求!
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值