def checkout_confirm(request): from payments.gateways.googlecheckout import GoogleCheckoutGateway from payments.gateways.paypal import PayPalGateway from payments.gateways.braintreegw import BraintreeGateway from payments.models import GoogleCheckoutShopSettings, PayPalShopSettings, ManualPaymentShopSettings, BraintreeShopSettings #A list of payment method, each payment method know how to render as a link #payment_methods = request.shop.get_payment_methods() payment_buttons = [] #profile = request.user.get_profile() cart = request.cart shop = request.shop try: google_settings = GoogleCheckoutShopSettings.objects.filter(shop = shop).get() googlecheckout_gw = GoogleCheckoutGateway(google_settings.merchant_id, google_settings.merchant_key, debug=True) button = googlecheckout_gw.render_button(cart) payment_buttons.append(button) except GoogleCheckoutShopSettings.DoesNotExist: pass try: braintree_settings = BraintreeShopSettings.objects.filter(shop = shop).get() braintree_gw = BraintreeGateway(braintree_settings.merchant_id, braintree_settings.public_key, braintree_settings.private_key, ) button = braintree_gw.render_button(cart) payment_buttons.append(button) except BraintreeShopSettings.DoesNotExist: pass try: paypal_settings = PayPalShopSettings.objects.filter(shop = shop).get() paypal_gw = PayPalGateway(username=settings.PAYPAL_USERNAME, password=settings.PAYPAL_PASSWORD, sign=settings.PAYPAL_SIGNATURE, debug=settings.PAYPAL_DEBUG) button = paypal_gw.render_button() logging.critical(button) payment_buttons.append(button) except PayPalShopSettings.DoesNotExist: pass try: manual_payment_settings = ManualPaymentShopSettings.objects.filter(shop = shop) url = reverse("myshopping_checkout_manual_payment") if manual_payment_settings.count(): button = """ <div> <h3>Manual Payments</h3>\n <form name='manual_payment' action='%s' method='POST'>\n """ % url for idx, payment in enumerate(manual_payment_settings): input = '\t<input type="radio" name="manual_payment_id" checked="%d" value="%s"> %s </input><br/>\n' % (1 if idx == 0 else 0, payment.id, payment.name) button += input button += "<br/>" button += "<button class='primaryAction small awesome' type='submit'>Submit</button>\n" button += "</form>\n" button += "</div>" logging.debug(button) payment_buttons.append(button) except Exception, e: logging.error(e)
def checkout_confirm(request): from payments.gateways.googlecheckout import GoogleCheckoutGateway from payments.gateways.paypal import PayPalGateway from payments.gateways.braintreegw import BraintreeGateway from payments.models import GoogleCheckoutShopSettings, PayPalShopSettings, ManualPaymentShopSettings, BraintreeShopSettings #A list of payment method, each payment method know how to render as a link #payment_methods = request.shop.get_payment_methods() payment_buttons = [] #profile = request.user.get_profile() cart = request.cart shop = request.shop if not cart.is_available(): request.flash['message'] = 'Items not longer available: ' for item in cart.items_not_availables(): request.flash['message'] += item.product.title cart.remove_not_available_items() return HttpResponseRedirect(reverse('my_shopping')) try: google_settings = GoogleCheckoutShopSettings.objects.filter( shop=shop).get() googlecheckout_gw = GoogleCheckoutGateway(google_settings.merchant_id, google_settings.merchant_key, debug=True) button = googlecheckout_gw.render_button(cart) payment_buttons.append(button) except GoogleCheckoutShopSettings.DoesNotExist: pass try: braintree_settings = BraintreeShopSettings.objects.filter( shop=shop).get() braintree_gw = BraintreeGateway( braintree_settings.merchant_id, braintree_settings.public_key, braintree_settings.private_key, ) button = braintree_gw.render_button(cart, request) payment_buttons.append(button) except BraintreeShopSettings.DoesNotExist: pass try: paypal_settings = PayPalShopSettings.objects.filter(shop=shop).get() paypal_gw = PayPalGateway(username=settings.PAYPAL_USERNAME, password=settings.PAYPAL_PASSWORD, sign=settings.PAYPAL_SIGNATURE, debug=settings.PAYPAL_DEBUG) button = paypal_gw.render_button() payment_buttons.append(button) except PayPalShopSettings.DoesNotExist: pass try: manual_payment_settings = ManualPaymentShopSettings.objects.filter( shop=shop) url = reverse("myshopping_checkout_manual_payment") if manual_payment_settings.count(): button = """ <div> <h3>Manual Payments</h3>\n <form name='manual_payment' action='%s' method='POST'>\n """ % url for idx, payment in enumerate(manual_payment_settings): input = '\t<input type="radio" name="manual_payment_id" checked="%d" value="%s"> %s </input><br/>\n' % ( 1 if idx == 0 else 0, payment.id, payment.name) button += input button += "<br/>" button += "<button class='primaryAction small awesome' type='submit'>Submit</button>\n" button += "</form>\n" button += "</div>" logging.debug(button) payment_buttons.append(button) except Exception, e: logging.error(e)