美文网首页
微信支付开发

微信支付开发

作者: 快乐的小2缺 | 来源:发表于2019-12-03 09:34 被阅读0次
    支付流程图

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

    步骤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

    支付类型

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

    相关文章

      网友评论

          本文标题:微信支付开发

          本文链接:https://www.haomeiwen.com/subject/hkaqgctx.html