Нет описания

redpack_views.py 2.6KB

    # -*- coding: utf-8 -*- from django.conf import settings from django_response import response from pywe_pay import WeChatPay from account.models import UserInfo WECHAT = settings.WECHAT def send_jsapi_hb(brand_id, openid, amount, transfer=True, clerk=False): trade_type = 'JSAPI' # 根据 trade_type 获取 wechat 配置 wxcfg = WECHAT.get('{}:{}'.format(brand_id, trade_type), {}) # WeChatPay 初始化 wxpay = WeChatPay(wxcfg.get('appID'), wxcfg.get('apiKey'), wxcfg.get('mchID'), mch_cert=wxcfg.get('mch_cert'), mch_key=wxcfg.get('mch_key')) if transfer: ret_data = wxpay.transfer.transfer(openid, amount, u'企业付款', check_name='NO_CHECK') else: wxrpk = wxcfg.get('clerkredpack', {}) if clerk else wxcfg.get('redpack', {}) ret_data = wxpay.redpack.send( openid, amount, send_name=wxrpk.get('SEND_NAME'), act_name=wxrpk.get('ACT_NAME'), wishing=wxrpk.get('WISHING'), remark=wxrpk.get('REMARK'), miniprogram=False, ) return ret_data def jsapi_hb_api(request): brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) user_id = request.POST.get('user_id', '') transfer = request.POST.get('transfer', '') try: user = UserInfo.objects.get(user_id=user_id) except UserInfo.DoesNotExist: return response() openid = user.openid amount = 100 ret_data = send_jsapi_hb(brand_id, openid, amount, transfer=True) return response(200, data=ret_data) def mini_hb_api(request): brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) user_id = request.POST.get('user_id', '') try: user = UserInfo.objects.get(user_id=user_id) except UserInfo.DoesNotExist: return response() openid = user.openid_miniapp amount = 100 trade_type = 'MINIAPP' # 根据 trade_type 获取 wechat 配置 wxcfg = WECHAT.get('{}:{}'.format(brand_id, trade_type), {}) # WeChatPay 初始化 wxpay = WeChatPay(wxcfg.get('appID'), wxcfg.get('apiKey'), wxcfg.get('mchID'), mch_cert=wxcfg.get('mch_cert'), mch_key=wxcfg.get('mch_key')) wxrpk = wxcfg.get('redpack', {}) ret_data = wxpay.redpack.send( openid, amount, send_name=wxrpk.get('SEND_NAME'), act_name=wxrpk.get('ACT_NAME'), wishing=wxrpk.get('WISHING'), remark=wxrpk.get('REMARK'), miniprogram=True, ) package = ret_data.get('package', '') wxahb_params = wxpay.jsapi.get_jsapi_params(package=package) return response(200, data=wxahb_params)