Skip to content

Commit 138e2de

Browse files
committed
Rectify reference not found error in views
1 parent d7a6c90 commit 138e2de

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

payments/views.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,9 @@ def post(self, request):
5656

5757
# DRF view to verify transaction (optional if using webhook)
5858
class PaystackVerifyAPIView(APIView):
59-
def get(self, request):
60-
reference = request.query_params.get('reference')
59+
def get(self, request, reference):
60+
# reference = request.query_params.get('reference')
61+
# reference = reference
6162

6263
if not reference:
6364
return Response({"error": "No transaction reference provided."}, status=status.HTTP_400_BAD_REQUEST)
@@ -68,6 +69,7 @@ def get(self, request):
6869
}
6970
response = requests.get(url, headers=headers)
7071
result = response.json()
72+
print(result)
7173

7274
if result.get("status") and result["data"]["status"] == "success":
7375
# Here you would normally mark order/transaction as paid in your DB
@@ -77,6 +79,14 @@ def get(self, request):
7779
"amount": result["data"]["amount"] / 100, # convert back to NGN
7880
"email": result["data"]["customer"]["email"]
7981
}, status=status.HTTP_200_OK)
82+
elif result.get("status") and result["data"]["status"] == "abandoned":
83+
# Here you would normally mark order/transaction as paid in your DB
84+
return Response({
85+
"status": "abandoned",
86+
"reference": result["data"]["reference"],
87+
"amount": result["data"]["amount"] / 100, # convert back to NGN
88+
"email": result["data"]["customer"]["email"]
89+
}, status=status.HTTP_200_OK)
8090
else:
8191
return Response({
8292
"status": "failed",

0 commit comments

Comments
 (0)