package com.cs.alipay;
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.internal.util.StringUtils;
import com.alipay.api.request.AlipayTradeCancelRequest;
import com.alipay.api.request.AlipayTradePayRequest;
import com.alipay.api.request.AlipayTradePrecreateRequest;
import com.alipay.api.request.AlipayTradeQueryRequest;
import com.alipay.api.request.AlipayTradeRefundRequest;
import com.alipay.api.request.AlipayTradeWapPayRequest;
import com.alipay.api.response.AlipayTradeCancelResponse;
import com.alipay.api.response.AlipayTradePayResponse;
import com.alipay.api.response.AlipayTradePrecreateResponse;
import com.alipay.api.response.AlipayTradeQueryResponse;
import com.alipay.api.response.AlipayTradeRefundResponse;
public class AlipayClientFactory {
private static final AlipayClient client = new DefaultAlipayClient(
Config.URL, Config.APPID, Config.RSA_RRIVATE_KEY, Config.FORMAT,
Config.CHARSET, Config.ALIPAY_PUBLIC_KEY);
public static AlipayClient getAlipayClientInstance() {
return client;
}
/**
* appAuthToken
* 如ISV代替商家调用当面付接口,需将商户授权后获取的app_auth_token带上;如商家申请当面付自己调用,则传null bizContent
* JSON格式 商户的请求参数
*/
// 手机网页支付 网站支付
public String ydAndPc_Pay(Map<String, String> maps)
throws AlipayApiException {
AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();
String NotifyUrl = maps.get("NotifyUrl");
String ReturnUrl = maps.get("ReturnUrl");
// 后台回调
if (!StringUtils.isEmpty(NotifyUrl)) {
alipayRequest.setNotifyUrl(NotifyUrl);
// bizContent 中不需要 公共参数
maps.remove("NotifyUrl");
}
// 页面回调
if (!StringUtils.isEmpty(ReturnUrl)) {
alipayRequest.setReturnUrl(ReturnUrl);
// bizContent 中不需要 公共参数
maps.remove("ReturnUrl");
}
String bizCon = JSON.toJSONString(maps);
alipayRequest.setBizContent(bizCon);
String form = "";
try {
form = AlipayClientFactory.getAlipayClientInstance()
.pageExecute(alipayRequest).getBody();
} catch (AlipayApiException e) {
form = "err";
e.printStackTrace();
} // 调用SDK生成表单
return form;
}
// 查询订单状态
public AlipayTradeQueryResponse query(String appAuthToken, String bizContent)
throws AlipayApiException {
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
request.putOtherTextParam("app_auth_token", appAuthToken);
request.setBizContent(bizContent);
return AlipayClientFactory.getAlipayClientInstance().execute(request);
}
// 条码支付
public AlipayTradePayResponse pay(String appAuthToken, String bizContent)
throws AlipayApiException {
AlipayTradePayRequest request = new AlipayTradePayRequest();
request.putOtherTextParam("app_auth_token", appAuthToken);
request.setBizContent(bizContent);
return AlipayClientFactory.getAlipayClientInstance().execute(request);
}
// 扫码支付
public AlipayTradePrecreateResponse precreate(String appAuthToken,
String bizContent) throws AlipayApiException {
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.putOtherTextParam("app_auth_token", appAuthToken);
request.setBizContent(bizContent);
return AlipayClientFactory.getAlipayClientInstance().execute(request);
}
// 订单撤销
public AlipayTradeCancelResponse cancel(String appAuthToken,
String bizContent) throws AlipayApiException {
AlipayTradeCancelRequest request = new AlipayTradeCancelRequest();
request.putOtherTextParam("app_auth_token", appAuthToken);
request.setBizContent(bizContent);
return AlipayClientFactory.getAlipayClientInstance().execute(request);
}
// 申请退款
public AlipayTradeRefundResponse refund(String appAuthToken,
String bizContent) throws AlipayApiException {
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
request.putOtherTextParam("app_auth_token", appAuthToken);
request.setBizContent(bizContent);
return AlipayClientFactory.getAlipayClientInstance().execute(request);
}
@SuppressWarnings("unused")
public static void main(String[] args) {
AlipayClientFactory c = new AlipayClientFactory();
try {
Map<String, String> map = new HashMap<String, String>();
map.put("out_trade_no", "20160914113218");
String bizContent = JSON.toJSONString(map);
System.err.println(bizContent);
AlipayTradeQueryResponse rp = c.query(null, bizContent);
} catch (AlipayApiException e) {
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java支付宝手机支付
共30个文件
jar:9个
java:5个
class:5个
4星 · 超过85%的资源 需积分: 9 252 下载量 39 浏览量
2016-09-14
13:57:12
上传
评论 3
收藏 2.39MB RAR 举报
温馨提示
java版本 手机 PC 支付宝支付 下载dome 更改 config文件里面的私钥 公钥即可运行
资源推荐
资源详情
资源评论
收起资源包目录
csalipay.rar (30个子文件)
csalipay
.project 1KB
WebContent
WEB-INF
lib
servlet-api.jar 86KB
commons-codec-1.6.jar 227KB
json.jar 45KB
commons-logging-1.1.1.jar 59KB
commons-httpclient-3.0.1.jar 273KB
jsp-api.jar 75KB
json-lib-2.2.3-jdk13.jar 145KB
alipay-sdk-java20160912220103.jar 1.59MB
fastjson-1.2.7.jar 407KB
web.xml 715B
index.html 187B
META-INF
MANIFEST.MF 39B
src
com
cs
alipay
CsUtil.java 915B
CsPay.java 2KB
Config.java 945B
UtilDate.java 2KB
AlipayClientFactory.java 5KB
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 305B
org.eclipse.jdt.core.prefs 364B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 478B
.jsdtscope 503B
build
classes
com
cs
alipay
CsPay.class 2KB
UtilDate.class 1KB
AlipayClientFactory.class 6KB
CsUtil.class 2KB
Config.class 2KB
.classpath 848B
共 30 条
- 1
wb54979
- 粉丝: 1456
- 资源: 49
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页