| | |
| | | package com.yeshi.fanli.util.charge;
|
| | |
|
| | | import java.io.IOException;
|
| | | import java.util.Arrays;
|
| | | import java.util.HashMap;
|
| | | import java.util.Map;
|
| | |
|
| | | import org.apache.commons.httpclient.HttpClient;
|
| | | import org.apache.commons.httpclient.HttpException;
|
| | | import org.apache.commons.httpclient.methods.PostMethod;
|
| | |
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | |
|
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | /**
|
| | | * 福录开放平台API入口(open.fulu.com)
|
| | | * |
| | | * @author Administrator
|
| | | *
|
| | | */
|
| | | public class FuLuChargeApiUtil {
|
| | | //测试
|
| | | // private final static String APP_KEY = "i4esv1l+76l/7NQCL3QudG90Fq+YgVfFGJAWgT+7qO1Bm9o/adG/1iwO2qXsAXNB";
|
| | | // private final static String APP_SECRET = "0a091b3aa4324435aab703142518a8f7";
|
| | | //正式
|
| | | private final static String APP_KEY = "CrtDnTh1E5eYY5D42T8uArVrl4GWq9AWR9ZrNC2qvXYIBMwOTuiJQy7YYaJSYlb6";
|
| | | private final static String APP_SECRET = "a5f6c827903e4b1eac6eb2ba2cf715be";
|
| | |
|
| | | @SuppressWarnings("deprecation")
|
| | | private static String post(String url, String body) {
|
| | | HttpClient client = new HttpClient();
|
| | | client.getHostConfiguration().setProxy("192.168.1.122", 8888);
|
| | | PostMethod method = new PostMethod(url);
|
| | | method.addRequestHeader("Content-Type", "application/json;charset=UTF-8");
|
| | | method.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
|
| | | method.setRequestBody(body);
|
| | | try {
|
| | | client.executeMethod(method);
|
| | | return method.getResponseBodyAsString();
|
| | | } catch (HttpException e) {
|
| | | e.printStackTrace();
|
| | | } catch (IOException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | private static void baseRequest(String method, JSONObject bizContent) {
|
| | | // String url = "http://pre.openapi.fulu.com/api/getway";
|
| | | String url="http://openapi.fulu.com/api/getway";
|
| | | Map<String, String> params = new HashMap<>();
|
| | | params.put("app_key", APP_KEY);
|
| | | params.put("method", method);
|
| | | params.put("timestamp", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
|
| | | params.put("version", "2.0");
|
| | | params.put("format", "json");
|
| | | params.put("charset", "utf-8");
|
| | | params.put("sign_type", "md5");
|
| | | params.put("app_auth_token", "");
|
| | | params.put("biz_content", bizContent.toString());
|
| | | JSONObject resultJson = JSONObject.fromObject(params);
|
| | | char[] s = resultJson.toString().toCharArray();
|
| | | Arrays.sort(s);
|
| | | String outputSignOriginalStr = new String(s) + APP_SECRET;
|
| | | String sign = StringUtil.Md5(outputSignOriginalStr);
|
| | | params.put("sign", sign);
|
| | | String result = post(url, JSONObject.fromObject(params).toString());
|
| | | System.out.println(result);
|
| | | }
|
| | |
|
| | | public static void charge(String goodsNo, String orderId, String account) {
|
| | | JSONObject json = new JSONObject();
|
| | | json.put("charge_type", "爱奇艺会员");
|
| | | json.put("customer_order_no", orderId);
|
| | | json.put("product_id", goodsNo);
|
| | | json.put("charge_account", account);
|
| | | json.put("buy_num", "1");
|
| | | baseRequest("fulu.order.direct.add", json);
|
| | | }
|
| | |
|
| | | }
|
| | | package com.yeshi.fanli.util.charge; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | import org.apache.commons.httpclient.HttpClient; |
| | | import org.apache.commons.httpclient.HttpException; |
| | | import org.apache.commons.httpclient.methods.PostMethod; |
| | | |
| | | import com.yeshi.fanli.exception.shop.FuLuChargeException; |
| | | import com.yeshi.fanli.util.StringUtil; |
| | | import org.yeshi.utils.TimeUtil; |
| | | |
| | | import net.sf.json.JSONObject; |
| | | |
| | | /** |
| | | * 福录开放平台API入口(open.fulu.com) |
| | | * |
| | | * @author Administrator |
| | | * |
| | | */ |
| | | public class FuLuChargeApiUtil { |
| | | // 沙箱 |
| | | // private final static String APP_KEY = |
| | | // "i4esv1l+76l/7NQCL3QudG90Fq+YgVfFGJAWgT+7qO1Bm9o/adG/1iwO2qXsAXNB"; |
| | | // private final static String APP_SECRET = |
| | | // "0a091b3aa4324435aab703142518a8f7"; |
| | | // 正式 |
| | | private final static String APP_KEY = "CrtDnTh1E5eYY5D42T8uArVrl4GWq9AWR9ZrNC2qvXYIBMwOTuiJQy7YYaJSYlb6"; |
| | | private final static String APP_SECRET = "a5f6c827903e4b1eac6eb2ba2cf715be"; |
| | | |
| | | @SuppressWarnings("deprecation") |
| | | private static String post(String url, String body) { |
| | | HttpClient client = new HttpClient(); |
| | | PostMethod method = new PostMethod(url); |
| | | method.addRequestHeader("Content-Type", "application/json;charset=UTF-8"); |
| | | method.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); |
| | | method.setRequestBody(body); |
| | | try { |
| | | client.executeMethod(method); |
| | | return method.getResponseBodyAsString(); |
| | | } catch (HttpException e) { |
| | | e.printStackTrace(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | private static void baseRequest(String method, JSONObject bizContent) throws FuLuChargeException { |
| | | // String url = "http://pre.openapi.fulu.com/api/getway"; |
| | | String url = "http://openapi.fulu.com/api/getway"; |
| | | Map<String, String> params = new HashMap<>(); |
| | | params.put("app_key", APP_KEY); |
| | | params.put("method", method); |
| | | params.put("timestamp", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss")); |
| | | params.put("version", "2.0"); |
| | | params.put("format", "json"); |
| | | params.put("charset", "utf-8"); |
| | | params.put("sign_type", "md5"); |
| | | params.put("app_auth_token", ""); |
| | | params.put("biz_content", bizContent.toString()); |
| | | JSONObject resultJson = JSONObject.fromObject(params); |
| | | char[] s = resultJson.toString().toCharArray(); |
| | | Arrays.sort(s); |
| | | String outputSignOriginalStr = new String(s) + APP_SECRET; |
| | | String sign = StringUtil.Md5(outputSignOriginalStr); |
| | | params.put("sign", sign); |
| | | String result = post(url, JSONObject.fromObject(params).toString()); |
| | | System.out.println(result); |
| | | JSONObject json = JSONObject.fromObject(result); |
| | | { |
| | | if (json.optInt("code") != 0) {// 成功 |
| | | throw new FuLuChargeException(json.optInt("code"), json.optString("message")); |
| | | } else { |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 充值 |
| | | * |
| | | * @param goodsNo-商品编号 |
| | | * @param orderId-商户订单号 |
| | | * @param account-数量 |
| | | */ |
| | | public static void charge(String goodsNo, String orderId, String account) throws FuLuChargeException { |
| | | JSONObject json = new JSONObject(); |
| | | json.put("customer_order_no", orderId); |
| | | json.put("product_id", goodsNo); |
| | | json.put("charge_account", account); |
| | | json.put("buy_num", "1"); |
| | | baseRequest("fulu.order.direct.add", json); |
| | | } |
| | | |
| | | /** |
| | | * 沙箱充值 |
| | | */ |
| | | public static void shaXiangCharge(String goodsNo, String orderId, String account) throws FuLuChargeException { |
| | | JSONObject json = new JSONObject(); |
| | | json.put("charge_type", "爱奇艺会员"); |
| | | json.put("customer_order_no", orderId); |
| | | json.put("product_id", "10000586"); |
| | | json.put("charge_account", account); |
| | | json.put("buy_num", "1"); |
| | | baseRequest("fulu.order.direct.add", json); |
| | | } |
| | | |
| | | } |