def test_adyen_recurrent_payment(self):
     
     order_data = OrderData(tef_account="1928jj2js", total=100, currency='EUR', country='BR', 
                            statement="statement", order_code="20")
     
     process_recurrent_payment(order_data)
     
     order = Order.objects.get(order_code=order_data.order_code)
     
     self.assertEqual(order.currency, order_data.currency)
     self.assertEqual(order.country, order_data.country)
     self.assertEqual(order.total, order_data.total)
     self.assertEqual(order.statement, order_data.statement)
     self.assertEqual(order.tef_account, order_data.tef_account)
def recurrent_payment(request):

    if request.method == "POST":

        params = request.POST.get

        tef_account = params("tef_account", None)
        total = params("total", None)
        currency = params("currency", None)
        country = params("country", None)
        statement = params("statement", None)
        order_code = params("order_code", None)

        if not tef_account or not total or not currency or not country or not statement or not order_code:
            return HttpResponse("<h1>Insufficient parameters!</h1>", status=405)

        data = OrderData(tef_account, total, currency, country, statement, order_code)

        result = process_recurrent_payment(data)

        if result:
            return HttpResponse("<h1>Processing payment</h1>")

    return HttpResponse("<h1>ERROR</h1>", status=405)