add callback url

This commit is contained in:
Parsa Nazer
2025-04-11 20:57:33 +03:30
parent af22384cde
commit bcc5bf23f5
3 changed files with 22 additions and 4 deletions
+2 -1
View File
@@ -11,6 +11,7 @@ urlpatterns = [
path('cart/all', CartItemClear.as_view()),
path('cart/item/<int:pk>', CartItemViews.as_view(), name='change-item-cart'),
path('cart/payment', PaymentView.as_view(), name='payment'),
path('callback', callback_view, name='callback-gateway'),
# path('callback', callback_view, name='callback-gateway'),
path('transaction/<int:tracking_code>', CallbackView.as_view(), name='callback-gateway'),
path('<int:pk>', OrderGetView.as_view(), name='order-get'),
]
+19 -2
View File
@@ -222,8 +222,7 @@ class PaymentView(APIView):
)
bank.set_request(request)
bank.set_amount(amount)
bank.set_client_callback_url(reverse("callback-gateway"))
print(reverse('callback-gateway'))
bank.set_client_callback_url('https://heymlz.com/transaction')
bank.set_mobile_number(user_mobile_number)
bank_record = bank.ready()
@@ -270,6 +269,24 @@ def callback_view(request):
class CallbackView(APIView):
def get(self, request, tracking_code):
if not tracking_code:
return Response({'detail': 'کد تریسکد درست نمیباشد.'})
try:
bank_record = bank_models.Bank.objects.get(tracking_code=tracking_code)
except bank_models.Bank.DoesNotExist:
return Response({'detail': 'کد تریسکد معتبر نمیباشد.'}, status=status.HTTP_400_BAD_REQUEST)
if bank_record.is_success:
return Response({"detail" : "پرداخت با موفقیت انجام شد."}, status=status.HTTP_200_OK)
return Response(
{"detail": "پرداخت با شکست مواجه شده است. اگر پول کم شده است ظرف مدت ۴۸ ساعت پول به حساب شما بازخواهد گشت."}, status=status.HTTP_404_NOT_FOUND
)
class SetAddressSerilizer(serializers.Serializer):
address_id = serializers.IntegerField()