如何获取JAVA生成的支付宝客户端所需的长尾参数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计455个文字,预计阅读时间需要2分钟。
javapackage com.pay.alipay;
import com.alipay.api.AlipayApiException;import com.alipay.api.AlipayClient;import com.alipay.api.DefaultAlipayClient;import com.alipay.api.domain.AlipayTradeAppPayModel;
AlipayUtilspackage com.pay.alipay;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.kunze.taigan.api.notify.PayNotifyHelper;
import java.io.PrintStream;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import utils.AppConfig;
public class AlipayUtils {
private static final String APPID = "appid";
private static final String PRIVATE_KEY = "";
private static final String PUBLIC_KEY = "";
private static final String CHARSET = "utf-8";
private static final String SERVER_URI = "openapi.alipay.com/gateway.do";
private static final String NOTIFY_URL = "www.notifyurl.com/notify_url_alipay.do";
private static final String SUBJECT = "充值";
private static final String BODY = "余额支付";
private static final String PAY_TYPE = "支付宝";
public static String getPayParams(String price, String out_trade_no) {
AlipayClient alipayClient = new DefaultAlipayClient(SERVER_URI, APPID,
PRIVATE_KEY, "json", "utf-8", PUBLIC_KEY, "RSA2");
AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
request.setNotifyUrl(NOTIFY_URL);
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
model.setBody(BODY);
model.setSubject(SUBJECT);
model.setOutTradeNo(out_trade_no);
model.setTimeoutExpress("5m");
model.setTotalAmount(price);
model.setProductCode("QUICK_MSECURITY_PAY");
request.setBizModel(model);
try {
AlipayTradeAppPayResponse response = (AlipayTradeAppPayResponse) alipayClient
.sdkExecute(request);
return URLEncoder.encode(response.getBody());
} catch (AlipayApiException e) {
e.printStackTrace();
}
return "";
}
public static String payNofityCallback(Map requestParams) {
System.out.println("支付宝支付结果通知" + requestParams.toString());
Map
response.setHeader("Content-type", "text/html;charset=" + AppConfig.DefaultEncoding); response.setCharacterEncoding(AppConfig.DefaultEncoding); request.setCharacterEncoding(AppConfig.DefaultEncoding); String result=AlipayUtils.payNofityCallback(request.getParameterMap()); response.getOutputStream().write(result.getBytes(AppConfig.DefaultEncoding));
本文共计455个文字,预计阅读时间需要2分钟。
javapackage com.pay.alipay;
import com.alipay.api.AlipayApiException;import com.alipay.api.AlipayClient;import com.alipay.api.DefaultAlipayClient;import com.alipay.api.domain.AlipayTradeAppPayModel;
AlipayUtilspackage com.pay.alipay;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.kunze.taigan.api.notify.PayNotifyHelper;
import java.io.PrintStream;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import utils.AppConfig;
public class AlipayUtils {
private static final String APPID = "appid";
private static final String PRIVATE_KEY = "";
private static final String PUBLIC_KEY = "";
private static final String CHARSET = "utf-8";
private static final String SERVER_URI = "openapi.alipay.com/gateway.do";
private static final String NOTIFY_URL = "www.notifyurl.com/notify_url_alipay.do";
private static final String SUBJECT = "充值";
private static final String BODY = "余额支付";
private static final String PAY_TYPE = "支付宝";
public static String getPayParams(String price, String out_trade_no) {
AlipayClient alipayClient = new DefaultAlipayClient(SERVER_URI, APPID,
PRIVATE_KEY, "json", "utf-8", PUBLIC_KEY, "RSA2");
AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
request.setNotifyUrl(NOTIFY_URL);
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
model.setBody(BODY);
model.setSubject(SUBJECT);
model.setOutTradeNo(out_trade_no);
model.setTimeoutExpress("5m");
model.setTotalAmount(price);
model.setProductCode("QUICK_MSECURITY_PAY");
request.setBizModel(model);
try {
AlipayTradeAppPayResponse response = (AlipayTradeAppPayResponse) alipayClient
.sdkExecute(request);
return URLEncoder.encode(response.getBody());
} catch (AlipayApiException e) {
e.printStackTrace();
}
return "";
}
public static String payNofityCallback(Map requestParams) {
System.out.println("支付宝支付结果通知" + requestParams.toString());
Map
response.setHeader("Content-type", "text/html;charset=" + AppConfig.DefaultEncoding); response.setCharacterEncoding(AppConfig.DefaultEncoding); request.setCharacterEncoding(AppConfig.DefaultEncoding); String result=AlipayUtils.payNofityCallback(request.getParameterMap()); response.getOutputStream().write(result.getBytes(AppConfig.DefaultEncoding));

