java如何实现微信扫码支付功能
1、有关配置参数还是之前那四样,APP_ID和APP_SECRET可以在公众平台找着,MCH_ID和API_KEY则在商户平台找到,特别是API_KEY要在商户平台设置好,这个东东关系到参数校验的正确与否,所以一定要设置正确。扫码支付模式一其实与扫码支付模式二类似,实际只会用到APP_ID、MCH_ID和API_KEY,其他的都不用。
2、咱们要设置一个自己服务器的地址(再说一遍公网地址,就是让微信服务器能找着你)。
3、开发实战在动手之前,我建议大家先去官方文档那好好看看那个时序图,理骈禄笫杳解了那个时序图,写代码也就不是什么难事了,当然如果看图你没办法理解,也可以结合我下面的代码来试着理解。2.1、二维码生成首先是二维码,二维码中的内容为链接,形式为:weixin://wxpay/bizpayurl?sign=XXXXX&appid=XXXXX&mch_id=XXXXX&product_id=XXXXXX&time_stamp=XXXXXX&nonce_str=XXXXX具体可以参考官方文档模式一生成二维码规则。接下来我们需要将该链接生成二维码,我这里使用了Google ZXing来生成二维码。
4、扫描支付回调url接口当客户用微信扫了上面的二位码之后,微信服务器就会访问此接口,在这里我们要完成统一下单获取交易会话标识,处理的主要流程如下:1)、接收微信服务器发送过来的参数,对参数进行签名校验;2)、取出参数product_id,这是二维码上唯一能够透传过来的参数,其他参数可参照官方文档模式一3.1 输入参数;3)、根据product_id处理自己的业务,比如计算支付金额,生成订单号等;
5、4)、调用统一下单接口获取交易会话标识prepay_id;
6、至此,用户的微信单就会显示出要支付的金额及商品描述等,接下来就是等待客户完成支付。