微信+阿里支付流程详解
微信登录
微信登录
授权流程图:
QQ登录
与微信登录类似
阿里支付
电脑端支付
请求地址:
https://openapi.alipay.com/gateway.do
请求参数:
公共请求参数:
app_id 应用ID
method 接口名称
format 仅支持JSON
charset 编码格式
sign_type 签名类型,RSA2
sign 签名
timestamp 发送的请求时间
version 调用的接口版本,1.0
notify_url 支付宝通知url
biz_content 业务请求参数的集合
acca字段
body
subject
out_trade_no
total_amount
time_express
passback_params
接口调用流程
验签
reference
sdk接入
public void doPost(HttpServletRequest httpRequest,
HttpServletResponse httpResponse) throws ServletException, IOException {
// 获得初始化的AlipayClient
AlipayClient alipayClient = new DefaultAlipayClient(“https://openapi.alipay.com/gateway.do”, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
//创建API对应的request
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
//在公共参数中设置回跳和通知地址
alipayRequest.setReturnUrl(“http://domain.com/CallBack/return_url.jsp”);
alipayRequest.setNotifyUrl(“http://domain.com/CallBack/notify_url.jsp”);
alipayRequest.setBizContent("{" +
" “out_trade_no”:“20150320010101001”," +
" “product_code”:“FAST_INSTANT_TRADE_PAY”," +
" “total_amount”:88.88," +
" “subject”:“Iphone6 16G”," +
" “body”:“Iphone6 16G”," +
" “passback_params”:“merchantBizType%3d3C%26merchantBizNo%3d2016010101111”," +
" “extend_params”:{" +
" “sys_service_provider_id”:“2088511833207846"” +
" }"+
" }");//填充业务参数
String form="";
try {
form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单
} catch (AlipayApiException e) {
e.printStackTrace();
}
httpResponse.setContentType(“text/html;charset=” + CHARSET);
httpResponse.getWriter().write(form);//直接将完整的表单html输出到页面
httpResponse.getWriter().flush();
httpResponse.getWriter().close();
}
手机端支付
reference
接口调用流程
sdk接入
public void doPost(HttpServletRequest httpRequest,
HttpServletResponse httpResponse) throws ServletException, IOException {
AlipayClient alipayClient = new DefaultAlipayClient(“https://openapi.alipay.com/gateway.do”, APP_ID, APP_PRIVATE_KEY, “json”, CHARSET, ALIPAY_PUBLIC_KEY, “RSA2”); //获得初始化的AlipayClient
AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();//创建API对应的request
alipayRequest.setReturnUrl(“http://domain.com/CallBack/return_url.jsp”);
alipayRequest.setNotifyUrl(“http://domain.com/CallBack/notify_url.jsp”);//在公共参数中设置回跳和通知地址
alipayRequest.setBizContent("{" +
" “out_trade_no”:“20150320010101002”," +
" “total_amount”:“88.88”," +
" “subject”:“Iphone6 16G”," +
" “product_code”:“QUICK_WAP_PAY”" +
" }");//填充业务参数
String form="";
try {
form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单
} catch (AlipayApiException e) {
e.printStackTrace();
}
httpResponse.setContentType(“text/html;charset=” + CHARSET);
httpResponse.getWriter().write(form);//直接将完整的表单html输出到页面
httpResponse.getWriter().flush();
httpResponse.getWriter().close();
}
微信支付
reference
电脑端支付
reference
统一下单api
用于获取code_url,转换成二维码展示在支付页面
请求地址:
URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder
请求参数:
必填字段:
公众账号ID appid
商户号 mch_id
随机字符串 nonce_str
签名 sign
商品描述 body
商户订单号 out_trade_no
标价金额 total_fee
终端IP spbill_create_ip
通知地址 notify_url
交易类型 trade_type
商品ID priduct_id
acca字段:
附加数据 attach => member_id
交易起始时间 time_start
交易结束时间 time_expire
响应参数:
二维码链接 code_url
查询订单api
请求地址:
https://api.mch.weixin.qq.com/pay/orderquery
请求参数:
必填字段:
公众账号ID appid
商户号 mch_id
随机字符串 nonce_str
签名 sign
acca字段:
商户订单号 out_trade_no
响应参数:
返回状态码 return_code
业务结果 result_code
交易状态 trade_state
支付结果通知
请求地址:
notify_url
请求参数:
返回状态码 return_code
业务结果 result_code
手机浏览器支付
reference
统一下单api
请求地址:
URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder
请求参数:
必填字段:
公众账号ID appid
商户号 mch_id
随机字符串 nonce_str
签名 sign
商品描述 body
商户订单号 out_trade_no
标价金额 total_fee
终端IP spbill_create_ip
通知地址 notify_url
交易类型 trade_type=MWEB
商品ID priduct_id
场景信息 scene_info
acca字段:
附加数据 attach => member_id
交易起始时间 time_start
交易结束时间 time_expire
响应参数:
支付跳转链接 mweb_url
微信+阿里支付流程详解相关推荐
- Android商家端线下支付流程详解
对于Android应用客户端来说,通常情况下的支付方式分为微信和支付宝两种,实现方式是通过接入微信和支付宝的SDK,调用手机已安装微信和支付宝应用来完成支付操作,并将支付结果回调给该应用,根据支付结果 ...
- 微信小程序支付流程详解
原创 Dr Hydra 码农参上 2020-11-22 11:00 收录于合集#微信开发技术3个 最近在工作中接入了一下微信小程序支付的功能,虽然说官方文档已经比较详细了,但在使用过程中还是踩了不少的 ...
- IOS 微信支付流程详解
一.配置 1.info.plist中配置LSApplicationQueriesSchemes (NSArray) item :weixin 2.设置项目属性中的URL Schemes为您的AP ...
- 支付宝支付---流程详解
- 【联机对战】微信小程序联机游戏开发流程详解
现有一个微信小程序叫中国象棋项目,棋盘类的单机游戏看着有缺少了什么,现在给补上了,加个联机对战的功能,增加了可玩性,对新手来说,实现联机游戏还是有难度的,那要怎么实现的呢,接下来给大家讲一下. 考虑到 ...
- 微信公众号 开发详解01【目的、起名、准备工作、注册流程、后台功能】
[微信公众号--零基础全面系统教学] [P01-P07]微信公众号 开发详解01[目的.起名.准备工作.注册流程.后台功能] [P08-P12]微信公众号 开发详解02[自动回复.发布文章.自定义菜单 ...
- 阿里云怎么备案?阿里云ICP首次备案流程详解
阿里云怎么备案?阿里云ICP首次备案流程详解 最近有很多朋友咨询阿里云怎么备案?阿里云ICP首次备案流程详解.赵一八特意从阿里云官方网站整理相关资料,希望能够帮到大家.阿里云官网代金券2000元礼包领 ...
- 企业级superset阿里云ESC搭建全流程详解
企业级superset阿里云ESC搭建全流程详解 你好! 作为一名大数据猿来说.你可能会需要轻量级大数据bi工具superset来帮助你快速实现数据的可视化展示.那么我们以阿里云云服务器ESC举例,帮 ...
- 电商新零售系统划分及供应链系统流程详解
[声明在先]:文中所有业务流程及系统设计均由电商标准流程改造,不具有任何商业倾向性. 前序文章讲解了产品经理从接到任务开始,到出具电商后台整体解决方案的过程,本文重点讲述电商后台核心系统的划分及主营供 ...
最新文章
- 教你打入clr内部: 配置windows上的windbg,linux上的lldb
- ros如何编译python文件_Python为ROS编写一个简单的发布者和订阅者
- C#中IEnumerableT.Select()、SelectMany()的简单使用
- php性能测试xhprof,PHP性能分析之Xhprof的使用
- JAVA线程池_并发队列工作笔记0003---线程池的分类_可缓存线程池_定长线程池_定时线程池_单例线程池
- Java数据结构和算法(四)--链表
- 伪指令 ENTRY 与 END
- scikit-learn学习笔记
- Addrss already in user 解决方案 (linux)
- python解压并另存 .bz2文件的方法
- 北航计算机组成原理课程设计-2020秋 PreProject-Logisim-斐波那契数列问题(简单迭代法+矩阵乘法的快速幂)
- 计算机户籍管理,里诺户口管理系统
- 苹果手机怎么查看已连接的wifi密码_WIFI密码忘了?教你查看手机已连接WIFI的密码...
- Contest Design with Threshold Objectives(博弈论+机制设计) 论文阅读笔记
- 全球与中国滴眼液和润滑剂市场深度研究分析报告
- Stream API处理集合
- vue 关于图片和文字的绝对定位 js 动态设置定位
- 好玩的表情包机器人微信小程序源码下载支持直接搜索仿聊天界面获取支持流量主
- 苹果手机4g网速慢怎么办_手机推荐:选华为5G还是苹果4G:内行人说出了大实话!...
- python爬虫:新手爬取NASA每日精选图片
热门文章
- python实例化是什么意思_Python实例化传值问题
- Android各种沉浸式状态栏实现
- Android系统的图标设计规范
- ImportError: ./deform_conv_cuda.cpython-37m-x86_64-linux-gn.so: undefined symbol: _ZN6caffe26detail3
- 关于批处理的学习之一[前言]
- 本地缓存Ehcache
- 宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒
- 一款好用的网络骗子举报系统无加密版本源码
- 倾角传感器如何通过精度和分辨率进行选型
- 建国钞带领纪念钞强势崛起