Add new field unifiedorder_result

Brightcells 7 years ago
parent
commit
b2aa0f8533
3 changed files with 24 additions and 1 deletions
  1. 19 0
      pay/migrations/0007_orderinfo_unifiedorder_result.py
  2. 2 0
      pay/models.py
  3. 3 1
      pay/views.py

+ 19 - 0
pay/migrations/0007_orderinfo_unifiedorder_result.py

@@ -0,0 +1,19 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models, migrations
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('pay', '0006_auto_20160901_1439'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AddField(
15
+            model_name='orderinfo',
16
+            name='unifiedorder_result',
17
+            field=models.TextField(help_text='\u7edf\u4e00\u4e0b\u5355\u7ed3\u679c', null=True, verbose_name='unifiedorder_result', blank=True),
18
+        ),
19
+    ]

+ 2 - 0
pay/models.py

@@ -75,6 +75,8 @@ class OrderInfo(CreateUpdateMixin):
75 75
     reback_status = models.BooleanField(_(u'reback_status'), default=False, help_text=u'退款状态', db_index=True)
76 76
     reback_at = models.DateTimeField(_(u'reback_at'), blank=True, null=True, help_text=_(u'退款时间'))
77 77
 
78
+    unifiedorder_result = models.TextField(_(u'unifiedorder_result'), blank=True, null=True, help_text=_(u'统一下单结果'))
79
+
78 80
     class Meta:
79 81
         verbose_name = _('orderinfo')
80 82
         verbose_name_plural = _('orderinfo')

+ 3 - 1
pay/views.py

@@ -94,7 +94,9 @@ def wx_order_create_api(request):
94 94
             trade_type=trade_type if trade_type != 'MINIAPP' else 'JSAPI',
95 95
             openid=get_user_openid(user, trade_type),  # 可选,用户在商户appid下的唯一标识。trade_type=JSAPI,此参数必传
96 96
         )
97
-    except WeChatPayException:
97
+    except WeChatPayException as e:
98
+        order.unifiedorder_result = e.message
99
+        order.save()
98 100
         return response(OrderStatusCode.WX_UNIFIED_ORDER_FAIL)
99 101
 
100 102
     prepay_id = prepay_data.get('prepay_id', '')