payment.java

来自「项目支付宝批量打款,采用httpclient+spring +quarz实现.」· Java 代码 · 共 150 行

JAVA
150
字号
package com.alipay.util;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.*;

public class Payment {

    public static String CreateUrl(String paygateway,String service,String partner,String biz_type,
    		String file_digest_type,String sign_type,String key,String input_charset,String digest_bptb_pay_file) {
        Map params = new HashMap();
        params.put("service", service);
        params.put("partner", partner);
        params.put("biz_type", biz_type);
        params.put("file_digest_type", file_digest_type);
        params.put("_input_charset", input_charset);
        params.put("digest_bptb_pay_file", digest_bptb_pay_file);

        String prestr = "";

        prestr = prestr + key;
        //System.out.println("prestr=" + prestr);

        String sign = com.alipay.util.Md5Encrypt.md5(getContent(params, key));

       String parameter = "";
       System.out.println(getContent(params, key));
        parameter = parameter + paygateway;

        List keys = new ArrayList(params.keySet());
        for (int i = 0; i < keys.size(); i++) {
            try {
                parameter = parameter + keys.get(i) + "="
                            + URLEncoder.encode((String) params.get(keys.get(i)), input_charset) + "&";
            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();
            }
        }

        parameter = parameter + "sign=" + sign + "&sign_type=" + sign_type;

        //return parameter;
        return sign;

    }

    public static String CreateUrl1(String paygateway,String service,String partner,String biz_type,
    		String file_name,String sign_type,String key,String input_charset

) {

        Map params = new HashMap();
        params.put("service", service);
        params.put("partner", partner);
        params.put("biz_type", biz_type);
        params.put("file_name", file_name);
        params.put("_input_charset", input_charset);

        String prestr = "";

        prestr = prestr + key;
        //System.out.println("prestr=" + prestr);

        String sign = com.alipay.util.Md5Encrypt.md5(getContent(params, key));

        String parameter = "";
       // System.out.println("prestr=" + prestr);
        parameter = parameter + paygateway;

        List keys = new ArrayList(params.keySet());
        for (int i = 0; i < keys.size(); i++) {
            try {
                parameter = parameter + keys.get(i) + "="
                            + URLEncoder.encode((String) params.get(keys.get(i)), input_charset) + "&";
            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();
            }
        }

        parameter = parameter + "sign=" + sign + "&sign_type=" + sign_type;

       // return parameter;
        return sign;

    }

    public static String CreateUrl2(String paygateway,String service,String partner,String biz_type,
    		String date,String sign_type,String key,String input_charset

) {

        Map params = new HashMap();
        params.put("service", service);
        params.put("partner", partner);
        params.put("biz_type", biz_type);
        params.put("date", date);
        params.put("_input_charset", input_charset);

        String prestr = "";

        prestr = prestr + key;
        //System.out.println("prestr=" + prestr);

        String sign = com.alipay.util.Md5Encrypt.md5(getContent(params, key));

        String parameter = "";
       // System.out.println("prestr=" + prestr);
        parameter = parameter + paygateway;

        List keys = new ArrayList(params.keySet());
        for (int i = 0; i < keys.size(); i++) {
            try {
                parameter = parameter + keys.get(i) + "="
                            + URLEncoder.encode((String) params.get(keys.get(i)), input_charset) + "&";
            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();
            }
        }

        parameter = parameter + "sign=" + sign + "&sign_type=" + sign_type;

       // return parameter;
        return sign;

    }

    private static String getContent(Map params, String privateKey) {
        List keys = new ArrayList(params.keySet());
        Collections.sort(keys);

        String prestr = "";

        for (int i = 0; i < keys.size(); i++) {
            String key = (String) keys.get(i);
            String value = (String) params.get(key);

            if (i == keys.size() - 1) {
                prestr = prestr + key + "=" + value;
            } else {
                prestr = prestr + key + "=" + value + "&";
            }
        }

        return prestr + privateKey;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?