Hi

If you are still having the challenge, we could schedule a call via meets
and review your code .
Sounds cool ?

Regards
*AJAYI Sunday *
(+234) 806 771 5394
*sunnexaj...@gmail.com <sunnexaj...@gmail.com>*



On Sat, Feb 3, 2024 at 10:14 PM Space1 Technology <space1emp...@gmail.com>
wrote:

> I have issues trying to settup an api endpoint in my Django DRF server
> using Flutterwave by calling their Api in my view function. When I wrote my
> code and tested it with Postman client I got payment failed error. I
> believe I set everything well but I don’t know why am getting the error.
> This is my code snippet for the test mode implementation, I need quick help:
>
> 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 = '
> space1emp...@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+unsubscr...@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
> <https://groups.google.com/d/msgid/django-users/CAPSG2femeBUh7JgPcQLvVpJHgzJnVms2E1oB4-DaAbt1U_G-hw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAKYSAw0_EOM5OyF%3DQPWBYYrKBOS192LrBmmqLN53y5t5Rxpikw%40mail.gmail.com.

Reply via email to