@@ -12,7 +12,7 @@ from group import (groupuser_views, lensman_views, tourguidegroup_views, tourgui |
||
12 | 12 |
tourguidegroupuser_views) |
13 | 13 |
from group import views as group_views |
14 | 14 |
from message import views as message_views |
15 |
-from miniapp import views as mini_views |
|
15 |
+from miniapp import views as mini_views, redpack_views |
|
16 | 16 |
from operation import views as op_views |
17 | 17 |
from page import oauth_views, sale_views, screen_views |
18 | 18 |
from pay import views as pay_views |
@@ -182,6 +182,8 @@ urlpatterns += [ |
||
182 | 182 |
url(r'^mini/userinfo$', mini_views.get_userinfo_api, name='get_userinfo_api'), # 获取用户信息 |
183 | 183 |
url(r'^mini/login$', mini_views.mini_login_api, name='mini_login_api'), # 小程序登录 |
184 | 184 |
url(r'^mini/userinfo2$', mini_views.get_userinfo_api2, name='get_userinfo_api2'), # 获取用户信息 |
185 |
+ |
|
186 |
+ url(r'^mini/hb$', redpack_views.mini_hb_api, name='mini_hb_api'), # 小程序红包 |
|
185 | 187 |
] |
186 | 188 |
|
187 | 189 |
urlpatterns += [ |
@@ -0,0 +1,46 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
2 |
+ |
|
3 |
+from django.conf import settings |
|
4 |
+from django_response import response |
|
5 |
+from pywe_pay import WeChatPay |
|
6 |
+ |
|
7 |
+from account.models import UserInfo |
|
8 |
+ |
|
9 |
+ |
|
10 |
+WECHAT = settings.WECHAT |
|
11 |
+ |
|
12 |
+ |
|
13 |
+def mini_hb_api(request): |
|
14 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
15 |
+ user_id = request.POST.get('user_id', '') |
|
16 |
+ |
|
17 |
+ try: |
|
18 |
+ user = UserInfo.objects.get(user_id=user_id) |
|
19 |
+ except UserInfo.DoesNotExist: |
|
20 |
+ return response() |
|
21 |
+ |
|
22 |
+ openid = user.openid_miniapp |
|
23 |
+ amount = 100 |
|
24 |
+ |
|
25 |
+ trade_type = 'MINIAPP' |
|
26 |
+ # 根据 trade_type 获取 wechat 配置 |
|
27 |
+ wxcfg = WECHAT.get(trade_type, {}) |
|
28 |
+ # WeChatPay 初始化 |
|
29 |
+ wxpay = WeChatPay(wxcfg.get('appID'), wxcfg.get('apiKey'), wxcfg.get('mchID'), mch_cert=wxcfg.get('mch_cert'), mch_key=wxcfg.get('mch_key')) |
|
30 |
+ |
|
31 |
+ wxrpk = wxcfg.get('redpack', {}) |
|
32 |
+ ret_data = wxpay.redpack.send( |
|
33 |
+ openid, |
|
34 |
+ amount, |
|
35 |
+ send_name=wxrpk.get('SEND_NAME'), |
|
36 |
+ act_name=wxrpk.get('ACT_NAME'), |
|
37 |
+ wishing=wxrpk.get('WISHING'), |
|
38 |
+ remark=wxrpk.get('REMARK'), |
|
39 |
+ miniprogram=True, |
|
40 |
+ ) |
|
41 |
+ |
|
42 |
+ package = ret_data.get('package', '') |
|
43 |
+ |
|
44 |
+ wxahb_params = wxpay.jsapi.get_jsapi_params(package=package) |
|
45 |
+ |
|
46 |
+ return response(200, data=wxahb_params) |