コード例 #1
0
    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)
コード例 #2
0
ファイル: ecommerce.py プロジェクト: fidals/shopelectro
    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)
コード例 #3
0
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')
コード例 #4
0
ファイル: ecommerce.py プロジェクト: fidals/shopelectro
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')