| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.security.KeyFactory; |
| | | import java.security.PrivateKey; |
| | | import java.security.Signature; |
| | |
| | | |
| | | |
| | | |
| | | @Value("${callbackPath}") |
| | | private static String callbackPath;//支付回调网关地址 |
| | | private static String callbackPath = "http://221.182.45.100:8006";//支付回调网关地址 |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | |
| | |
| | | String req_seq_id = System.currentTimeMillis() + ToolUtil.getRandomNumber(10); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); |
| | | String req_date = simpleDateFormat.format(new Date()); |
| | | |
| | | String money ="0.5"; |
| | | money = new BigDecimal(money).setScale(2, RoundingMode.HALF_UP).toString(); |
| | | String a = "{\n" + |
| | | " \"req_seq_id\": \"" + req_seq_id + "\",\n" + |
| | | " \"req_date\": \"" + req_date + "\",\n" + |
| | | " \"huifu_id\": \"6666000182995771\",\n" + |
| | | " \"trade_type\": \"A_NATIVE\",\n" + |
| | | " \"trans_amt\": \"0.01\",\n" + |
| | | " \"trans_amt\": \""+money+"\",\n" + |
| | | " \"goods_desc\": \"test\",\n" + |
| | | " \"remark\": \"嘉易行\",\n" + |
| | | " \"notify_url\": \""+"http://221.182.45.100:8006/base/DGCallBack"+"\",\n" + |
| | |
| | | " \"req_date\": \"" + req_date + "\",\n" + |
| | | " \"huifu_id\": \"6666000182995771\",\n" + |
| | | " \"trade_type\": \"A_NATIVE\",\n" + |
| | | " \"trans_amt\": \"0.01\",\n" + |
| | | " \"trans_amt\": \""+money+"\",\n" + |
| | | " \"goods_desc\": \"test\",\n" + |
| | | " \"remark\": \"嘉易行\",\n" + |
| | | " \"notify_url\": \""+"http://221.182.45.100:8006/base/DGCallBack"+"\",\n" + |
| | |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); |
| | | String req_date = simpleDateFormat.format(new Date()); |
| | | String notifyUrl = ""; |
| | | |
| | | money = new BigDecimal(money).setScale(2, RoundingMode.HALF_UP).toString(); |
| | | switch (callType) { |
| | | case 1: |
| | | // 订单支付 |
| | |
| | | String a = "{\n" + |
| | | " \"req_seq_id\": \"" + req_seq_id + "\",\n" + |
| | | " \"req_date\": \"" + req_date + "\",\n" + |
| | | " \"huifu_id\": \""+sysId+"\",\n" + |
| | | " \"huifu_id\": \"6666000182995771\",\n" + |
| | | " \"trade_type\": \"T_MINIAPP\",\n" + |
| | | " \"trans_amt\": \"" + money + "\",\n" + |
| | | " \"goods_desc\": \"" + goodsDesc + "\",\n" + |
| | |
| | | |
| | | |
| | | a = JSON.toJSONString(JSONObject.parseObject(a, TreeMap.class)); |
| | | String sign = sign(a, privateKeyBase64); |
| | | String sign = sign(a, "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR6W3ynQJL7f2C8vFYMcQkcirpkif9ZhLq1374jIlV87nv0T9uIm6DoW8LyNEl9w2Yc5qoBv70tt/oVpemA6IZY6NXzE2USNi/sv2qUTtapcIRYxe4acCfY8K+x+p7W2e6wUWIpl9qgZA+UnFmHQ0HT6Ywzq2jJL92JdIs147Ud1aVi3aX8LYItj0z3ZKwZQkaJawZSWQk2+EdPfN059L2qFkPtnT7JIthAdUTJYZA13K4tzw6mXp/DbgwVmLhrlmwl/ccSv2Q0ABfEk7jIxF1nZmCmSy3HrEw9xWyrg1BC+DgXBdyF0OEtpNfv+UW080syUVBNN0irHVuDP81BaAjAgMBAAECggEAGlBZprZQErdxz6rWgYxADj6UpJjaI2XEJZwFZveZUOnqb2hyIv+MpKp5Z0upBErApey7SHAyjJlqWfE72hGvqxp/+7Z5izNz+2ZhPtT1ekyIajBPt89CkLwiA9vz2plKZLC0RIeUj5WcGNEvaDX3AomHtCehwtk+uiTp+XJKbOBtkkQszcdCGY1DVoQ0ppFoINnM9VLbEzaFaG7VS3eFkU4cf2CwcrnJB1RncyPFK+bGFvjkLM/eQbsh8YxkBqaGz/8UM1Na1SEidqdyUF71ltqnI0u8pLe0V+5jugVW+3lPL/p1C3i7mAbQOs4yqRWlFaGVTzOawoQUOPVwDpzeeQKBgQDs1P7F4wURqX1qZR0hSTqOigg48ychaOF66new3SuWk2CVBy8Q8b7odGSPyxJSGZvFLoznPYuSaXCtQ935WWfjB7Z5JpSWCi9BmJnkh41k/KvgMqAEGkZP6ul/zFnDWj94VwXEBz3TuRk574vK2coWoxjM6h1dlJjRBVVTs8dnrQKBgQCduKCjPDUuOHbcNn3VsaHEZX1XyiXN5gds08o61PjiHM42wYXxfUt59nBJmg2yAVRIrKYHfswJcxb5XUTDI5ZhCBnIPrdrQzj7FNadm/7mKDvSsvZdpfTiHY341XnvCq7OcNNj8g5fVsWF769strepQReSug7xgX7ojPvVcAZhDwKBgD57KwP2Er5IIuhQ6NCBS0uTqvurWqV70BDnjtBAaWF+XDq0/HvR63XUTzuIbbrvOqNY1p+jIxFrc+iiQQupxLimrkNkJEs5QKJjqiYahPkhmA68DG9Ip0gqR5QJy5y4UIplGwZOiscyzC72vcC0mJZETSSylzC7JV3vtEUy5ua5AoGAEwlDqjAMIyYBgpa5HV+xLKkrNbtaUL2gy8vMLsmhuHjNkuJMrlb3EyNhbiC/4moyqArehy0Qp1tSvIo7UGotLkzx/69CKBoW+IcNWDyJyXG1trqO7cKoCdqTViM98lIRwyzu9rMydONeN8o0HCT5id4nYDhAsXl1vc+2XY6F1pUCgYEA0dxGHBTKD/WzIvTYGYD6Xx224Y84mO6x2Mu16zFoq/NjuIdKi2O+92yrKDCMMCqaY77fXvWD3eI7QYYlbKAOqdLKVipTbhnBccDyNbtYHVg59t4xS+K6HyD+quVkL9n40UkxSZbKZBQhqt+vlQy0FUgONFii1ACZO0A8Sc/bvn4="); |
| | | System.out.println(a); |
| | | String p = "{\n" + |
| | | " \"sys_id\": \""+sysId+"\",\n" + |
| | | " \"product_id\": \""+productId+"\",\n" + |
| | | " \"sys_id\": \"6666000182995771\",\n" + |
| | | " \"product_id\": \"KAZX\",\n" + |
| | | " \"sign\": \"" + sign + "\",\n" + |
| | | " \"data\": {\n" + |
| | | " \"req_seq_id\": \"" + req_seq_id + "\",\n" + |
| | | " \"req_date\": \"" + req_date + "\",\n" + |
| | | " \"huifu_id\": \""+sysId+"\",\n" + |
| | | " \"huifu_id\": \"6666000182995771\",\n" + |
| | | " \"trade_type\": \"T_MINIAPP\",\n" + |
| | | " \"trans_amt\": \"" + money + "\",\n" + |
| | | " \"goods_desc\": \"" + goodsDesc + "\",\n" + |
| | |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); |
| | | String req_date = simpleDateFormat.format(new Date()); |
| | | String notifyUrl = ""; |
| | | |
| | | money = new BigDecimal(money).setScale(2, RoundingMode.HALF_UP).toString(); |
| | | switch (callType) { |
| | | case 1: |
| | | // 订单支付 |
| | |
| | | String a = "{\n" + |
| | | " \"req_seq_id\": \"" + req_seq_id + "\",\n" + |
| | | " \"req_date\": \"" + req_date + "\",\n" + |
| | | " \"huifu_id\": \""+sysId+"\",\n" + |
| | | " \"huifu_id\": \"6666000182995771\",\n" + |
| | | " \"trade_type\": \"A_NATIVE\",\n" + |
| | | " \"trans_amt\": \"" + money + "\",\n" + |
| | | " \"goods_desc\": \"" + goodsDesc + "\",\n" + |
| | |
| | | |
| | | |
| | | a = JSON.toJSONString(JSONObject.parseObject(a, TreeMap.class)); |
| | | String sign = sign(a, privateKeyBase64); System.out.println(a); |
| | | String sign = sign(a, "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCR6W3ynQJL7f2C8vFYMcQkcirpkif9ZhLq1374jIlV87nv0T9uIm6DoW8LyNEl9w2Yc5qoBv70tt/oVpemA6IZY6NXzE2USNi/sv2qUTtapcIRYxe4acCfY8K+x+p7W2e6wUWIpl9qgZA+UnFmHQ0HT6Ywzq2jJL92JdIs147Ud1aVi3aX8LYItj0z3ZKwZQkaJawZSWQk2+EdPfN059L2qFkPtnT7JIthAdUTJYZA13K4tzw6mXp/DbgwVmLhrlmwl/ccSv2Q0ABfEk7jIxF1nZmCmSy3HrEw9xWyrg1BC+DgXBdyF0OEtpNfv+UW080syUVBNN0irHVuDP81BaAjAgMBAAECggEAGlBZprZQErdxz6rWgYxADj6UpJjaI2XEJZwFZveZUOnqb2hyIv+MpKp5Z0upBErApey7SHAyjJlqWfE72hGvqxp/+7Z5izNz+2ZhPtT1ekyIajBPt89CkLwiA9vz2plKZLC0RIeUj5WcGNEvaDX3AomHtCehwtk+uiTp+XJKbOBtkkQszcdCGY1DVoQ0ppFoINnM9VLbEzaFaG7VS3eFkU4cf2CwcrnJB1RncyPFK+bGFvjkLM/eQbsh8YxkBqaGz/8UM1Na1SEidqdyUF71ltqnI0u8pLe0V+5jugVW+3lPL/p1C3i7mAbQOs4yqRWlFaGVTzOawoQUOPVwDpzeeQKBgQDs1P7F4wURqX1qZR0hSTqOigg48ychaOF66new3SuWk2CVBy8Q8b7odGSPyxJSGZvFLoznPYuSaXCtQ935WWfjB7Z5JpSWCi9BmJnkh41k/KvgMqAEGkZP6ul/zFnDWj94VwXEBz3TuRk574vK2coWoxjM6h1dlJjRBVVTs8dnrQKBgQCduKCjPDUuOHbcNn3VsaHEZX1XyiXN5gds08o61PjiHM42wYXxfUt59nBJmg2yAVRIrKYHfswJcxb5XUTDI5ZhCBnIPrdrQzj7FNadm/7mKDvSsvZdpfTiHY341XnvCq7OcNNj8g5fVsWF769strepQReSug7xgX7ojPvVcAZhDwKBgD57KwP2Er5IIuhQ6NCBS0uTqvurWqV70BDnjtBAaWF+XDq0/HvR63XUTzuIbbrvOqNY1p+jIxFrc+iiQQupxLimrkNkJEs5QKJjqiYahPkhmA68DG9Ip0gqR5QJy5y4UIplGwZOiscyzC72vcC0mJZETSSylzC7JV3vtEUy5ua5AoGAEwlDqjAMIyYBgpa5HV+xLKkrNbtaUL2gy8vMLsmhuHjNkuJMrlb3EyNhbiC/4moyqArehy0Qp1tSvIo7UGotLkzx/69CKBoW+IcNWDyJyXG1trqO7cKoCdqTViM98lIRwyzu9rMydONeN8o0HCT5id4nYDhAsXl1vc+2XY6F1pUCgYEA0dxGHBTKD/WzIvTYGYD6Xx224Y84mO6x2Mu16zFoq/NjuIdKi2O+92yrKDCMMCqaY77fXvWD3eI7QYYlbKAOqdLKVipTbhnBccDyNbtYHVg59t4xS+K6HyD+quVkL9n40UkxSZbKZBQhqt+vlQy0FUgONFii1ACZO0A8Sc/bvn4="); |
| | | System.out.println(a); |
| | | String p = "{\n" + |
| | | " \"sys_id\": \""+sysId+"\",\n" + |
| | | " \"product_id\": \""+productId+"\",\n" + |
| | | " \"sys_id\": \"6666000182995771\",\n" + |
| | | " \"product_id\": \"KAZX\",\n" + |
| | | " \"sign\": \"" + sign + "\",\n" + |
| | | " \"data\": {\n" + |
| | | " \"req_seq_id\": \"" + req_seq_id + "\",\n" + |
| | | " \"req_date\": \"" + req_date + "\",\n" + |
| | | " \"huifu_id\": \""+sysId+"\",\n" + |
| | | " \"huifu_id\": \"6666000182995771\",\n" + |
| | | " \"trade_type\": \"A_NATIVE\",\n" + |
| | | " \"trans_amt\": \"" + money + "\",\n" + |
| | | " \"goods_desc\": \"" + goodsDesc + "\",\n" + |