def post(self, request): cart = self.cart(request.session) form = self.order_form(request.POST.dict()) if not form.is_valid(): return render(request, self.template, {'cart': cart, 'form': form}) order = form.save() order.set_positions(cart) ec_views.save_order_to_session(request.session, order) # Took form fields from Yandex docs https://goo.gl/afKfsz response_data = { 'yandex_kassa_link': settings.YANDEX_KASSA_LINK, # Required 'shopId': settings.SHOP['id'], # Required 'scid': settings.SHOP['scid'], # Required 'shopSuccessURL': settings.SHOP['success_url'], 'shopFailURL': settings.SHOP['fail_url'], 'customerNumber': order.id, # Required 'sum': order.total_price, # Required 'orderNumber': order.fake_order_number, 'cps_phone': order.phone, 'cps_email': order.email, 'paymentType': request.POST.get('payment_type'), } return JsonResponse(response_data)
def post(self, request): cart = self.cart(request.session) form = self.order_form(request.POST) if not form.is_valid(): return render(request, self.template, {'cart': cart, 'form': form}) order = form.save() order.set_positions(cart) ec_views.save_order_to_session(request.session, order) # Took form fields from Yandex docs https://goo.gl/afKfsz response_data = { 'yandex_kassa_link': settings.YANDEX_KASSA_LINK, # Required 'shopId': settings.SHOP['id'], # Required 'scid': settings.SHOP['scid'], # Required 'shopSuccessURL': settings.SHOP['success_url'], 'shopFailURL': settings.SHOP['fail_url'], 'customerNumber': order.id, # Required 'sum': order.total_price, # Required 'orderNumber': order.fake_order_number, 'cps_phone': order.phone, 'cps_email': order.email, 'paymentType': request.POST.get('payment_type'), } return JsonResponse(response_data)
def one_click_buy(request): """ Handle one-click-buy. Accept XHR, save Order to DB, send mail about it and return 200 OK. """ SECart(request.session).clear() cart = SECart(request.session) product = get_object_or_404(Product, id=request.POST['product']) cart.add(product, int(request.POST['quantity'])) order = Order(phone=request.POST['phone']) order.set_positions(cart) ec_views.save_order_to_session(request.session, order) mailer.send_order( subject=settings.EMAIL_SUBJECTS['one_click'], order=order, to_customer=False, ) return HttpResponse('ok')
def one_click_buy(request): """ Handle one-click-buy. Accept XHR, save Order to DB, send mail about it and return 200 OK. """ cart = SECart(request.session) cart.clear() product = get_object_or_404(Product, id=request.POST['product']) cart.add(product, int(request.POST['quantity'])) order = Order(phone=request.POST['phone']) order.set_positions(cart) ec_views.save_order_to_session(request.session, order) mailer.send_order( subject=settings.EMAIL_SUBJECTS['one_click'], order=order, to_customer=False, # see se.OrderPage class for a detail about `shop` context. extra_context={'shop': settings.SHOP}, ) return HttpResponse('ok')