package com.walker.pay.allinpaycloud; import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.NumberGenerator; import com.walker.infrastructure.utils.StringUtils; import com.walker.pay.Constants; import com.walker.pay.PayType; import com.walker.pay.ResponsePay; import com.walker.pay.ServiceProvider; import com.walker.pay.SplitAccount; import com.walker.pay.allinpaycloud.pojo.BankCardInfo; import com.walker.pay.allinpaycloud.pojo.RequestApplyBindBankCard; import com.walker.pay.allinpaycloud.pojo.RequestBalance; import com.walker.pay.allinpaycloud.pojo.RequestBindAcct; import com.walker.pay.allinpaycloud.pojo.RequestBindBankCard; import com.walker.pay.allinpaycloud.pojo.RequestBindPhone; import com.walker.pay.allinpaycloud.pojo.RequestConfirmPay; import com.walker.pay.allinpaycloud.pojo.RequestMember; import com.walker.pay.allinpaycloud.pojo.RequestRealName; import com.walker.pay.allinpaycloud.pojo.RequestSendVerifyCode; import com.walker.pay.allinpaycloud.pojo.RequestSetCompany; import com.walker.pay.allinpaycloud.pojo.RequestSignAcct; import com.walker.pay.allinpaycloud.pojo.RequestSignContractQuery; import com.walker.pay.allinpaycloud.pojo.ResponseApplyBindBankCard; import com.walker.pay.allinpaycloud.pojo.ResponseBalance; import com.walker.pay.allinpaycloud.pojo.ResponseBindAcct; import com.walker.pay.allinpaycloud.pojo.ResponseBindBankCard; import com.walker.pay.allinpaycloud.pojo.ResponseBindPhone; import com.walker.pay.allinpaycloud.pojo.ResponseCardBinInfo; import com.walker.pay.allinpaycloud.pojo.ResponseConfirmPay; import com.walker.pay.allinpaycloud.pojo.ResponseMember; import com.walker.pay.allinpaycloud.pojo.ResponseMemberInfo; import com.walker.pay.allinpaycloud.pojo.ResponseRealName; import com.walker.pay.allinpaycloud.pojo.ResponseSetCompany; import com.walker.pay.allinpaycloud.pojo.ResponseWithdraw; import com.walker.pay.allinpaycloud.util.OrderUtils; import com.walker.pay.exception.OrderException; import com.walker.pay.response.OrderStatusResponsePay; import com.walker.pay.support.BankCardOrder; import com.walker.pay.support.allinpaycloud.WechatJsOrder; import org.junit.Before; import java.util.ArrayList; import java.util.List; public class TestOrder extends TestBase{ private CloudPayEngineManager payEngineManager = null; private SdkClient sdkClient = null; @Before public void init(){ if(this.payEngineManager == null){ this.payEngineManager = new CloudPayEngineManager(); this.payEngineManager.setConfiguration(this.getConfiguration()); this.payEngineManager.loadPayDefinitionList(); } DefaultPayEngineProvider defaultPayEngineProvider = (DefaultPayEngineProvider) this.payEngineManager .getPayEngineProvider(ServiceProvider.AllinPayCloud.getIndex() + "_" + Constants.DEFAULT_VERSION); this.sdkClient = defaultPayEngineProvider.getSdkClient(); } // @Test public void testNanoTime(){ System.out.println(System.nanoTime()); } // @Test public void testRequestNotifySerialize(){ RequestNotify requestNotify = new RequestNotify(); requestNotify.setAppId("123"); requestNotify.setNotifyId("notifyId"); requestNotify.setNotifyTime("2023-03-06 10:21:01"); requestNotify.setNotifyType("type"); requestNotify.setCharset("utf-8"); requestNotify.setVersion("1.0"); requestNotify.setBizContent("{\"orderId\":\"99880096\"}"); requestNotify.setSignType("md5"); requestNotify.setSign("sfsfdsfdsfdsdfsfd"); String result = requestNotify.toSignSerialize(); System.out.println(result); } /** * 账户协议签约查询。 */ // @Test public void testSignContractQuery(){ RequestSignContractQuery requestSignContractQuery = new RequestSignContractQuery(); requestSignContractQuery.setBizUserId("shikeying"); requestSignContractQuery.setSignAcctName(""); requestSignContractQuery.setJumpUrl("https://www.baidu.com"); requestSignContractQuery.setJumpPageType(1); try { String data = this.sdkClient.signContractQuery(requestSignContractQuery); System.out.println(data); } catch (SdkException e) { throw new RuntimeException(e); } } // @Test public void testSignAcctProtocol(){ RequestSignAcct requestSignAcct = new RequestSignAcct(); requestSignAcct.setBizUserId("shikeying"); requestSignAcct.setSignAcctName(""); requestSignAcct.setJumpPageType(1); requestSignAcct.setJumpUrl("https://www.baidu.com"); requestSignAcct.setBackUrl(""); String url = this.sdkClient.getSignAcctProtocolParams(requestSignAcct); System.out.println(url); } // @Test public void testQueryBalance(){ RequestBalance requestBalance = new RequestBalance(); requestBalance.setBizUserId("shikeying"); requestBalance.setAccountSetNo("100001"); ResponseBalance responseBalance = this.sdkClient.queryBalance(requestBalance); System.out.println(responseBalance); } // @Test public void testSearchOrderStatus(){ OrderStatusResponsePay orderStatusResponsePay = this.payEngineManager.searchOrderStatus("7415467709133665"); if(orderStatusResponsePay == null){ System.out.println("未查询到订单状态"); return; } System.out.println(orderStatusResponsePay); } // @Test public void testWithdrawApply(){ WithdrawOrder order = new WithdrawOrder(); order.setBuyerId("shikeying"); order.setId(NumberGenerator.getLongSequenceNumber()); order.setAccountSetNo("100001"); order.setTotalMoney(1); order.setFee(0); order.setNotifyUrl("http://ceshi.allinpay.com"); order.setBankCardNo("6217858000003661078"); order.setBankCardPro(0); order.setWithdrawType("D0"); order.setAttach("test"); ResponseWithdraw responseWithdraw = this.sdkClient.withdrawApply(order); System.out.println(responseWithdraw); } // @Test public void testGetBindCardList(){ try{ List list = this.sdkClient.getBindCardList("shikeying", null); if(list != null){ System.out.println(list); } } catch (SdkException ex){ System.out.println(ex.getSdkError()); } } // @Test public void testGetCarBinInfo(){ ResponseCardBinInfo responseCardBinInfo = this.sdkClient.getCardBinInfo("6217858000003661078"); if(responseCardBinInfo != null){ System.out.println(responseCardBinInfo); } } // @Test public void testGetMemberInfo(){ // ResponseMemberInfo responseMemberInfo = this.sdkClient.getMemberInfo("shikeying"); ResponseMemberInfo responseMemberInfo = this.sdkClient.getMemberInfo("member_demo"); if(responseMemberInfo != null){ // String memberInfoJson = responseMemberInfo.getMemberInfo(); // System.out.println("++++++++++++++"); // System.out.println(memberInfoJson); if(responseMemberInfo.getMemberType() == 3){ // 个人 System.out.println(responseMemberInfo.getMemberPerson()); } else if(responseMemberInfo.getMemberType() == 2){ // 企业 System.out.println(responseMemberInfo.getMemberEnterprise()); } } } // @Test public void testSetCompany(){ RequestSetCompany requestSetCompany = new RequestSetCompany(); requestSetCompany.setBizUserId("member_demo"); requestSetCompany.setAuth(true); requestSetCompany.setCompanyName("竹溪县子怡鞋店"); requestSetCompany.setCompanyAddress("qq"); requestSetCompany.setAuthType(2); // 一证 requestSetCompany.setUniCredit("92420324MA4D68J28J"); requestSetCompany.setBusinessLicense("92420324MA4D68J28J"); requestSetCompany.setOrganizationCode("333333"); requestSetCompany.setTaxRegister("92420324MA4D68J28J"); requestSetCompany.setIdentityType(1); requestSetCompany.setLegalName("王三华"); requestSetCompany.setLegalIds("420324197711160623"); requestSetCompany.setLegalPhone("13900001235"); requestSetCompany.setAccountNo("6228480402637874215"); requestSetCompany.setParentBankName("农业银行"); requestSetCompany.setBankName("农业银行"); requestSetCompany.setUnionBank("103611001012"); ResponseSetCompany responseSetCompany = this.sdkClient.setCompany(requestSetCompany); System.out.println(responseSetCompany); } // @Test public void testBindPhone(){ RequestBindPhone requestBindPhone = new RequestBindPhone(); requestBindPhone.setBizUserId("shikeying"); requestBindPhone.setPhone("13838277463"); requestBindPhone.setVerificationCode("676407"); ResponseBindPhone responseBindPhone = this.sdkClient.bindPhone(requestBindPhone); System.out.println(responseBindPhone); } // @Test public void testSendVerifyCode(){ RequestSendVerifyCode requestSendVerifyCode = new RequestSendVerifyCode(); requestSendVerifyCode.setBizUserId("shikeying"); requestSendVerifyCode.setPhone("13838277463"); requestSendVerifyCode.setVerificationCodeType(9); ResponseBindPhone responseBindPhone = this.sdkClient.sendVerifyCode(requestSendVerifyCode); System.out.println(responseBindPhone); } // @Test public void testBindBankCard(){ RequestBindBankCard requestBindBankCard = new RequestBindBankCard(); requestBindBankCard.setBizUserId("shikeying"); requestBindBankCard.setTranceNum("017313328193"); requestBindBankCard.setPhone("13838277463"); requestBindBankCard.setVerificationCode("945289"); ResponseBindBankCard responseBindBankCard = this.sdkClient.bindBankCard(requestBindBankCard); System.out.println(responseBindBankCard); } // @Test public void testApplyBindBankCard(){ RequestApplyBindBankCard requestApplyBindBankCard = new RequestApplyBindBankCard(); requestApplyBindBankCard.setBizUserId("shikeying"); requestApplyBindBankCard.setName("时克英"); requestApplyBindBankCard.setCardNo("6217858000003661078"); requestApplyBindBankCard.setIdentityType(1L); requestApplyBindBankCard.setIdentityNo("410123197911045612"); requestApplyBindBankCard.setPhone("13838277463"); ResponseApplyBindBankCard responseApplyBindBankCard = this.sdkClient.applyBindBankCard(requestApplyBindBankCard); if(responseApplyBindBankCard != null){ System.out.println("申请绑定银行卡成功: " + responseApplyBindBankCard); } } // @Test public void testBindAcct(){ RequestBindAcct requestBindAcct = new RequestBindAcct(); requestBindAcct.setBizUserId("member_mike"); requestBindAcct.setOperationType("set"); requestBindAcct.setAcctType(com.walker.pay.allinpaycloud.Constants.ACCT_TYPE_WECHAT_PUBLIC); requestBindAcct.setAcct("oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"); ResponseBindAcct responseBindAcct = this.sdkClient.bindAcct(requestBindAcct); System.out.println(responseBindAcct); } // @Test public void testRealName(){ RequestRealName requestRealName = new RequestRealName(); requestRealName.setBizUserId("member_mike"); // requestRealName.setBizUserId("shikeying"); requestRealName.setName("史海振"); requestRealName.setIdentityNo("110101200808087633"); // requestRealName.setName("时克英"); // requestRealName.setIdentityNo(""); ResponseRealName responseRealName = this.sdkClient.setRealName(requestRealName); System.out.println(responseRealName); } // @Test public void testCreateMember(){ RequestMember requestMember = new RequestMember(); requestMember.setMemberType(RequestMember.MEMBER_TYPE_PERSON); // requestMember.setBizUserId("member_mike"); requestMember.setBizUserId("member_chang"); // requestMember.setBizUserId("shikeying"); ResponseMember responseMember = this.sdkClient.createMember(requestMember); if(responseMember != null){ System.out.println(responseMember); } } // 创建企业会员 // @Test public void testCreateEnterpriseMember(){ RequestMember requestMember = new RequestMember(); requestMember.setMemberType(RequestMember.MEMBER_TYPE_ENTERPRISE); requestMember.setBizUserId("member_demo"); ResponseMember responseMember = this.sdkClient.createMember(requestMember); if(responseMember != null){ System.out.println(responseMember); } } // @Test public void testConfirmPay(){ RequestConfirmPay requestConfirmPay = new RequestConfirmPay(); requestConfirmPay.setBizUserId("shikeying"); requestConfirmPay.setBizOrderNo("8401985328805372"); requestConfirmPay.setConsumerIp("110.242.68.4"); // requestConfirmPay.setVerificationCode("11111"); requestConfirmPay.setVerificationCode("232469"); ResponseConfirmPay responseConfirmPay = this.sdkClient.confirmPay(requestConfirmPay); if(responseConfirmPay != null){ if(responseConfirmPay.getPayStatus().equals(com.walker.pay.allinpaycloud.Constants.ORDER_STATUS_SUCCESS)){ System.out.println("订单支付确认成功"); } else { System.out.println("订单支付确认失败:" + responseConfirmPay.getPayFailMessage()); } } System.out.println(responseConfirmPay); } // @Test public void testBankCardOrder(){ BankCardOrder order = new BankCardOrder(); order.setServiceProvider(ServiceProvider.AllinPayCloud); order.setId(NumberGenerator.getLongSequenceNumber()); order.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); order.setPayType(PayType.AllinPayCloud_QUICKPAY_VSP); order.setTotalMoney(10); order.setNotifyUrl("http://1.14.252.104:7101/admin/pay/notify/allinpayCloud/orderNotify"); order.setNonce(StringUtils.generateRandomNumber(6)); order.setTitle("一个苹果1"); order.setAttach("test"); // order.setBankCardNo("6217858000003661078"); // order.setBuyerId("member_mike"); // order.setReceiverId("member_chang"); // order.setReceiverId("shihz20220815"); // order.setBuyerId("xckj513811658718773u2621"); order.setBuyerId("shikeying"); order.setReceiverId("xckj513811658718773u2621"); // 2023-04-03 测试添加分账 List splitAccountList = new ArrayList<>(4); splitAccountList.add(OrderUtils.acquireSplitAccount("member_mike", 1, "分账1分", 0, null)); splitAccountList.add(OrderUtils.acquireSplitAccount("member_demo", 1, "分账1分", 0, null)); order.setSplitAccountList(splitAccountList); try { ResponsePay responsePay = this.payEngineManager.generatePrepareOrder(order); System.out.println(responsePay); } catch (OrderException e) { throw new RuntimeException(e); } } // @Test public void testWechatJsOrder(){ WechatJsOrder order = new WechatJsOrder(); order.setServiceProvider(ServiceProvider.AllinPayCloud); order.setId(NumberGenerator.getLongSequenceNumber()); order.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); order.setPayType(PayType.AllinPayCloud_WECHAT_PUBLIC); order.setTotalMoney(1); order.setNotifyUrl("http://1.14.252.104:7101/admin/pay/notify/allinpayCloud/orderNotify"); order.setNonce(StringUtils.generateRandomNumber(6)); order.setTitle("微信JS订单"); order.setAttach("test"); order.setAcct("qwqwqwqwqwwqwq"); order.setLimitPay("no_credit"); order.setBuyerId("shikeying"); order.setReceiverId("xckj513811658718773u2621"); try { ResponsePay responsePay = this.payEngineManager.generatePrepareOrder(order); System.out.println(responsePay); } catch (OrderException e) { throw new RuntimeException(e); } } }