中金支付批量代付Tx1510

1、中金支付批量代付Tx1510

	/**
	 * 批量代付
	 * @throws Exception 
	 */
	public static boolean paymentBatchToInvest(long totalAmounts,List<t_bill_invests> invests,List<t_user_bank_accounts> banks) throws Exception{
	
			String institutionID=Constants.INSTITUTIONID;
			String batchNo=GUIDGenerator.genGUID();//批次号
			long totalAmount=totalAmounts;//总金额
			int totalCount=invests.size();//总笔数
			String paymentAccountName="";//支付账户名称
			String paymentAccountNumber="";//支付账号
			Tx1510Request tx1510Request=new Tx1510Request();
			tx1510Request.setInstitutionID(institutionID);
		    tx1510Request.setBatchNo(batchNo);
		    tx1510Request.setTotalAmount(totalAmount);
		    tx1510Request.setTotalCount(totalCount);
			tx1510Request.setPaymentAccountName(paymentAccountName);
			tx1510Request.setPaymentAccountNumber(paymentAccountNumber);
			ArrayList<PaymentItem> itemList = new ArrayList<PaymentItem>();
			//实现批量代付 
			for (int i=0;i<invests.size();i++) {
            	PaymentItem item=new PaymentItem();
 				String itemNo=invests.get(i).mer_bill_no;//流水号
 				Double amountD=(invests.get(i).receive_amount*100.0);
 				Long amount=amountD.longValue();//金额
 				String bankID=String.valueOf(banks.get(i).bank_code);//银行ID
 				int accountType=11;//账户类型:11=个人账户 12=企业账户
 				String accountName=banks.get(i).account_name;//户名
 				String accountNumber=banks.get(i).account;//户号
 				String bankName=banks.get(i).branch_bank_name;//支行名称
 				String province=banks.get(i).province;//支行所在省
 				String city=banks.get(i).city;//支行所在市
                 
                item.setItemNo(itemNo);
                item.setAccountName(accountName);
                item.setAccountNumber(accountNumber);
                item.setAccountType(accountType);
                item.setBankID(bankID);
                item.setAmount(amount);
                item.setBranchName(bankName);
                item.setProvince(province);
                item.setCity(city);
                itemList.add(item);
			}
        tx1510Request.setItemList(itemList);
         // 3.执行报文处理
        Tx1510Response tx1510Response = getTx1510Response(tx1510Request);
		String code = tx1510Response.getCode();
		logger.info("报文上传结果"+tx1510Response.getMessage()+"******"+code);
		if(code.equals("2000")){
			return true;
		}
		return false;
	}

2、获得响应类

@Override
	public Tx1510Response queryPayrollResult (Tx1510Request tx1510Request) throws Exception {
			 tx1510Request.process();
	         TxMessenger txMessenger = new TxMessenger();
			 String[] respMsg = txMessenger.send(tx1510Request.getRequestMessage(), tx1510Request.getRequestSignature());
			 Tx1510Response tx1510Response = new Tx1510Response(respMsg[0], respMsg[1]);
			 Logger.info("[queryPayrollResult_Message]=[" + tx1510Response.getResponsePlainText() + "]");
			 return tx1510Response;
	}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值