@@ -17,6 +17,7 @@ urlpatterns += [ |
||
| 17 | 17 |
|
| 18 | 18 |
urlpatterns += [ |
| 19 | 19 |
url(r'^pay/wx/order_create$', pay_views.wx_order_create_api, name='wx_order_create_api'), # 订单创建 |
| 20 |
+ url(r'^pay/wx/order/cancel$', pay_views.order_cancel, name='order_cancel'), # 订单创建 |
|
| 20 | 21 |
url(r'^pay/wx/notify_url$', pay_views.wx_notify_url_api, name='wx_notify_url_api'), # 支付异步通知回调地址 |
| 21 | 22 |
] |
| 22 | 23 |
|
@@ -142,6 +142,31 @@ def wx_order_create_api(request): |
||
| 142 | 142 |
'wxpay_params': wxpay_params, |
| 143 | 143 |
}) |
| 144 | 144 |
|
| 145 |
+def order_cancel(request): |
|
| 146 |
+ user_id = request.POST.get('user_id', '')
|
|
| 147 |
+ order_id = request.POST.get('order_id', '')
|
|
| 148 |
+ prepay_id = request.POST.get('prepay_id', '')
|
|
| 149 |
+ |
|
| 150 |
+ try: |
|
| 151 |
+ order = OrderInfo.objects.get(user_id=user_id, order_id=order_id, prepay_id=prepay_id) |
|
| 152 |
+ except: |
|
| 153 |
+ return response() |
|
| 154 |
+ |
|
| 155 |
+ if order.pay_status == OrderInfo.FAIL: |
|
| 156 |
+ return response(200, 'Order Cancel Success', '订单取消成功') |
|
| 157 |
+ |
|
| 158 |
+ order.pay_status = OrderInfo.FAIL |
|
| 159 |
+ order.save() |
|
| 160 |
+ |
|
| 161 |
+ for g in order.goods_info: |
|
| 162 |
+ try: |
|
| 163 |
+ good = PackGoodsInfo.objects.get(pack_id=order.pack_id, good_id=g.get('good_id', ''))
|
|
| 164 |
+ good.inventory += g.get('num', 0)
|
|
| 165 |
+ good.save() |
|
| 166 |
+ except PackGoodsInfo.DoesNotExist: |
|
| 167 |
+ continue |
|
| 168 |
+ |
|
| 169 |
+ return response(200, 'Order Cancel Success', '订单取消成功') |
|
| 145 | 170 |
|
| 146 | 171 |
def order_paid_success(order): |
| 147 | 172 |
if order.pay_status == OrderInfo.PAID: |