wechatpy.pay.api.tools 源代码

# -*- coding: utf-8 -*-

from datetime import datetime, date

from wechatpy.pay.api.base import BaseWeChatPayAPI


[文档]class WeChatTools(BaseWeChatPayAPI):
[文档] def short_url(self, long_url): """ 长链接转短链接 :param long_url: 长链接 :return: 返回的结果数据 """ data = { "appid": self.appid, "long_url": long_url, } return self._post("tools/shorturl", data=data)
[文档] def download_bill(self, bill_date, bill_type="ALL", device_info=None): """ 下载对账单 :param bill_date: 下载对账单的日期 :param bill_type: 账单类型,ALL,返回当日所有订单信息,默认值 SUCCESS,返回当日成功支付的订单, REFUND,返回当日退款订单, REVOKED,已撤销的订单 :param device_info: 微信支付分配的终端设备号,填写此字段,只下载该设备号的对账单 :return: 返回的结果数据 """ if isinstance(bill_date, (datetime, date)): bill_date = bill_date.strftime("%Y%m%d") data = { "appid": self.appid, "bill_date": bill_date, "bill_type": bill_type, "device_info": device_info, } return self._post("pay/downloadbill", data=data)
[文档] def download_fundflow(self, bill_date, account_type="Basic", tar_type=None): """ 下载资金账单 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_18&index=7 :param bill_date: 下载对账单的日期 :param account_type: 账单的资金来源账户 Basic 基本账户 Operation 运营账户 Fees 手续费账户 :param tar_type: 非必传参数,固定值:GZIP,返回格式为.gzip的压缩包账单。 不传则默认为数据流形式。 """ if isinstance(bill_date, (datetime, date)): bill_date = bill_date.strftime("%Y%m%d") data = { "appid": self.appid, "bill_date": bill_date, "account_type": account_type, "sign_type": "HMAC-SHA256", } if tar_type is not None: data["tar_type"] = tar_type return self._post("pay/downloadfundflow", data=data)
[文档] def auto_code_to_openid(self, auth_code): """ 授权码查询 openid 接口 :param auth_code: 扫码支付授权码,设备读取用户微信中的条码或者二维码信息 :return: 返回的结果数据 """ data = { "appid": self.appid, "auth_code": auth_code, } return self._post("tools/authcodetoopenid", data=data)