微信支付开发

2019-12-03  本文已影响0人  快乐的小2缺
支付流程图

商户系统和微信支付系统主要交互说明:

步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。

步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。

    步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay   

步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明

步骤5:商户后台接收支付通知。api参见【支付结果通知API

步骤6:商户后台查询支付结果。,api参见【查询订单API

对于服务端来说,只需要做两件事情,一是接收APP提交的支付申请,调用微信下单接口生成预支付订单,并将签名信息返回给APP;二是开发接收微信支付结果通知的接口,微信官方后台在你们的APP支付完成后,会调用该接口通知你们该支付订单的支付结果。

一、添加微信支付依赖

<dependency>

    <groupId>com.github.wxpay</groupId>

    <artifactId>wxpay-sdk</artifactId>

    <version>0.0.3</version>

</dependency>

二、下单接口的开发

微信官方统一下单接口URL:https://api.mch.weixin.qq.com/pay/unifiedorder

必传参数说明:

1、appid:应用ID   string(32)  如:wxd678efh567hg6787   

    微信开放平台审核通过的应用APPID(请登录open.weixin.qq.com查看,注意与公众号的APPID不同)

2、mch_id:商户号    string(32)  如:1230000109

微信支付分配的商户号

3、nonce_str:随机字符串    string(32)  如:5K8264ILTKCH16CQ2502SI8ZNMTM67VS

随机字符串,不长于32位,可直接调用WXPayUtil.generateNonceStr()获取。推荐随机数生成算法

4、sign:签名    string(32)  如:C380BEC2BFD727A4B6845133519F3AD6

签名,详见签名生成算法

5、body:商品描述    string(32)  如:腾讯充值中心-QQ会员充值(APP名称-商品名称)

商品描述交易字段格式根据不同的应用场景按照以下格式:APP——需传入应用市场上的APP名字-实际商品名称,天天爱消除-游戏充值。

6、out_trade_no:商户订单号    String(32)    如:20150806125346

商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一。详见商户订单号

7、total_fee:总金额    Int     如:888

订单总金额,单位为分,详见支付金额

8、spbill_create_ip:终端IP    String(64)    如:123.12.12.123

支持IPV4和IPV6两种格式的IP地址。调用微信支付API的机器IP

9、notify_url:通知地址    String(256)    如:http://www.weixin.qq.com/wxpay/pay.php

接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。即第二步开发的接口外网地址

10、trade_type:交易类型    String(16)    如:APP

支付类型

三、接收微信支付结果接口的开发   

上一篇下一篇

猜你喜欢

热点阅读