def create_payments(sale): for payment_index in self.payment_handler.payments_tree.get_children(): payment_values = self.payment_handler.payments_tree.item(payment_index)['values'] Payment.create( sale=sale, date=datetime.strptime(payment_values[2], DATE_FORMAT), type=Payment.TYPES[payment_values[3]], amount=string_to_float(payment_values[4]), currency=Payment.CURRENCIES[payment_values[5]], method=Payment.METHODS[payment_values[6]], rate= string_to_float(payment_values[7]), account=Payment.ACCOUNTS[payment_values[8]] )
def create_payment(): params = request.get_json() token_user = params.get('token') amount = params.get('amount') label = params.get('label') card_number = params.get('card_number') card_month = params.get('card_month') card_year = params.get('card_year') card_cvc = params.get('card_cvc') card = { "number": card_number, "exp_month": card_month, "exp_year": card_year, "cvc": card_cvc } token = stripe.Token.create(card=card) if check_token(token_user) is False: return jsonify({'error': True, 'message': 'Not connected or token expired'}), 400 else: userToken = check_token(token_user) try: charge = stripe.Charge.create(card=token.id, currency="eur", amount=amount, capture=False) payment = Payment.create(amount=amount, label=label, user=userToken.user_id) payment.save() code = Code.create(user_id=userToken.user_id.id, value=random.randint(1000, 9999), charge_id=charge.id) code.save() sender = "Aperture" text = "Here is your code {code} to authentify your transaction.".format(code=code.value) sending_message = send_message(sender, text) return jsonify({'error': False, 'message': "A code to authentify your transaction has been sent to you."}), 201 except Exception as e: return jsonify({'error': True, 'message': '{error}'.format(error=e) }), 400
def create_new_payment(request_data): request_data = dict(request_data.items()) log.debug(request_data) new_payment = Payment.create(**request_data) return new_payment
def create_payments(debts, student): for debt in debts: Payment.create(debt=debt, student=student, exemption=False)
def update_sale(self): # Sale Info. sale_date = self.sale.date.strftime(DATE_FORMAT) sale_desc = self.sale.description sale_client = self.sale.client try: if sale_date != self.sale_date_entry.get(): self.sale.date = datetime.strptime(self.sale_date_entry.get(), DATE_FORMAT) if sale_desc != self.sale_desc_text.get(): self.sale.description = self.sale_desc_text.get() if sale_client != self.client_handler.client: self.sale.client = self.client_handler.client if not self.order_tree.orders_tree.get_children(): raise Exception("No puede existir una venta sin órdenes!") for order_index in self.order_tree.orders_tree.get_children(): if self.order_tree.orders_tree.item( order_index)['values'][0] == 'None': new_order_values = self.order_tree.orders_tree.item( order_index)['values'] Order.create(product=new_order_values[1], sale=self.sale.id, date=datetime.strptime(TODAY, DATE_FORMAT), amount=new_order_values[3], price=get_dollars(new_order_values[5]), discount=int(new_order_values[7])) for payment_index in self.payments_handler.payments_tree.get_children( ): if self.payments_handler.payments_tree.item( payment_index)['values'][0] == 'None': payment_values = self.payments_handler.payments_tree.item( payment_index)['values'] Payment.create( sale=self.sale, date=datetime.strptime(payment_values[2], DATE_FORMAT), type=Payment.TYPES[payment_values[3]], amount=string_to_float(payment_values[4]), currency=Payment.CURRENCIES[payment_values[5]], method=Payment.METHODS[payment_values[6]], rate=string_to_float(payment_values[7]), account=Payment.ACCOUNTS[payment_values[8]]) for order_index in self.order_tree.orders_to_update: updated_order_values = self.order_tree.orders_tree.item( order_index)['values'] order_id = updated_order_values[0] amount = updated_order_values[3] # discount = int(updated_order_values[7]) price = get_dollars(updated_order_values[5]) order = Order.get(order_id) order.amount = amount order.price = price # order.discount = discount order.save() for order_id in self.order_tree.orders_to_delete: try: order = Order.get(Order.id == order_id) order.delete_instance() except Exception as err: pass for payment_id in self.payments_handler.payments_to_delete: payment = Payment.get(Payment.id == payment_id) payment.delete_instance() total_sale = float(self.order_tree.total_orders_usd) total_payments = float( self.payments_handler.total_payments_dollars_label["text"]. rstrip("$")) if es_casi_igual(total_sale, total_payments): self.sale.is_finished = True self.sale.finished_date = date.today() else: self.sale.is_finished = False self.sale.save() self.detail_sale_window.destroy() if self.callbacks and self.params: self.callbacks[0](self.params) elif self.callbacks: for callback in self.callbacks: callback(self.query_date) except Exception as err: messagebox.showerror("Error!", err, parent=self.detail_sale_window)