H5调起支付宝支付

阅读: 评论:0

H5调起支付宝支付

H5调起支付宝支付

1.H5调起支付宝支付,我这里是的方法是H5通过访问后端接口,由后台生成一个隐藏的form表单,将form表单作为一个字符串返回给H5,H5将form表单渲染到页面上,通过提交form表单调起支付宝支付。

form表单大致是这样的,这里我从别处找到

<form name="punchout_form" method="post" action=".do?charset=UTF-8&method&#ade.wap.pay&sign=DEpMkI**********************eWUs6EW3QKlt9OHYv%2FqkporO8Sr5%2Bay5VA9dpx3pAbIiPPajQ2gEcWHvz5bm*******kxH8ZvHUXahQL9S69p9wKNXpXOxYadlsxE8QKGUc4cO5rrgGq08%2BpiOq%2FOz4fLogEBWANXILUMWXNzJn8YryNifZ416Pd%2BxkKgXs%2Fo%2FQDcqEUg*********VXXPRq7IGRGQg%2FpZkOhxCH%2Fq%2B9hnWEncAfQLlAXfPqjdcQTNJ0TJdVr1X1ENOdAr5LQkydWw2EQ8g%3D%3D&return_url=+https%3A%2F%2**********&notify_url=+https%3A%2F%*********Fpub%2Fapi%2Fv1%2F********allback1&version=1.0&app_id=20********57&sign_type=R***&timestamp=2019-0******55&alipay_sdk=al*******.49.ALL&format=json"><input type="hidden" name="biz_content" value="{&quot;body&quot;:&quot;&quot;,&quot;enable_pay_channels&quot;:&quot;balance,moneyFund,bankPay,debitCardExpress,creditCardExpress,creditCard,pcredit,pcreditpayInstallment,coupon,point,voucher,mdiscount,honeyPay&quot;,&quot;out_trade_no&quot;:&quot;132ecf937ad84487aa6cbaeb2ec157fe&quot;,&quot;product_code&quot;:&quot;13&quot;,&quot;subject&quot;:&quot;SpringBoot 2.x微信支付在线教育网站项目实战&quot;,&quot;timeout_express&quot;:&quot;20m&quot;,&quot;total_amount&quot;:&quot;98&quot;}"><input type="submit" value="立即支付" style="display:none" >
</form>
<script>document.forms[0].submit();</script>

2.如何生成form表单并返回给H5,这里只是使用了支付宝sdk里面的方法 生成form表单,不用请求支付宝后台,与微信统一下单接口有所区别。需要注意返回值类型Map<String,StringBuffer>,使用StringBuffer返回给H5可以正常收到,如果使用String类型,map被包装类包装后序列化到H5可能接收不到。

	/*** 支付宝下单参数	        json.put("out_trade_no", ""); //商户订单号json.put("total_amount", "0.01");  //总金额,元为单位* @param map* @return* @throws Exception*/public static  Map<String,StringBuffer> aliPay(Map<String,String> map) throws Exception //这里采用RSA2 加密方式AlipayClient client = new DefaultAlipayClient(AliPayProperties.URL, Appid(), PrivateKey(), AliPayProperties.FORMAT, AliPayProperties.CHARSET, AlipayPublicKey(),AliPayProperties.SIGNTYPE);AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();JSONObject json = new JSONObject();json.putAll(map); //包含商户订单号,金额json.put("product_code", "QUICK_WAP_WAY"); json.put("subject", Subject());  //商品的标题/交易标题/订单标题/订单关键字等。request.String());request.NotifyUrl()); //设置回调地址request.ReturnUrl()); //设置返回地址Map<String,StringBuffer> resmap = null;AlipayTradeWapPayResponse response;try {response = client.pageExecute(request);StringBuffer sb = new StringBuffer();String data &#Body() ; //获取form表单字符串log.info("支付宝下单参数拼接:"+data);sb.append(data);resmap = new HashMap<String,StringBuffer>();resmap.put("from", sb);} catch (AlipayApiException e) {// TODO Auto-generated catch blocke.printStackTrace();}return resmap;}

3.在上述代码中会设置支付宝支付成功回调地址,与支付成功后的返回地址。后面我会说一下支付宝回调。

支付宝回调:

本文发布于:2024-02-02 12:05:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170684673943683.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:支付宝
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23