JAVA-DEMO (Demo下载)
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.internal.util.AlipaySignature;
import okhttp3.*;
import java.io.IOException;
import java.util.*;
public class Demo {
public static void main\(String\[\] args\) {
String rootURL = "https://hzgd-openapi-test.51fubei.com/gateway"; //请求地址
// RSA私钥
String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAM87svrPNKv7AzP9\n" +
"XXvlTxyFDfE9SxIi5zzGxu1OGZCFUgcXifFxGJQ4oV7VOaJd5Y4m7AodhB8j99LH\n" +
"sIVfFEqylvrHiLAUp+9vGtGoMhs3SPzci6ox5L4yXU4Vfrt9rxno6qMsLnFpR3Jz\n" +
"Kbl0zy3unAIbDZWY64dGxLzi79nnAgMBAAECgYBp/JBnMf4wTyquNlDPgtHZNjuR\n" +
"O9XfKra1ILywtZbhkS4IroNAVqVJeUUe6VKWtgsnjsR9z+a4vn6K8NJZA+2t8sOl\n" +
"K9fuXbREXPcpyNraFZzBmtjGS4vZVJF+ktCHrqIzEXxftRW8EcSOpwgQnbd/TViR\n" +
"AABCqLzSmZnILKkg8QJBAOzNInLk8j/WpSY98kA0nvbgCroKE2OBjmar5ihrk8Xt\n" +
"mAFrK8Wd07EPFrZnzLVKGlwwcr+UqpVbhxr/OfRE6ssCQQDgCN8poYpPbZpBzyZQ\n" +
"efzd4JqUUfOlwPxvykAR/Kp/JXDzdnmyMpJzPz6MmqOkUEL+3G1VsElFR/eRVabP\n" +
"jp3VAkBZC3pcwgLmRoyrqLejtSXhp7Xg51ELJfiqWxGdOXbEAugaAHbhRMwJ1Kax\n" +
"yK6NrWPkLsO3juvmZhiT6k2csR2pAkEA0YC6YA4GbzyJcl0q8TsCcuKk62qvtCOC\n" +
"bW/u9mMXdYsn0yTJrRCJz2gnMAk0WmYMIJU1UVpnSniAVNKKCbLOeQJBAJtmLFFK\n" +
"8RYQLBjY1LiMlZOrwdlJ2rDv26BIl+ZAEjT2EyIsZyvkT3nTRf7yzp/3LVqw0JRs\n" +
"a8HCHvECaR9cLhU=";
Map<String, String> data = new HashMap<String, String>\(\);
Map<String, Object> content = new HashMap<String, Object>\(\);
// 将参数存储到Map中
data.put\("app\_id", "20170523111533399"\);
data.put\("method", "fshows.liquidation.alipay.trade.query"\);
data.put\("version", "1.0"\);
content.put\("trade\_no", "20178888888888"\);
data.put\("content", JSON.toJSONString\(content\)\); // content中的内容需要转为JSON格式
try {
// 加签,调用阿里的方法,回调验证签名可以用AlipaySignature.rsaCheckV1\(\)
String sign = AlipaySignature.rsaSign\(data, privateKey, "utf-8"\);
// 将签名放入Map中
data.put\("sign", sign\);
} catch \(AlipayApiException e\) {
System.out.println\("加签错误"\);
return;
}
// 准备请求服务器,这里用的okhttp3,可根据实际情况自行选择
OkHttpClient okHttpClient = new OkHttpClient\(\);
// 添加请求参数,Content-Type需为application/x-www-form-urlencoded格式
FormBody.Builder bodyBuilder = new FormBody.Builder\(\);
for \(String key : data.keySet\(\)\) {
bodyBuilder.add\(key, data.get\(key\)\);
}
RequestBody body = bodyBuilder.build\(\);
Request request = new Request.Builder\(\).url\(rootURL\).post\(body\).build\(\);
Call call = okHttpClient.newCall\(request\);
// 异步请求
call.enqueue\(new Callback\(\) {
@Override
public void onFailure\(Call call, IOException e\) {
System.out.println\("请求失败"\);
}
@Override
public void onResponse\(Call call, Response response\) throws IOException {
Boolean result = Boolean.FALSE;
try {
// 解析返回值,根据返回值做其他逻辑
JSONObject responseBody = JSON.parseObject\(response.body\(\).string\(\)\);
System.out.println\(responseBody.toString\(\)\);
result = responseBody.getBoolean\("success"\);
} catch \(JSONException e\) {
System.out.println\("解析返回值失败"\);
}
if \(result\) {
System.out.println\("这里写逻辑"\);
} else {
System.out.println\("这里再写逻辑"\);
}
}
}\);
}
}