|
@@ -7,9 +7,13 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.huifu.adapay.Adapay;
|
|
import com.huifu.adapay.Adapay;
|
|
|
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
|
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
|
|
-import com.huifu.adapay.model.*;
|
|
|
|
|
-import com.izouma.nineth.dto.adapay.MemberInfo;
|
|
|
|
|
-import com.izouma.nineth.dto.adapay.SettleAccountsItem;
|
|
|
|
|
|
|
+import com.huifu.adapay.model.AdapayCommon;
|
|
|
|
|
+import com.huifu.adapay.model.MerConfig;
|
|
|
|
|
+import com.huifu.adapay.model.Payment;
|
|
|
|
|
+import com.huifu.adapay.model.Refund;
|
|
|
|
|
+import com.izouma.nineth.dto.adapay.DivMembersItem;
|
|
|
|
|
+import com.izouma.nineth.dto.adapay.PaymentList;
|
|
|
|
|
+import com.izouma.nineth.dto.adapay.PaymentItem;
|
|
|
import com.izouma.nineth.utils.SnowflakeIdWorker;
|
|
import com.izouma.nineth.utils.SnowflakeIdWorker;
|
|
|
import com.izouma.nineth.utils.excel.BigIntegerConverter;
|
|
import com.izouma.nineth.utils.excel.BigIntegerConverter;
|
|
|
import com.izouma.nineth.utils.excel.LocalDateConverter;
|
|
import com.izouma.nineth.utils.excel.LocalDateConverter;
|
|
@@ -26,14 +30,23 @@ import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
public class AdapayTest {
|
|
public class AdapayTest {
|
|
|
- private final String appId = "app_843a743d-744e-4d73-bd60-3ebbee15d383";
|
|
|
|
|
|
|
+ private String appId = "app_843a743d-744e-4d73-bd60-3ebbee15d383";
|
|
|
|
|
+ private final String[][] accounts = new String[][]{
|
|
|
|
|
+ {"mtws-a1", "app_843a743d-744e-4d73-bd60-3ebbee15d383", "api_live_c9db942a-b6d6-4cf7-b1b1-ec1e2873a7e7"},
|
|
|
|
|
+ {"mtws-a2", "app_dcf563b9-14cf-4583-a023-b41eb7a88f22", "api_live_ed24cd9d-b188-46dd-97f7-45e1000dc72d"},
|
|
|
|
|
+ {"mtws-a3", "app_7c2c29db-72d7-4215-ba56-99eacf28d7ee", "api_live_f77971eb-e816-4523-a41f-d4423526fb06"},
|
|
|
|
|
+ {"mtws-a4", "app_8d662b06-27e0-46c0-b7a0-6aaffa014a9b", "api_live_b692f68b-417f-4f1c-b9ff-568e8e9de6f2"},
|
|
|
|
|
+ {"mtws-a5", "app_f8760acc-f4d8-46f6-8f70-d80e36517075", "api_live_8818cac1-894b-40bc-ac77-803e02e9c260"},
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
public AdapayTest() {
|
|
public AdapayTest() {
|
|
|
|
|
+ int account = 5;
|
|
|
Adapay.debug = false;
|
|
Adapay.debug = false;
|
|
|
Adapay.prodMode = true;
|
|
Adapay.prodMode = true;
|
|
|
|
|
|
|
|
|
|
+ appId = accounts[account - 1][1];
|
|
|
MerConfig merConfig = new MerConfig();
|
|
MerConfig merConfig = new MerConfig();
|
|
|
- merConfig.setApiKey("api_live_c9db942a-b6d6-4cf7-b1b1-ec1e2873a7e7");
|
|
|
|
|
|
|
+ merConfig.setApiKey(accounts[account - 1][2]);
|
|
|
merConfig.setApiMockKey("api_test_0b1b0eb9-30e1-4acd-8e03-10b529de1856");
|
|
merConfig.setApiMockKey("api_test_0b1b0eb9-30e1-4acd-8e03-10b529de1856");
|
|
|
merConfig.setRSAPrivateKey("MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQCnIaIrFP598qcf/s3FqXxMTjrVAevnf1w5CAMdJqcRFv0WvdLEmNRxxqAYSLl/iQ8AyU4yqVwkwYqvn/aENBg0iQ5h5qboxb8T6xmrZLctk97TiIuCUwbd7Q5NBHJXzHlaKc1p1KBvTCJDMw8+t0Jh3sBkBvu7l0KPliEQHtPLBDkKvy3NBQD6BMy47kPersjSUH53HBvNpcjcPZGpUX/TmL3SNkS98RkoebFxuorK5UdazYN5xvarjfcYziShIjU3WIZJb52DGUxYWTk6vJKZrJhw7AhWIEQpH7qJxvml/B8RMQ4guHdtp3ojxwkHDtZdPU9rY8i6EHwba4qOYgobAgMBAAECggEAT36L5/oAYl+8ZleIAHBxEspS6WYUkvPdJbNN59uus04/60U2rxQSWFulYmeU87h5TmJxs18i2MjF8msfkhpFORfHo4FV+nm0PQEiIIezKRagcfUMhlx/c6eBmdh3mpNDVUN01NWxyb5ovZXXtnjsNikBUZKQwdVcb3d1GnnPO0xtt6/0xwiduCkA2ihS1tgnsYYDhMHgukIdZ3eczn3stRPQ+QyCt1JWS6DDd1nS3S2RyPZw8P9Z1zzJFVKH8z3bGqk3/98Lw7Hw+rKFnKhIA6/H9ZVORKw5OuGC3Ozy6cVbmUn8tuw3sC0NdR7w56dedB+fjJB8od0nahX1Cc6eQQKBgQDckcenslWqjs2PbncwW1wqlw7FdJX9rzJAg7kp9ItpHCoNi/kSgXeLphHXWJmyj7a1BkWynmTGxO48X3dPXUrDPFKJc42fSbxMgAQdtc/A2z+v7Ga/oUpH8jajKfKmcgeRX026R7gd9W0yi0EW+C0WdFhrzNKKY4shvnYy9lc+QwKBgQDB+mHSllqLqYru0bLrtKOKJXaR3N3INxDBZKnRqba4tUKN35IVIexiEMkHmC51jtjoRyA5Y+fc/8P11i9FbuShtRVGHWeyDibKlwff5zrETveSLTpSULBKZ6MsFSm0Fo1krSUC1QTUGG5VX/wwWm9AB2UKJqG5cMDd3i3RiPeDSQKBgBs1ED+rS83iF5Eduy4H1vKZ94R7wRSty7ERjoGSXK/2fWl2Xp7dwXVEYucBUtQnzg2+XFKQHzY1jH19+SWdCF/UzQmPa2S+n6+ACwHvL1VGtjBpJLN2nccKJZsyzW+imTRhYSEdP6TSZUnay4idzFH8v/tsJHxVkw/ygnn+0PwpAn8uOHsWsrzgioWQYmc/wss1H7ghCX/PNU/IxTOxwb7IRGiXZa5pWqv4sgc0yA5J9L+6mTgUdLnK7ybCbUbWRJY18fAfxOHwi26y10oJEA/wtuBG9H/xHUjkcc1vs5s8TiNi2d73zcpYv3mK3lQ5MVNQ7nIk+Q+QIE3UkBxa0UgpAoGBAMDwg0ebzBEZsV2cr/Er2b25LsXteDJ+V67plBNrv+A1/omA9a52sWek4bY0D+Uu6zPTDaLj9BhHC2wJmThYl0eLRKyDKYQslBR3h253Gsn3If6RH9/tSyDsQ88iAEI1f6QH27bGHL9VDrsLGEFg5E7ZEzFQuJPqoUvBOoURNwa6");
|
|
merConfig.setRSAPrivateKey("MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQCnIaIrFP598qcf/s3FqXxMTjrVAevnf1w5CAMdJqcRFv0WvdLEmNRxxqAYSLl/iQ8AyU4yqVwkwYqvn/aENBg0iQ5h5qboxb8T6xmrZLctk97TiIuCUwbd7Q5NBHJXzHlaKc1p1KBvTCJDMw8+t0Jh3sBkBvu7l0KPliEQHtPLBDkKvy3NBQD6BMy47kPersjSUH53HBvNpcjcPZGpUX/TmL3SNkS98RkoebFxuorK5UdazYN5xvarjfcYziShIjU3WIZJb52DGUxYWTk6vJKZrJhw7AhWIEQpH7qJxvml/B8RMQ4guHdtp3ojxwkHDtZdPU9rY8i6EHwba4qOYgobAgMBAAECggEAT36L5/oAYl+8ZleIAHBxEspS6WYUkvPdJbNN59uus04/60U2rxQSWFulYmeU87h5TmJxs18i2MjF8msfkhpFORfHo4FV+nm0PQEiIIezKRagcfUMhlx/c6eBmdh3mpNDVUN01NWxyb5ovZXXtnjsNikBUZKQwdVcb3d1GnnPO0xtt6/0xwiduCkA2ihS1tgnsYYDhMHgukIdZ3eczn3stRPQ+QyCt1JWS6DDd1nS3S2RyPZw8P9Z1zzJFVKH8z3bGqk3/98Lw7Hw+rKFnKhIA6/H9ZVORKw5OuGC3Ozy6cVbmUn8tuw3sC0NdR7w56dedB+fjJB8od0nahX1Cc6eQQKBgQDckcenslWqjs2PbncwW1wqlw7FdJX9rzJAg7kp9ItpHCoNi/kSgXeLphHXWJmyj7a1BkWynmTGxO48X3dPXUrDPFKJc42fSbxMgAQdtc/A2z+v7Ga/oUpH8jajKfKmcgeRX026R7gd9W0yi0EW+C0WdFhrzNKKY4shvnYy9lc+QwKBgQDB+mHSllqLqYru0bLrtKOKJXaR3N3INxDBZKnRqba4tUKN35IVIexiEMkHmC51jtjoRyA5Y+fc/8P11i9FbuShtRVGHWeyDibKlwff5zrETveSLTpSULBKZ6MsFSm0Fo1krSUC1QTUGG5VX/wwWm9AB2UKJqG5cMDd3i3RiPeDSQKBgBs1ED+rS83iF5Eduy4H1vKZ94R7wRSty7ERjoGSXK/2fWl2Xp7dwXVEYucBUtQnzg2+XFKQHzY1jH19+SWdCF/UzQmPa2S+n6+ACwHvL1VGtjBpJLN2nccKJZsyzW+imTRhYSEdP6TSZUnay4idzFH8v/tsJHxVkw/ygnn+0PwpAn8uOHsWsrzgioWQYmc/wss1H7ghCX/PNU/IxTOxwb7IRGiXZa5pWqv4sgc0yA5J9L+6mTgUdLnK7ybCbUbWRJY18fAfxOHwi26y10oJEA/wtuBG9H/xHUjkcc1vs5s8TiNi2d73zcpYv3mK3lQ5MVNQ7nIk+Q+QIE3UkBxa0UgpAoGBAMDwg0ebzBEZsV2cr/Er2b25LsXteDJ+V67plBNrv+A1/omA9a52sWek4bY0D+Uu6zPTDaLj9BhHC2wJmThYl0eLRKyDKYQslBR3h253Gsn3If6RH9/tSyDsQ88iAEI1f6QH27bGHL9VDrsLGEFg5E7ZEzFQuJPqoUvBOoURNwa6");
|
|
|
merConfig.setRSAPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApyGiKxT+ffKnH/7Nxal8TE461QHr539cOQgDHSanERb9Fr3SxJjUccagGEi5f4kPAMlOMqlcJMGKr5/2hDQYNIkOYeam6MW/E+sZq2S3LZPe04iLglMG3e0OTQRyV8x5WinNadSgb0wiQzMPPrdCYd7AZAb7u5dCj5YhEB7TywQ5Cr8tzQUA+gTMuO5D3q7I0lB+dxwbzaXI3D2RqVF/05i90jZEvfEZKHmxcbqKyuVHWs2Decb2q433GM4koSI1N1iGSW+dgxlMWFk5OrySmayYcOwIViBEKR+6icb5pfwfETEOILh3bad6I8cJBw7WXT1Pa2PIuhB8G2uKjmIKGwIDAQAB");
|
|
merConfig.setRSAPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApyGiKxT+ffKnH/7Nxal8TE461QHr539cOQgDHSanERb9Fr3SxJjUccagGEi5f4kPAMlOMqlcJMGKr5/2hDQYNIkOYeam6MW/E+sZq2S3LZPe04iLglMG3e0OTQRyV8x5WinNadSgb0wiQzMPPrdCYd7AZAb7u5dCj5YhEB7TywQ5Cr8tzQUA+gTMuO5D3q7I0lB+dxwbzaXI3D2RqVF/05i90jZEvfEZKHmxcbqKyuVHWs2Decb2q433GM4koSI1N1iGSW+dgxlMWFk5OrySmayYcOwIViBEKR+6icb5pfwfETEOILh3bad6I8cJBw7WXT1Pa2PIuhB8G2uKjmIKGwIDAQAB");
|
|
@@ -206,68 +219,47 @@ public class AdapayTest {
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
public void singleQuery() throws BaseAdaPayException {
|
|
public void singleQuery() throws BaseAdaPayException {
|
|
|
- Map<String, Object> map = Payment.query("002112022030111361010344576731466739712");
|
|
|
|
|
|
|
+ Map<String, Object> map = Payment.query("002112022022700094210343679201843290112");
|
|
|
System.out.println(JSON.toJSONString(map, SerializerFeature.PrettyFormat));
|
|
System.out.println(JSON.toJSONString(map, SerializerFeature.PrettyFormat));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void createmember() throws BaseAdaPayException {
|
|
|
|
|
- Map<String, Object> memberParams = new HashMap<String, Object>(7);
|
|
|
|
|
- memberParams.put("member_id", "member_id_test");
|
|
|
|
|
- memberParams.put("app_id", appId);
|
|
|
|
|
- memberParams.put("location", "上海市徐汇区宜山路700号");
|
|
|
|
|
- memberParams.put("email", "123@163.com");
|
|
|
|
|
- memberParams.put("gender", "MALE");
|
|
|
|
|
- memberParams.put("tel_no", "13153333333");
|
|
|
|
|
- memberParams.put("nickname", "nick_name");
|
|
|
|
|
- Map<String, Object> member = Member.create(memberParams);
|
|
|
|
|
- System.out.println(JSON.toJSONString(member, SerializerFeature.PrettyFormat));
|
|
|
|
|
-
|
|
|
|
|
- Map<String, Object> settleCountParams = new HashMap<>();
|
|
|
|
|
- Map<String, Object> accountInfo = new HashMap<>();
|
|
|
|
|
- accountInfo.put("card_id", "6222024301070380165");
|
|
|
|
|
- accountInfo.put("card_name", "熊竹");
|
|
|
|
|
- accountInfo.put("cert_id", "321002199408304614");
|
|
|
|
|
- accountInfo.put("cert_type", "00");
|
|
|
|
|
- accountInfo.put("tel_no", "15077886171");
|
|
|
|
|
- accountInfo.put("bank_acct_type", "2");
|
|
|
|
|
- settleCountParams.put("member_id", "member_id_test");
|
|
|
|
|
- settleCountParams.put("app_id", appId);
|
|
|
|
|
- settleCountParams.put("channel", "bank_account");
|
|
|
|
|
- settleCountParams.put("account_info", accountInfo);
|
|
|
|
|
- Map<String, Object> settleCount = SettleAccount.create(settleCountParams);
|
|
|
|
|
- System.out.println(JSON.toJSONString(member, SerializerFeature.PrettyFormat));
|
|
|
|
|
|
|
+ public void listQuery() throws BaseAdaPayException {
|
|
|
|
|
+ Map<String, Object> paymentParams = new HashMap<>();
|
|
|
|
|
+ paymentParams.put("app_id", appId);
|
|
|
|
|
+ paymentParams.put("payment_id", "002112022022700094210343679201843290112");
|
|
|
|
|
+ Map<String, Object> res = Payment.queryList(paymentParams);
|
|
|
|
|
+ System.out.println(JSON.toJSONString(res, SerializerFeature.PrettyFormat));
|
|
|
|
|
+ PaymentList paymentList = JSON.parseObject(JSON.toJSONString(res), PaymentList.class);
|
|
|
|
|
+ if (paymentList.getPayments() != null) {
|
|
|
|
|
+ PaymentItem paymentItem = paymentList.getPayments().get(0);
|
|
|
|
|
+ if (paymentItem.getDivMembers() != null && paymentItem.getDivMembers().size() > 1) {
|
|
|
|
|
+ DivMembersItem item = paymentItem.getDivMembers().stream().filter(d -> !d.getMemberId().equals("0"))
|
|
|
|
|
+ .findAny().get();
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Test
|
|
|
|
|
- public void queryMember() throws BaseAdaPayException {
|
|
|
|
|
- Map<String, Object> memberParams = new HashMap<String, Object>(2);
|
|
|
|
|
- memberParams.put("member_id", "test0301");
|
|
|
|
|
- memberParams.put("app_id", appId);
|
|
|
|
|
- Map<String, Object> member = Member.query(memberParams);
|
|
|
|
|
- System.out.println(JSON.toJSONString(member, SerializerFeature.PrettyFormat));
|
|
|
|
|
- MemberInfo m = JSON.parseObject(JSON.toJSONString(member), MemberInfo.class);
|
|
|
|
|
- System.out.println(m);
|
|
|
|
|
|
|
|
|
|
|
|
+ public void balancePay(String from, String to, String amount) throws BaseAdaPayException {
|
|
|
|
|
+ Map<String, Object> balanceParam = new HashMap<String, Object>(4);
|
|
|
|
|
+ balanceParam.put("app_id", appId);
|
|
|
|
|
+ balanceParam.put("adapay_func_code", "settle_accounts.balancePay");
|
|
|
|
|
+ balanceParam.put("order_no", new SnowflakeIdWorker(0, 0).nextId() + "");
|
|
|
|
|
+ balanceParam.put("out_member_id", from);
|
|
|
|
|
+ balanceParam.put("in_member_id", to);
|
|
|
|
|
+ balanceParam.put("trans_amt", amount);
|
|
|
|
|
+ balanceParam.put("goods_title", "一双鞋子");
|
|
|
|
|
+ balanceParam.put("goods_desc", "一双鞋子啊");
|
|
|
|
|
+
|
|
|
|
|
+ Map<String, Object> paymentResult = AdapayCommon.requestAdapay(balanceParam);
|
|
|
|
|
+ System.out.println(JSON.toJSONString(paymentResult, SerializerFeature.PrettyFormat));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void delSettleAccount() throws BaseAdaPayException {
|
|
|
|
|
- String memberId = "test0301";
|
|
|
|
|
- Map<String, Object> memberParams = new HashMap<>();
|
|
|
|
|
- memberParams.put("member_id", memberId);
|
|
|
|
|
- memberParams.put("app_id", appId);
|
|
|
|
|
- Map<String, Object> member = Member.query(memberParams);
|
|
|
|
|
- MemberInfo memberInfo = JSON.parseObject(JSON.toJSONString(member), MemberInfo.class);
|
|
|
|
|
- if (memberInfo.getSettleAccounts() != null && memberInfo.getSettleAccounts().size() > 0) {
|
|
|
|
|
- SettleAccountsItem settleAccountsItem = memberInfo.getSettleAccounts().get(0);
|
|
|
|
|
- Map<String, Object> settleCountParams = new HashMap<>();
|
|
|
|
|
- settleCountParams.put("settle_account_id", settleAccountsItem.getId());
|
|
|
|
|
- settleCountParams.put("member_id", memberId);
|
|
|
|
|
- settleCountParams.put("app_id", appId);
|
|
|
|
|
- Map<String, Object> settleCount = SettleAccount.delete(settleCountParams);
|
|
|
|
|
- System.out.println(JSON.toJSONString(settleCount, SerializerFeature.PrettyFormat));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ public void testbalancePay() throws BaseAdaPayException {
|
|
|
|
|
+ balancePay("8635", "3896", "0.01");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
}
|
|
}
|