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/api.py

59 lines
1.9 KiB

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# Date: 2018/8/2
"""
阿里 api 调用出口
封装更易用的api
"""
from django.conf import settings
from django.utils.functional import LazyObject
from .pay.basic import AliPay
from .yun.basic import AliYunClient
class AliApi(object):
# 默认的支付配置
DEFAULT_ALI_PAY_CONFIG = settings.THIRD_PART_CONFIG["ALI_PAY"]["default"]
# 指定的支付配置(业务拓展)
SPECIFIC_ALI_PAY_CONFIG = settings.THIRD_PART_CONFIG["ALI_PAY"].get("pay") or DEFAULT_ALI_PAY_CONFIG
# 注册云配置
ALI_YUN_CONFIG = settings.THIRD_PART_CONFIG["ALI_YUN"]
def __init__(self, ):
# 支付类业务
self.pay = AliPay(
app_id=self.SPECIFIC_ALI_PAY_CONFIG["app_id"],
app_private_key_path=self.SPECIFIC_ALI_PAY_CONFIG["app_private_key_path"],
ali_public_key_path=self.SPECIFIC_ALI_PAY_CONFIG["alipay_public_key_path"],
notify_url=self.SPECIFIC_ALI_PAY_CONFIG["callback_url"],
return_url=self.SPECIFIC_ALI_PAY_CONFIG["callback_url"],
debug=self.SPECIFIC_ALI_PAY_CONFIG["debug"]
)
# 转账类业务
self.transfer = AliPay(
app_id=self.DEFAULT_ALI_PAY_CONFIG["app_id"],
app_private_key_path=self.DEFAULT_ALI_PAY_CONFIG["app_private_key_path"],
ali_public_key_path=self.DEFAULT_ALI_PAY_CONFIG["alipay_public_key_path"],
notify_url=self.SPECIFIC_ALI_PAY_CONFIG["callback_url"],
return_url=self.SPECIFIC_ALI_PAY_CONFIG["callback_url"],
debug=self.DEFAULT_ALI_PAY_CONFIG["debug"]
)
# 阿里云业务
self.yun = AliYunClient(
app_id=self.ALI_YUN_CONFIG.get("ACCESS_KEY"),
secret=self.ALI_YUN_CONFIG.get("SECRET")
)
class DefaultApi(LazyObject):
def _setup(self):
self._wrapped = AliApi()
ali_api = DefaultApi()