|
@@ -126,9 +126,9 @@ class Pay(models.Model):
|
|
|
return instance
|
|
|
|
|
|
@staticmethod
|
|
|
- def wechatPay(branch, customer, amount, openid):
|
|
|
+ def wechatPay(app, branch, customer, amount, openid):
|
|
|
instance = Pay._addnew(branch, customer, amount)
|
|
|
- return instance, instance._wechatUnifiedOrder(openid)
|
|
|
+ return instance, instance._wechatUnifiedOrder(app, openid)
|
|
|
|
|
|
@staticmethod
|
|
|
def _addnew(branch, customer, amount):
|
|
@@ -146,8 +146,8 @@ class Pay(models.Model):
|
|
|
)
|
|
|
return instance
|
|
|
|
|
|
- def _wechatUnifiedOrder(self, openid):
|
|
|
- wechatpay = WechatPay(settings.APPID, settings.AGENT_NUM, settings.AGENT_KEY)
|
|
|
+ def _wechatUnifiedOrder(self, app, openid):
|
|
|
+ wechatpay = WechatPay(app.authorizer_appid, app.agent_num, app.agent_key)
|
|
|
wechatpay.unifiedOrder(self.no, self.precreate_amount, openid)
|
|
|
data = wechatpay.getAppString()
|
|
|
return data
|
|
@@ -162,10 +162,10 @@ class Order(models.Model):
|
|
|
(FINISH, u'已完成'),
|
|
|
(FAIL, u'失败'),
|
|
|
)
|
|
|
- branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT)
|
|
|
+ branch = models.ForeignKey(Branch, verbose_name=u"门店", on_delete=models.PROTECT, editable=False)
|
|
|
activity = models.ForeignKey(Activity, verbose_name=u"活动", on_delete=models.PROTECT)
|
|
|
- pay = models.ForeignKey(Pay, verbose_name='支付信息', on_delete=models.PROTECT, null=True, editable=False)
|
|
|
- member = models.ForeignKey(Customer, verbose_name=u"会员", on_delete=models.PROTECT)
|
|
|
+ pay = models.ForeignKey(Pay, verbose_name='支付信息', on_delete=models.PROTECT, null=True)
|
|
|
+ member = models.ForeignKey(Customer, verbose_name=u"会员", on_delete=models.PROTECT, editable=False)
|
|
|
amount = models.FloatField(verbose_name=u"费用", default=0)
|
|
|
status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"状态", default=DEFAULT, editable=False)
|
|
|
model = models.CharField(max_length=200, verbose_name=u"车型", null=True, blank=True)
|
|
@@ -180,22 +180,22 @@ class Order(models.Model):
|
|
|
ordering = ['-id']
|
|
|
verbose_name = u"订单管理"
|
|
|
|
|
|
- def payOrder(self, openid):
|
|
|
+ def payOrder(self, openid, app):
|
|
|
# 如果订单上的金额不等于活动金额 (比如下单没有支付,后来活动金额修改,现在活动金额不等于订单上活动金额) 还按下单时保存到额金额支付
|
|
|
if self.status != Order.DEFAULT:
|
|
|
raise CustomError(u'订单非代付款状态,禁止付款')
|
|
|
if self.pay:
|
|
|
pay_no = self.pay.no
|
|
|
# 先查询订单状态
|
|
|
- checkRexponse = WeChatResponse(settings.APPID, settings.AGENT_NUM, settings.AGENT_KEY)
|
|
|
+ checkRexponse = WeChatResponse(app.authorizer_appid, app.agent_num, app.agent_key)
|
|
|
total_fee = checkRexponse.orderquery(pay_no)
|
|
|
if int(total_fee) == int(self.amount):
|
|
|
- wechatpay = WechatPay(settings.APPID, settings.AGENT_NUM, settings.AGENT_KEY)
|
|
|
+ wechatpay = WechatPay(app.authorizer_appid, app.agent_num, app.agent_key)
|
|
|
data = wechatpay.unifiedOrder(openid, pay_no, self.amount)
|
|
|
return data
|
|
|
self.pay.payClosed()
|
|
|
|
|
|
- pay, data = Pay.wechatPay(self.branch, self.member, self.amount, openid)
|
|
|
+ pay, data = Pay.wechatPay(app, self.branch, self.member, self.amount, openid)
|
|
|
self.pay = pay
|
|
|
self.save()
|
|
|
return data
|