def revisar_pago(request, sale_id): pedido = Sale.objects.get(pk=sale_id) user_conekta = ConektaUser.objects.get(user=pedido.user) # conekta.api_key = "key_wHTbNqNviFswU6kY8Grr7w" openpay.api_key = APP_OPENPAY_API_KEY openpay.verify_ssl_certs = APP_OPENPAY_VERIFY_SSL_CERTS openpay.merchant_id = APP_OPENPAY_MERCHANT_ID openpay.production = APP_OPENPAY_PRODUCTION # By default this works in sandbox mode, production = True customer = openpay.Customer.retrieve(user_conekta.conekta_user) if len(pedido.charge_conekta) > 0: charge = customer.charges.retrieve(pedido.charge_conekta) # import pdb; pdb.set_trace() if charge.status == "completed": pedido.status = PAID pedido.vendor = request.user pedido.save() pedido.discount_inventory detalles = pedido.detail_sales.all() enviar_mensaje = EmailSendSale(pedido, detalles, pedido.user) enviar_mensaje.enviarMensaje() str_pedido = str(pedido.id).zfill(6) str_total = "{:20,.2f}".format(pedido.total) message = "Tu orden #{0} con un monto de ${1} ha sido entregada.".format(str_pedido, str_total) create_notification_ionic_push_carrito(pedido, pedido.user, "FarmaApp", message) if request.is_ajax(): template = "item_pedido.html" else: template = "detalle_pedido.html" return render(request, template, {"pedido": pedido, "detalles": detalles})
def send_sale_for_email(request, sale_id): pedido = Sale.objects.get(pk=sale_id) user = pedido.user detalles = DetailSale.objects.filter(sale=pedido.id) # import pdb; pdb.set_trace() enviar_mensaje = EmailSendSale(pedido, detalles, user) enviar_mensaje.enviarMensaje() return HttpResponse("Email enviado")
def detalle_entregar(request, sale_id): pedido = Sale.objects.get(pk=sale_id) if pedido.status != DELIVERED: pedido.status = DELIVERED pedido.vendor = request.user user_conekta = ConektaUser.objects.get(user=pedido.user) device_session_id = request.GET.get("device_session_id") # conekta.api_key = "key_wHTbNqNviFswU6kY8Grr7w" openpay.api_key = APP_OPENPAY_API_KEY openpay.verify_ssl_certs = APP_OPENPAY_VERIFY_SSL_CERTS openpay.merchant_id = APP_OPENPAY_MERCHANT_ID openpay.production = APP_OPENPAY_PRODUCTION # By default this works in sandbox mode, production = True customer = openpay.Customer.retrieve(user_conekta.conekta_user) # import pdb; pdb.set_trace(); card_conekta = pedido.card_conekta amount = pedido.total detalles = pedido.detail_sales.all() lista = [] charge = None if len(pedido.charge_conekta) == 0: charge = customer.charges.create( source_id=card_conekta.card, method="card", amount=amount, description="Pedido de FarmaApp", order_id="pedido-" + str(pedido.id) + "-farmaapp", device_session_id=device_session_id, ) else: charge = customer.charges.retrieve(pedido.charge_conekta) if charge is None: pedido.status = NO_PAID pedido.save() elif charge.status == "completed": pedido.charge_conekta = charge.id pedido.status = PAID pedido.vendor = request.user pedido.save() pedido.discount_inventory enviar_mensaje = EmailSendSale(pedido, detalles, pedido.user) enviar_mensaje.enviarMensaje() # import pdb; pdb.set_trace() str_pedido = str(pedido.id).zfill(6) str_total = "{:20,.2f}".format(pedido.total) message = "Tu orden #{0} con un monto de ${1} ha sido entregada.".format(str_pedido, str_total) create_notification_ionic_push_carrito(pedido, pedido.user, "FarmaApp", message) # import pdb; pdb.set_trace() elif charge.status == "in_progress": pedido.charge_conekta = charge.id pedido.status = NO_PAID pedido.vendor = request.user pedido.save() elif charge.status == "failed": pedido.status = NO_PAID pedido.save() if request.is_ajax(): template = "item_pedido.html" else: template = "detalle_pedido.html" return render(request, template, {"pedido": pedido, "detalles": detalles})