支付宝手机H5支付笔记
支付宝的文档其实说的很清楚了
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.ro3ZlF&treeId=203&articleId=105285&docType=1
https://b.alipay.com 登陆
跳转管理中心 创建新应用
填写应用环境
填写功能信息
上线应用
然后具体业务实现
首先 要用我们的订单号去支付宝 下单 然后支付宝会给我们一个html字符串
/*** 外部商户创建订单* * @return*/public String unifiedOrder(String caseNum) {RechargeBase rechargeBase = chargeService.queryRechargeBaseByOne(caseNum);WXGoodsDetail gd = BeanHelper.copyProperties(rechargeBase, WXGoodsDetail.class);AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();// 创建API对应的requestalipayRequest.setReturnUrl("http://XXXXXX/XXX/XXX/gateway");alipayRequest.setNotifyUrl("http://XXXXXX/XXX/XXX/orderback");// 在公共参数中设置回跳和通知地址alipayRequest.setBizContent("{" + " \"out_trade_no\":\"" + gd.getSequenceNumber() + "\","+ " \"total_amount\":" + gd.getFee() + "," + " \"subject\":\"" + gd.getChargeDesc() + "\","+ " \"product_code\":\"QUICK_WAP_PAY\"" + " }");// 填充业务参数String form = null;try {form = alipayClient.pageExecute(alipayRequest).getBody();} catch (AlipayApiException e) {LOG.error(e.getMessage(), e);} // 调用SDK生成表单return form;}
这个form呢 是一段html 直接把这个form输出出来就可以了
String info = aliPayService.unifiedOrder(sequenceNum);response.setContentType("text/html;charset=UTF-8");response.getWriter().write(info);response.getWriter().flush();
这个页面会自动跳转到支付宝的页面去 是h5支付的话 会自动唤醒支付宝app支付订单
只要保证配置的那些秘钥啊 appid啊 都是对的 就好了
支付成功后
/*** 支付宝网关 用户支付成功后 支付宝会把这个地址告诉用户 然后用户会访问这个地址 后台敷衍一下 提示成功就好了* @return*/@RequestMapping("/pay/gateway")public ModelAndView returnUrl(){ModelAndView mv=new ModelAndView("pay_success");LOG.info("支付宝网关被调用");return mv;}
/*** 授权回调地址 用户支付成功后 支付宝会直接访问这个地址 然后后台处理具体的业务逻辑* @return* @throws UnsupportedEncodingException */@RequestMapping(value="/pay/orderback",method=RequestMethod.POST)public void notifyUrl( String trade_status, String out_trade_no, String trade_no) throws UnsupportedEncodingException{request.setCharacterEncoding("utf-8");Map<String,String> params = new HashMap<String,String>();Map requestParams = request.getParameterMap();for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {String name = (String) iter.next();String[] values = (String[]) requestParams.get(name);String valueStr = "";for (int i = 0; i < values.length; i++) {valueStr = (i == values.length - 1) ? valueStr + values[i]: valueStr + values[i] + ",";}//乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");params.put(name, valueStr);}try {aliPayService.notifyUrl(params, trade_status, out_trade_no, out_trade_no);} catch (EducationException e) {LOG.info(e.getMessage());}LOG.info("支付宝授权回调地址被调用");}
完
支付宝手机H5支付笔记相关推荐
- php 对接支付宝 手机H5支付
composer 社区 安装alipaysdk public function getOptions(){$options = new Config();$options->protocol = ...
- 支付宝手机h5网页支付不再提供「继续浏览器付款」按钮了吗
来自圈友的疑惑,记录一下 之前写过一篇「支付宝手机h5支付的文章」,如果下载运行过Demo的小伙伴肯定发现了一个问题 > 「Demo中有显示继续浏览器付款按钮,但自己实际环境并没有」 难道是操作 ...
- 支付宝手机网站支付签约强开WAP支付,提示“系统综合评估签约条件不满足”或不满足国家法律法规或支付宝用户服务协议等的解决方案!支付宝H5支付开通方法详解
一.如何开通支付宝手机网站支付 正常来说,按照官方的指引要求填写相关资料,即可开通支付宝手机网站支付.但是,更多的时候我们的申请都会碰到一些阻力,常见的阻力就是"系统综合评估签约条件不满足, ...
- 手机H5支付和扫码支付的区别是什么?
H5支付就是网页发起的微信.支付宝唤醒,通过微信自带的微信浏览器内jssdk发起的微信支付.支付宝也可以拉起手机浏览器唤醒支付宝发起支付宝支付. 扫码支付即通过手机app进行扫码付款,最常用的软件如微 ...
- 对接支付宝手机网站支付接口,alin10071
最近项目要增加支付宝扫二维码实现h5支付的功能,我们采用了调用支付宝手机网站支付接口:alipay.trade.wap.pay 但是每次调起返回都是 无可用支付方式 测了一天才发现是因为我的支付宝余额 ...
- APP内嵌网页使用微信或支付宝的H5支付
如何绕过微信或支付宝的H5支付的拦截验证?下面我们从本质上来说明该如何解决这个问题. 微信和支付宝的H5支付下单成功后都会返回一个跳转支付的url连接,通过这个连接可以拉起微信或支付宝进行支付操作. ...
- Payment:支付宝手机网站支付教程
支付宝的H5支付体验真不错(支付宝叫他手机网站支付). 反观微信支付干嘛要把H5支付藏起来?而且体验还那么差. Payment 3.0 支付宝的配置设置文档请 点击这里 项目GitHub地址:http ...
- 【支付宝支付】Java实现支付宝手机网站支付流程
前言 微信登录网页授权与APP授权 微信JSAPI支付 微信APP支付 微信APP和JSAPI退款 支付宝手机网站支付 支付宝APP支付 支付宝退款 以上我都放到个人公众号,搜一搜:JAVA大贼船,文 ...
- php手机网站支付宝_PHP实现支付宝手机网站支付功能
PHP实现支付宝手机网站支付功能的方法:首先开通支付宝商家中心里面的手机网站支付:然后进入开发者中心,获取到APPID:接着去文档中心下载"DEMO":最后将"demo& ...
最新文章
- 全球主要城市经纬度api
- VTK:可视化之TransformActorCollection
- 深度学习loss值变为0_利用TensorFlow2.0为胆固醇、血脂、血压数据构建时序深度学习模型(python源代码)...
- 【OpenCV 例程200篇】55. 可分离卷积核
- Windows Linux Mac 路由添加删除
- Linux网络——配置网络之iproute家族命令
- 学习STM32F769DK-OTA例程之APP中断向量表重映射
- 我是怎样给 Delphi 代码着色的 - 回复 sunhj 的问题
- 苹果 ios mdm服务器搭建
- 安装KeMotion3 03.16d时遇到的问题
- 数字序号的级别与文章层次结构的关系
- 全排列算法(字典序法、SJT Algorithm 、Heap's Algorithm)
- C语言练习-[1005]温度转换
- matlab ploty,matlab绘制函数 如何利用matlab的ploty
- 移动机器人(四)四轴飞行器
- 有么有免费的logo生成器?大家看中的是哪款?
- 民勤一中2021高考成绩排名榜查询,淬火砺剑——民勤一中为2021届高三学子助力加油!...
- 【OriginPro使用】FFT绘制信号频谱图
- mysql函数if为负数_MySQL的if,case语句
- qnx linux usb驱动,QNX USB device与host模式下驱动脚本详解
热门文章
- 高并发系统架构设计之微服务篇19: 微服务拆分
- Cisco(思科) 配网实验 12/27 小型公司链接外网-考点(OSPF-NAT-PAT)
- 二年级计算机教学模板,二年级信息技术教案模板三篇
- 电路计算机辅助设计上海电力学院,上海电力学院电路计算机辅助设计1..doc
- 福建力得温控器_福建力得干式变压器温度控制器LD-B10-10FP(B)
- 一台计算机主机功率,电脑功率在哪里看 一台电脑多少瓦
- skynet入门笔记
- html学习笔记之一:表单控件
- python对接七牛云上传图片代码,可运行
- KBP310-ASEMI插件整流桥3A 1000V