def cart_view(request, template_name="cart/cart.html"): """Представление для отображения корзины""" page_title = _(u'Shopping cart') if request.method == 'POST': postdata = request.POST.copy() """удаление товара""" if postdata.has_key('remove'): cart.remove_from_cart(request) """пересчет товара по количеству""" if postdata.has_key('update'): cart.update_cart(request) """отправляем request на пересчет корзины по купону""" if postdata.has_key('update_cupon'): cart.update_cupon_cart(request) """оформление заказа""" if postdata.has_key('checkout'): checkout_url = checkout.get_checkout_url(request) return HttpResponseRedirect(checkout_url) # Получаем список всех товаров в корзине из cookies #cart_item_count = cart.cart_item_count(request) cart_items = cart.get_cart_items(request) # cupon = cart.get_cupon(request) cart_subtotal = cart.cart_subtotal(request) return render_to_response(template_name, locals(), context_instance=RequestContext(request))
def cart_view(request, template_name="cart/cart.html"): """Представление для отображения корзины""" page_title = _(u'Shopping cart') if request.method == 'POST': postdata = request.POST.copy() if postdata.has_key('remove'): cart.remove_from_cart(request) if postdata.has_key('update'): cart.update_cart(request) if postdata.has_key('checkout'): checkout_url = checkout.get_checkout_url(request) return HttpResponseRedirect(checkout_url) # Получаем список всех товаров в корзине из cookies #cart_item_count = cart.cart_item_count(request) cart_items = cart.get_cart_items(request) cart_subtotal = cart.cart_subtotal(request) return render_to_response(template_name, locals(), context_instance=RequestContext(request))
def process(request): """ Получаем POST запрос содержащий данные о заказе Делаем запрос к шлюзу платежной системы содержащий данные оплаты Шлюз возвращает словарь с двумя записями: 'order_number' и 'message' содержание которых зависит от успешности транзакции. Если транзакция завершилась неудачей то order_number принимает значение 0, а message содержит сообщение об ошибке Успешная транзация возвратит номер заказа и сообщение (для большинства систем пустое). """ postdata = request.POST.copy() card_num = postdata.get('credit_card_number', '') exp_month = postdata.get('credit_card_expire_month', '') exp_year = postdata.get('credit_card_expire_year', '') exp_date = exp_month + exp_year cvv = postdata.get('credit_card_cvv', '') amount = cart.cart_subtotal(request) results = {} # Если используется authnet # response = authnet.do_auth_capture(amount=amount, # card_num=card_num, # exp_date=exp_date, # card_cvv=cvv) response = [1, 1, 1, 1, 1, 1] if response[0] == TransactionResultType.APPROVED: #transaction_id = response[6] transaction_id = random.randint(1, 999999) order = create_order(request, transaction_id) results = {'order_number': order.id, 'message': u''} if response[0] == TransactionResultType.DECLINED: results = { 'order_number': 0, 'message': _(u'There is a problem with your credit card.') } if response[0] == TransactionResultType.ERROR or response[ 0] == TransactionResultType.HELD_FOR_REVIEW: results = { 'order_number': 0, 'message': _(u'Error processing your order.') } return results
def cart_view(request, template_name="cart/cart.html"): """Представление для отображения корзины""" page_title = _(u'Shopping cart') if request.method == 'POST': postdata = request.POST.copy() if postdata.has_key('remove'): cart.remove_from_cart(request) if postdata.has_key('update'): cart.update_cart(request) """отправляем request на пересчет корзины по купону""" if postdata.has_key('update_cupon'): cart.update_cupon_cart(request) if postdata.has_key('checkout'): checkout_url = checkout.get_checkout_url(request) return HttpResponseRedirect(checkout_url) deliveryForm = DeliveryForm() request.breadcrumbs(u'Корзина', request.path_info) # Получаем список всех товаров в корзине из cookies #cart_item_count = cart.cart_item_count(request) cart_items = cart.get_cart_items(request) cart_subtotal = cart.cart_subtotal(request) cart_gift = cart.cart_gift_add(request) # доставка try: delivery = cart.get_delivery(request) delivery.save() cart_total = cart.cart_total(request) except Exception: return redirect("/") return render_to_response(template_name, locals(), context_instance=RequestContext(request))
def process(request): """ Получаем POST запрос содержащий данные о заказе Делаем запрос к шлюзу платежной системы содержащий данные оплаты Шлюз возвращает словарь с двумя записями: 'order_number' и 'message' содержание которых зависит от успешности транзакции. Если транзакция завершилась неудачей то order_number принимает значение 0, а message содержит сообщение об ошибке Успешная транзация возвратит номер заказа и сообщение (для большинства систем пустое). """ postdata = request.POST.copy() card_num = postdata.get('credit_card_number','') exp_month = postdata.get('credit_card_expire_month','') exp_year = postdata.get('credit_card_expire_year','') exp_date = exp_month + exp_year cvv = postdata.get('credit_card_cvv','') amount = cart.cart_subtotal(request) results = {} # Если используется authnet # response = authnet.do_auth_capture(amount=amount, # card_num=card_num, # exp_date=exp_date, # card_cvv=cvv) response = [1, 1, 1, 1, 1, 1] if response[0] == TransactionResultType.APPROVED: #transaction_id = response[6] transaction_id = random.randint(1, 999999) order = create_order(request, transaction_id) results = {'order_number': order.id, 'message': u''} if response[0] == TransactionResultType.DECLINED: results = {'order_number': 0, 'message': _(u'There is a problem with your credit card.')} if response[0] == TransactionResultType.ERROR or response[0] == TransactionResultType.HELD_FOR_REVIEW: results = {'order_number': 0, 'message': _(u'Error processing your order.')} return results