分享微信公众号开发刷卡支付的实例教程
欢迎留言、转发 此篇文章具体来聊聊微信刷卡支付 场景介绍
商户侧流程详细文档介绍只需要简单了解流程 点击这里 刷卡支付接入模式可分为:商户后台接入(提供给别人使用类似第三方)和门店接入(自己使用); 根据用户是否需要输入支付密码可分为:免密模式和验密模式。 支付验证密码规则
下面来讲讲具体实现 刷卡支付当中使用的支付接口为: 提交刷卡支付API 使用的是 以下是具体实现代码: public void micropay(){ String url="https://api.mch.weixin.qq.com/pay/micropay"; String total_fee="1"; //授权码 String auth_code = getPara("auth_code"); Map<String, String> params = new HashMap<String, String>(); params.put("appid", appid); params.put("mch_id", partner); params.put("device_info", "javen205");//终端设备号 params.put("nonce_str", System.currentTimeMillis() / 1000 + ""); params.put("body", "刷卡支付测试");// params.put("detail", "json字符串");//非必须 params.put("attach", "javen205");//附加参数非必须 String out_trade_no=System.currentTimeMillis()+""; params.put("out_trade_no", out_trade_no); params.put("total_fee", total_fee); String ip = IpKit.getRealIp(getRequest()); if (StrKit.isBlank(ip)) { ip = "127.0.0.1"; } params.put("spbill_create_ip", ip); params.put("auth_code", auth_code); String sign = PaymentKit.createSign(params, paternerKey); params.put("sign", sign); String xmlResult = HttpUtils.post(url, PaymentKit.toXml(params)); //同步返回结果 System.out.println("xmlResult:"+xmlResult); Map<String, String> result = PaymentKit.xmlToMap(xmlResult); String return_code = result.get("return_code"); if (StrKit.isBlank(return_code) || !"SUCCESS".equals(return_code)) { //通讯失败 String err_code = result.get("err_code"); //用户支付中,需要输入密码 if (err_code.equals("USERPAYING")) { //等待5秒后调用【查询订单API】https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_2 } renderText("通讯失败>>"+xmlResult); return; } String result_code = result.get("result_code"); if (StrKit.isBlank(result_code) || !"SUCCESS".equals(result_code)) { //支付失败 renderText("支付失败>>"+xmlResult); return; } //支付成功 renderText(xmlResult); } 在开源项目weixin-guide中 测试访问地址为
测试
我本地做端口映射测试的地址如下: 其中 返回结果如下: <xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg><appid><![CDATA[您公众号的appid]]></appid><mch_id><![CDATA[您微信商户号]]></mch_id><device_info><![CDATA[javen205]]></device_info><nonce_str><![CDATA[eXgczazQq54pqcyH]]></nonce_str><sign><![CDATA[FF03DA0E58845CCE1FCC2166EC03FBE5]]></sign><result_code><![CDATA[FAIL]]></result_code><err_code><![CDATA[AUTH_CODE_INVALID]]></err_code><err_code_des><![CDATA[请扫描微信支付被扫条码/二维码]]></err_code_des></xml> 刷卡支付超过5次就会提示输入密码 返回的 此时支付结果就需要通过 查询订单接口来获取
输入正确的 <xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg><appid><![CDATA[您公众号的appid]]></appid><mch_id><![CDATA[您微信商户号]]></mch_id><device_info><![CDATA[javen205]]></device_info><nonce_str><![CDATA[Z9p14VPJ822ZTPXP]]></nonce_str><sign><![CDATA[03BD421A33A5079A1BE6030E2EBA8291]]></sign><result_code><![CDATA[SUCCESS]]></result_code><openid><![CDATA[o_pncsidC-pRRfCP4zj98h6slREw]]></openid><is_subscribe><![CDATA[Y]]></is_subscribe><trade_type><![CDATA[MICROPAY]]></trade_type><bank_type><![CDATA[CFT]]></bank_type><total_fee>1</total_fee><fee_type><![CDATA[CNY]]></fee_type><transaction_id><![CDATA[4009682001201610156761057959]]></transaction_id><out_trade_no><![CDATA[1476523316727]]></out_trade_no><attach><![CDATA[javen205]]></attach><time_end><![CDATA[20161015172058]]></time_end><cash_fee>1</cash_fee></xml> 使用场景描述
码字完毕,以上就是微信刷卡支付的详细介绍。 【相关推荐】 1. 微信公众号平台源码下载 2. 小猪cms(PigCms)微电商系统运营版(独立微店商城+三级分销系统) 3. 微信投票源码 以上就是分享微信公众号开发刷卡支付的实例教程的详细内容,更多请关注php中文网其它相关文章! |
- 上一篇:分享微信公众号开发模板消息的实例教程
- 下一篇:分享微信公众号开发自定义菜单实例教程