diff --git a/backend/account/admin.py b/backend/account/admin.py index b223804..b27d4c9 100644 --- a/backend/account/admin.py +++ b/backend/account/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin from .models import * -from unfold.admin import ModelAdmin, TabularInline +from unfold.admin import TabularInline from django.contrib.auth.admin import UserAdmin as BaseUserAdmin from import_export.admin import ImportExportModelAdmin from unfold.contrib.import_export.forms import ExportForm, ImportForm, SelectableFieldsExportForm diff --git a/backend/order/urls.py b/backend/order/urls.py index 31d4db3..479a357 100644 --- a/backend/order/urls.py +++ b/backend/order/urls.py @@ -11,6 +11,7 @@ urlpatterns = [ path('cart/all', CartItemClear.as_view()), path('cart/item/', 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/', CallbackView.as_view(), name='callback-gateway'), path('', OrderGetView.as_view(), name='order-get'), ] diff --git a/backend/order/views.py b/backend/order/views.py index 335c647..901930c 100644 --- a/backend/order/views.py +++ b/backend/order/views.py @@ -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() diff --git a/frontend/components/global/Brands.vue b/frontend/components/global/Brands.vue index d8cfe08..76f8866 100644 --- a/frontend/components/global/Brands.vue +++ b/frontend/components/global/Brands.vue @@ -13,53 +13,65 @@ const {} = toRefs(props); diff --git a/frontend/components/home/Hero.vue b/frontend/components/home/Hero.vue index 6c280eb..25ba9d1 100644 --- a/frontend/components/home/Hero.vue +++ b/frontend/components/home/Hero.vue @@ -11,7 +11,6 @@ import useHomeData from "~/composables/api/home/useHomeData"; const { data: homeData } = useHomeData(); const { $gsap: gsap, $ScrollTrigger: ScrollTrigger } = useNuxtApp(); const swiper_instance = ref(null); -const showLoadingOverlay = useState("showLoadingOverlay"); const observerTarget = ref(null); const shouldPauseVideos = ref(false); @@ -32,9 +31,6 @@ let scrollTrigger: ScrollTrigger; // methods const onSwiper = (swiper: SwiperClass) => { - setTimeout(() => { - showLoadingOverlay.value = false; - }, 1000); swiper_instance.value = swiper; }; diff --git a/frontend/components/home/Preview.vue b/frontend/components/home/Preview.vue index 8622cf5..4ebee14 100644 --- a/frontend/components/home/Preview.vue +++ b/frontend/components/home/Preview.vue @@ -1,5 +1,4 @@ diff --git a/frontend/components/home/ProductsShowcase.vue b/frontend/components/home/ProductsShowcase.vue index 4bb2c84..e9eaa75 100644 --- a/frontend/components/home/ProductsShowcase.vue +++ b/frontend/components/home/ProductsShowcase.vue @@ -1,5 +1,4 @@ \ No newline at end of file + diff --git a/frontend/pages/signin.vue b/frontend/pages/signin.vue index b9145b8..2e1b50d 100644 --- a/frontend/pages/signin.vue +++ b/frontend/pages/signin.vue @@ -159,24 +159,20 @@ const resetForm = () => { }" />
-