package com.swc.scanpay.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.AlipayResponse;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.*;
import com.alipay.api.response.*;
import com.swc.scanpay.constant.PayConstant;
import com.swc.scanpay.constant.AlipayConstant;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.HashMap;
import java.util.Map;
/**
* Created by chiang on 2016/11/9.
*/
public class AlipayApiUtils {
private final static Logger LOGGER = LogManager.getLogger(AlipayApiUtils.class.getName());
// https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method=alipay.user.info.auth&app_id=2183&sign_type=RSA2&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0&return_url=https://openapi.alipay.com/gateway.do&biz_content=
// {
// "scopes":[
// "auth_user"
// ],
// "state":"init"
// }
//用户授权
//https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=2016090601854511&scope=auth_userinfo&redirect_uri=ENCODED_URL
//alipay.system.oauth.token
//alipay.user.userinfo.share
//商户授权
//http://www.rdkj168.com/epoint-pay/callback?app_id=2016090601854511&source=alipay_app_auth&app_auth_code=3378c2fc121a4eeca97133dfe8c00A84
//https://openauth.alipay.com/oauth2/appToAppAuth.htm?app_id=2016090601854511&redirect_uri=http://www.rdkj168.com/epoint-pay/callback
//alipay.open.auth.token.app
//alipay.open.auth.token.app.query
//1. 在授权过程中,建议在拼接授权url的时候,开发者可增加自己的一个自定义信息,便于知道是哪个商户授权。
//2. 开发者代替商户发起请求时请务必带上app_auth_token,否则支付宝将认为是本应用替自己发起的请求。请注意app_auth_token是POST请求参数,不是biz_content的子参数。
//3. 开发者代替商户发起请求时,POST公共请求参数中的app_id应填写开发者的app_id;如果业务参数biz_content中需要AppId,则应填写商户的AppId。
//public final static String GATE_URL = "https://openapi.alipaydev.com/gateway.do";
public final static String GATE_URL = "https://openapi.alipay.com/gateway.do";
//AlipayClient alipayClient = new DefaultAlipayClient(gatewayUrl, appId, privateKey, "json", "UTF-8", aplipayPublicKey);
//alipay.trade.pay
public static Map<String, String> barPay(Map<String, Object> requestMap,String gatewayUrl, String appId, String privateKey, String aplipayPublicKey) {
LOGGER.error("gateway:{}",gatewayUrl);
LOGGER.error("appid:{}",appId);
AlipayClient alipayClient = new DefaultAlipayClient(gatewayUrl, appId, privateKey, "json", "UTF-8", aplipayPublicKey);
AlipayTradePayRequest request = new AlipayTradePayRequest();
request.setNotifyUrl((String) requestMap.get("notify_url"));
requestMap.remove("notify_url");
requestMap.put("scene", "bar_code");//写死条码付款
requestMap.put("timeout_express","5m");//2分钟不付款自动关闭交易
//subject,auth_code,scene,out_trade_no,total_amount(单位元),body,store_id
String bizContent = JSON.toJSONString(requestMap);
request.setBizContent(bizContent);
Map<String, String> responseMap = new HashMap<>();
AlipayTradePayResponse response = null;
try {
String requestJson = JSON.toJSONString(request);
LOGGER.debug("request data:{}",requestJson);
response = alipayClient.execute(request);
String responseJson = JSON.toJSONString(response);
LOGGER.debug("response data:{}",responseJson);
responseMap.put("requestData",requestJson);
responseMap.put("responseData",responseJson);
String code = response.getCode();
if (response.isSuccess()) {
String transactionId = response.getTradeNo();//支付宝交易号
String outTradeNo = response.getOutTradeNo();//商户订单编号
responseMap.put("transactionId", transactionId);
responseMap.put("outTradeNo", outTradeNo);
if ("10000".equals(code)) {
responseMap.put("resultCode", PayConstant.RESULT_CODE_SUCCESS);
responseMap.put("resultMsg", PayConstant.RESULT_MSG_SUCCESS);
responseMap.put("isPay", PayConstant.PAY_SUCCESS_YES);
//response.getTotalAmount();
} else {
responseMap.put("resultCode", "USER_PAYING");
responseMap.put("resultMsg", "正在支付");
}
responseMap.put("payAmount",(String)requestMap.get("total_amount"));
} else {
setResponseFail(response,responseMap);
}
} catch (AlipayApiException e){
setExceptionMsg(response,responseMap);
LOGGER.error("AlipayApiException 支付宝条码付支付失败", e);
} catch (Exception e) {
responseMap.put("resultCode", PayConstant.RESULT_CODE_FAIL);
responseMap.put("resultMsg", "系统异常");
LOGGER.error("支付宝条码付支付失败", e);
}
return responseMap;
}
private static void setResponseFail(AlipayResponse response,Map<String,String> responseMap){
String subCode = response.getSubCode();
String subMsg = response.getSubMsg();
//responseMap.put("isPay", Constant.PAY_SUCCESS_NO);
responseMap.put("resultCode", AlipayConstant.getOurErrorCode(subCode));
responseMap.put("resultMsg", subMsg);
}
private static void setExceptionMsg(AlipayResponse response,Map<String,String> responseMap){
if (response != null){
String subCode = response.getSubCode();
String subMsg = response.getSubMsg();
//responseMap.put("isPay", Constant.PAY_SUCCESS_NO);
responseMap.put("resultCode", AlipayConstant.getOurErrorCode(subCode));
responseMap.put("resultMsg", subMsg);
//return responseMap;
} else {
responseMap.put("resultCode", PayConstant.RESULT_CODE_FAIL);
responseMap.put("resultMsg", "系统异常");
}
}
//alipay.trade.precreate
public static Map<String, String> createQrCode(Map<String, Object> requestMap,String gatewayUrl, String appId, String privateKey, String aplipayPublicKey) {
LOGGER.error("gateway:{}",gatewayUrl);
LOGGER.error("appid:{}",appId);
AlipayClient alipayClient = new DefaultAlipayClient(gatewayUrl, appId, privateKey, "json", "UTF-8", aplipayPublicKey);
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setNotifyUrl((String) requestMap.get("notify_url"));
requestMap.remove("notify_url");
//subject,auth_code,out_trade_no,total_amount(单位元),body,store_id
requestMap.put("timeout_express","5m");//2分钟不付款自动关闭交易
String bizContent = JSON.toJSONString(requestMap);
request.setBizContent(bizContent);
Map<String, String> responseMap = new HashMap<>();
AlipayTradePrecreateResponse response = null;
try {
String requestJson = JSON.toJSONString(request);
LOGGER.debug("request data:{}",requestJson);
response = alipayClient.execute(request);
String responseJson = JSON.toJSONString(response);
LOGGER.debug("response data:{}",responseJson);
responseMap.put("requestData",requestJson);
没有合适的资源?快使用搜索试试~ 我知道了~
无人值守洗车+小程序+公众号
共1525个文件
java:398个
gif:348个
js:192个
需积分: 9 4 下载量 152 浏览量
2022-09-22
09:38:17
上传
评论
收藏 7.25MB ZIP 举报
温馨提示
2022最新无人值守洗车程序代码
资源详情
资源评论
资源推荐
收起资源包目录
无人值守洗车+小程序+公众号 (1525个子文件)
start.bat 37B
start.bat 24B
DateUtils.class 5KB
YUNTXSMS.class 5KB
IPYYSMSResult.class 4KB
SMSResult.class 3KB
IPYYSmsSDK.class 3KB
IPYYSMSConfig.class 2KB
Md5Utils.class 2KB
IPYYSMS.class 2KB
SMSConfig.class 2KB
SMSUtils.class 2KB
IPYYSmsSDKTest.class 2KB
SMSType.class 1KB
TemplateSMS.class 764B
SMSData.class 567B
bootstrap.css 134KB
bootstrap.min.css 118KB
app.css 79KB
ueditor.css 44KB
ueditor.min.css 34KB
bootstrap-theme.min.css 23KB
font-awesome.min.css 21KB
default.css 21KB
video-js.css 21KB
default.css 20KB
image.css 19KB
animate.css 18KB
video.css 15KB
style.css 15KB
attachment.css 15KB
simple-line-icons.css 11KB
video-js.min.css 11KB
bootstrap-datetimepicker.css 9KB
bootstrap-datetimepicker.min.css 8KB
shCoreDefault.css 7KB
common.css 5KB
dataTables.bootstrap.min.css 4KB
scrawl.css 4KB
qq.css 3KB
qq.css 3KB
codemirror.css 3KB
icon.css 3KB
charts.css 3KB
background.css 2KB
simple.css 2KB
simple.css 2KB
emotion.css 2KB
dialogbase.css 2KB
music.css 2KB
edittable.css 1KB
template.css 1KB
prettify.css 973B
prettify.css 960B
font.css 696B
webuploader.css 515B
help.css 395B
iframe.css 42B
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
共 1525 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
qq_27841679
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0