Example #1
0
    def get_context_data(self, **kwargs):
        context = FormView.get_context_data(self, **kwargs)
        context["travels"] = self.request.session["travels"]
        total = 0
        for travel in context["travels"]:
            total += float(travel["go"]["travel_price"])
            if "return" in travel and travel["return"]:
                total += float(travel["return"]["travel_price"])
        context["total"] = total

        if self.order_num:
            try:
                order = Order.objects.get(num=self.order_num)
                payplug.set_secret_key(settings.PAYPLUG_KEY)
                cancel_url = self.request.build_absolute_uri(
                    reverse('transportation-checkout'))
                return_url = self.request.build_absolute_uri(
                    reverse('transportation-checkout-confirmation',
                            args=(order.num, )))
                payment_data = {
                    'amount': int(total * 100),
                    'currency': 'EUR',
                    'customer': {
                        'first_name': order.customer.first_name,
                        'last_name': order.customer.last_name,
                        'email': order.customer.email
                    },
                    'hosted_payment': {
                        'return_url': return_url,
                        'cancel_url': cancel_url,
                    },
                    'metadata': {
                        'order_num': order.num,
                        'customer_id': order.customer.id,
                    },
                }
                payment = payplug.Payment.create(**payment_data)
                context["payment"] = payment
                context["order"] = order
            except Order.DoesNotExist:
                pass

        return context
 def test_invalid_secret_key(self):
     import payplug
     with py.test.raises(exceptions.ConfigurationError) as excinfo:
         payplug.set_secret_key(None)
     assert 'Expected string value for token.' == str(excinfo.value)
     assert config.secret_key is None
 def test_secret_key_set(self):
     import payplug
     assert config.secret_key is None
     payplug.set_secret_key('a_secret_key')
     assert config.secret_key == 'a_secret_key'
Example #4
0
 def __init__(self):
     payplug.set_secret_key(app.config['PAYPLUG_API_KEY'])