import cn.com.jit.new_vstk.Bean.EnvelopResult; import cn.com.jit.new_vstk.Bean.SignResult; import cn.com.jit.new_vstk.Bean.VerifyResult; import com.gkhy.exam.pay.entity.PayReqData; import com.gkhy.exam.pay.utils.PayUtils; import com.gkhy.exam.pay.utils.ResultVo; import com.gkhy.exam.pay.utils.Sign; import com.gkhy.exam.pay.utils.SignDto; import com.ruoyi.common.utils.RandomUtil; import lombok.extern.log4j.Log4j2; import org.dom4j.Element; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import java.io.IOException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; @SpringBootTest(classes = TextPay.class) @ActiveProfiles("dev") @Log4j2 public class TextPay { @Test public void paytext() throws IOException { PayReqData payReqData = new PayReqData(); PayReqData.Feedata feedatas = new PayReqData.Feedata(); //订单编号 payReqData.setOrderNo(RandomUtil.generateOrderNumber(1L, "CO")); //订单总金额 payReqData.setMoney(BigDecimal.valueOf(159)); //子订单数目 payReqData.setAmount(2); //缴费人姓名(单位填单位名称) payReqData.setPayerName("新疆维吾尔自治区应急管理宣传教育中心"); //缴费人证件号(单位填同一信用代码) payReqData.setCertNo("65000023000000172848"); //缴款人类型(1个人 2单位) payReqData.setPayerType(2); //开票单位社会信用代码 payReqData.setInvoiceSocialCode("65000023000000172848"); //开票人 payReqData.setHandlingPerson("张三"); //复核人 payReqData.setChecker("李四"); //单位编码 payReqData.setEnterCode("680534083"); //订单描述(非必填) payReqData.setDesc("安全技术考试考务费_煤矿安全作业-001504"); //订单明细 List feedatas1 = new ArrayList<>(); //数量 feedatas.setAmount(1); //业务代码 feedatas.setBusCode("DZ001504"); //单价 feedatas.setPrice(BigDecimal.valueOf(103)); PayReqData.Feedata feedata = new PayReqData.Feedata(); feedata.setBusCode("DZ001505"); feedata.setAmount(1); feedata.setPrice(BigDecimal.valueOf(56)); feedatas1.add(feedatas); feedatas1.add(feedata); payReqData.setFeeDatas(feedatas1); log.info("请求参数:"+payReqData); PayUtils payUtils = new PayUtils(); ResultVo resultVo = payUtils.sendApiPost(payReqData); // log.info("请求结果:" + resultVo); // String fileData = resultVo.getRespdata().getFileData(); // SignResult sign = payUtils.sign(fileData); // log.info("签名结果为:"+ Arrays.toString(sign.getSignData())); // VerifyResult verify = payUtils.verify(fileData, new String(sign.getSignData())); // SignDto signDto = new SignDto("SM3", "Base64", new Date(), verify.getReturnData(), verify.getSerialNumber(), verify.getIssure()); // Sign sign1 = new Sign(); // Element signature = sign1.getSignature(signDto); // EnvelopResult envelopResult = payUtils.encryptEnvelop(String.valueOf(signature)); // log.info("制作数字信封为:"+ Arrays.toString(envelopResult.getEnvelopData())); } @Test public void text001() { // try { //// String s = PayUtils.affirmPost("10000001"); // //JSONObject query = PayUtils.query("1000001"); // } catch (IOException e) { // throw new RuntimeException(e); // } } }