1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # -*- coding: utf-8 -*-
- from __future__ import absolute_import, unicode_literals
- import datetime
- from library.wechatpy.pay.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.datetime, 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.datetime, 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)
|