天津微信网站开发,python在线编辑器,云猎建筑人才网,网站根验证文件在哪python实现支付宝转账接口发布时间#xff1a;2020-09-14 03:23:42来源#xff1a;脚本之家阅读#xff1a;128由于工作需要使用python开发一个自动转账接口#xff0c;记录一下开发过程。首先需要在蚂蚁金服上申请开通开发者账户#xff0c;有了开发者账户就可以使用沙箱…python实现支付宝转账接口发布时间2020-09-14 03:23:42来源脚本之家阅读128由于工作需要使用python开发一个自动转账接口记录一下开发过程。首先需要在蚂蚁金服上申请开通开发者账户有了开发者账户就可以使用沙箱进行开发了。在开发之前我们需要在沙箱应用中填写密钥密钥的获取可以使用阿里提供的工具包自动生成。前期准备工作完成了接下来是编写代码部分。主要用到了python-alipay-sdk库使用pip安装即可如果安装的过程中遇到问题推荐使用Anaconda(crypto这个库安装了我好久没成功最后换成Anaconda环境了)from datetime import datetimefrom alipay import AliPayclass Payment():def __init__(self, appid, url):支付接口初始化:param appid: 商户appid:param url: 支付宝接口urlself.app_private_key_string open(app_private_key.txt).read() # 应用私钥(默认从两个TXT文件中读取)self.alipay_public_key_string open(alipay_public_key.txt).read() # 支付宝公钥self.alipay AliPay(appidappid,app_notify_urlurl,app_private_key_stringself.app_private_key_string,alipay_public_key_stringself.alipay_public_key_string,sign_typeRSA2,debugTrue)初始化的时候需要用到appid、应用私钥以及支付宝公钥appid和支付宝公钥可在沙箱应用中看到应用私钥则需要在刚刚生成密钥工具包的目录下查看获取两个密钥之后可以单独写入到两个TXT文件中然后读取文件内容来获取以便以后的更改在写入TXT文件的过程中不能只是单纯的将密钥复制过去需要再第一行和最后一行加入-----BEGIN PUBLIC KEY-----你的密钥-----END PUBLIC KEY-----要不然会出现这个错误第一次接触这玩意不知道具体的格式找了好久的问题最后在源码的这个地方发现了问题必须以这个开头公共请求参数部分至此就完成了接下来就是请求参数了按照开发文档上有四个是必须的out_biz_no、payee_type、payee_account、amount 对应的意思分别是商户转账唯一订单号、收款方账户类型、收款方账户、转账金额。还有部分参数是可选的在下面的代码中交代了。def pay(self, payee_account, amount, payee_real_nameNone, remarkNone, payer_show_nameNone,payee_typeALIPAY_LOGONID):发起转账:param payee_account: 收款方账户:param amount: 转账金额:param payee_real_name::param remark: 收款方姓名:param payer_show_name: 转账备注:param payee_type: 付款方姓名:return:result self.alipay.api_alipay_fund_trans_toaccount_transfer(datetime.now().strftime(%Y%m%d%H%M%S),payee_typepayee_type, # 收款方账户类型payee_accountpayee_account, # 收款方账户amountamount, # 转账金额payee_real_namepayee_real_name, # 收款方姓名(可选若不匹配则转账失败)remarkremark, # 转账备注payer_show_namepayer_show_name # 付款方姓名)# result{code:10000,msg:Success,order_id: ,out_biz_no: , pay_date: 2017-06-26 14:36:25}# 接口文档https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transferif result[code] 10000:if result[msg] Success:print(转账成功 交易单号 result[order_id])else:print(result)print(result[sub_msg])到这这个代码的基础部分就此完成以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持亿速云。