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<BankCardInfo> 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<SplitAccount> 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);
|
}
|
}
|
}
|