コード例 #1
0
ファイル: customer.py プロジェクト: anonymoose/pvscore
    def _bill_credit_card(self, cust, order, bill):
        api = BaseBillingApi.create_api(cust.campaign.company.enterprise)
        api.set_coupon(self.request.POST.get('coupon_code'))
        if api.purchase(order, bill, util.request_ip(self.request)):
            # accept terms if they sent accept_terms as positive across (checkbox)
            if ('accept_terms' in self.request.POST and self.request.POST['accept_terms'] == '1'):
                accept = OrderItemTermsAcceptance()
                accept.order_id = order.order_id
                accept.signature = cust.email
                accept.save()
                accept.flush()

            self._apply_payment(cust.customer_id, order.order_id, order.total_price(), api.payment_method)
            try:
                order.campaign.send_post_purchase_comm(order)
            except Exception as exc:  #pragma: no cover
                log.exception(exc)
            try:
                order.campaign.send_admin_post_sale_comm(order)
            except Exception as exc:  #pragma: no cover
                log.exception(exc)
            return order
        else:
            (_, last_note) = api.get_last_status()
            self.flash('Unable to bill credit card: %s' % last_note)
            log.error('CC DECLINED %s %s %s' % (cust.customer_id, cust.email, last_note))
            self.raise_redirect(self.request.referrer)
コード例 #2
0
ファイル: company.py プロジェクト: anonymoose/pvscore
 def terms_accepted(self):
     from pvscore.model.crm.orderitem import OrderItemTermsAcceptance
     return OrderItemTermsAcceptance.is_order_item_id_accepted(self.order_item_id)