记录从微信商户获取微信支付账单过程

本文记录了从微信商户平台获取交易账单和资金账单的过程,包括账户类型(基本账户、运营账户)的选择,以及账单的结算周期(T+1、T+7)。在获取账单后,数据会被导入数据库,便于后续分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、商户平台可能有几个账户,基本账户、运营账户、手续费账户
2、境内商户微信只提供交易账单和资金账单,不过其他比如结算账单可以从这两份账单计算出来
3、结算周期T+1、T+7
4、账单都是10点

先获取交易账单,为了方便看,获取完,我直接写入数据库。

		SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
		SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
		Date date = format.parse(time);
		String fordate=sdf.format(date);
		String nonce_str = getRandomStringByLength(32);
		String bill_type="ALL";
		Map<String, String> packageParams = new HashMap<>();
		packageParams.put("appid", PayConfig.appid);
		packageParams.put("mch_id", PayConfig.mch_id);
		packageParams.put("nonce_str", nonce_str);
		packageParams.put("bill_type",bill_type );
		packageParams.put("bill_date", fordate);
		String prestr = PayUtil.createLinkString(packageParams); // 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串

		// MD5运算生成签名
		String mysign = PayUtil.sign(prestr, PayConfig.key, "utf-8").toUpperCase();
		String xml = "<xml>" + "<appid>" + PayConfig.appid + "</appid>" + "<mch_id>" + PayConfig.mch_id + "</mch_id>"
				+ "<nonce_str>" + nonce_str + "</nonce_str>" + "<bill_type>" + bill_type + "</bill_type>"
				+ "<bill_date>" + fordate + "</bill_date>" + "<sign>" + mysign + "</sign>" + "</xml>";
		String result = PayUtil.httpRequest("https://api.mch.weixin.qq.com/pay/downloadbill", "POST", xml);
		int i = result.indexOf("`");
		int j = result.indexOf("总");

        String substring = result.substring(i, j - 2);
        String[] temp = substring.split(",``"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值