from rest_framework.response import Response from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt from rest_framework.decorators import api_view import logging import requests logger = logging.getLogger(__name__)
@api_view(['POST']) @csrf_exempt def wallet_top_up_view(request, *args, **kwargs): try: # Required variables amount = float(request.data.get('amount', 600.0)) ko_test_email = 'space1empire@gmail.com' ko_test_name = 'Kaka Olawale' # Required API variables/parameters api_url = 'https://api.flutterwave.com/v3/charges?type=card' qms_redirect_url = 'http://localhost:8000/api/payment/success/' qms_ref = 'Welcome to Quickmed Platform, kindly proceed with payment' secret_key = 'FLWSECK_TEST-869279d145197389f77808be9187e4a3-X' # Replace with your actual secret key card_number = '5531886652142950' cvv = '564' expiry_month = '09' expiry_year = '32' headers = { 'Authorization': f'Bearer {secret_key}', 'Content-Type': 'application/json', } payload = { "tx_ref": qms_ref, "amount": amount, "currency": "NGN", "redirect_url": qms_redirect_url, "order_id": "your_order_id", "order_ref": "your_order_reference", "payment_type": "card", "customer": { "email": ko_test_email, "name": ko_test_name, }, "card": { "number": card_number, "cvv": cvv, "expiry_month": expiry_month, "expiry_year": expiry_year, } } # Make the POST request and store in the response variable response = requests.post(api_url, headers=headers, json=payload) # Check if the response was successful if response.ok: payment_link = response.json().get("data").get("link") return Response({"payment_link": payment_link}, status=201) else: return Response({"error": "Payment failed"}, status=response.status_code) except Exception as e: logger.exception("An error occurred in WalletTopUpView") return JsonResponse({"error": str(e)}, status=500)
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAPSG2femeBUh7JgPcQLvVpJHgzJnVms2E1oB4-DaAbt1U_G-hw%40mail.gmail.com.
No comments:
Post a Comment