You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
flyapps/fir_ser/api/utils/ali/pay/api/transfer.py

100 lines
2.5 KiB

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# Date: 2018/8/2
"""
转账支付 `api`
"""
import logging
from .base import BaseAliPayAPI
logger = logging.getLogger(__name__)
class AliTransfer(BaseAliPayAPI):
def transfer(self, out_biz_no, payee_account, amount, payee_real_name, is_verify=True, **kwargs):
"""转账接口
在构建完成数据结构体之前进行验证码校验
该方法加入了 业务代码, 业务若有变动, 请根据实际需求进行更改
Parameters
----------
out_biz_no : string
商户转账唯一凭证
payee_account : string
收款方账户
amount : string or int or float
转账金额(单位: 元, 保留俩位小数, 最小转帐金额 0.1元)
payee_real_name: string
收款方真实姓名
is_verify: bool, default: True
是否进行验证码校验
kwargs : dict
以下均为可选参数
payer_show_name : string
付款方姓名
remark : string
转账备注(支持200个英文/100个汉字)。当付款方为企业账户,且转账金额达到(大于等于)50000元,remark不能为空。
收款方可见,会展示在收款用户的收支详情中。
Returns
-------
dict
"""
# 如果需要校验, 获取验证码进行校验, 校验不通过直接响应校验不通过
if is_verify:
kwargs.pop("verify_code", None)
biz_content = {
"out_biz_no": out_biz_no,
"payee_account": payee_account,
"payee_type": "ALIPAY_LOGONID", # 收款方账户类型
"amount": amount,
"payee_real_name": payee_real_name
}
biz_content.update(**kwargs)
url = self._generate_url("alipay.fund.trans.toaccount.transfer", biz_content)
return self._get(url)
def query(self, out_biz_no, order_id, **kwargs):
"""转账交易查询接口.
Parameters
----------
out_biz_no : string
商户转账唯一凭证
order_id : string
支付宝商户转账唯一凭证
Returns
-------
dict
"""
biz_content = {
"out_biz_no": out_biz_no,
"order_id": order_id
}
biz_content.update(kwargs)
url = self._generate_url("alipay.fund.trans.order.query", biz_content)
return self._get(url)