微信登录
微信登录
授权流程图:
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
接口调用流程
验签
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();
}
手机端支付
接口调用流程
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();
}
微信支付
电脑端支付
统一下单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
手机浏览器支付
统一下单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