From 5ccc9c1ffac6180a12e4221adfadf12ed6cd4a7c Mon Sep 17 00:00:00 2001 From: bilalgursen Date: Tue, 11 Aug 2026 00:51:58 +0300 Subject: [PATCH] chore: update iyzico payment processing and database schema Enhanced the iyzico payment processing logic by updating the handling of checkout form content. Modified the order schema to include a new field for storing the checkout form content, ensuring it persists across page refreshes. Updated related functions to reflect these changes, improving the overall payment experience. Additionally, updated the app database to incorporate the latest changes. --- data/app.db | Bin 606208 -> 659456 bytes drizzle/0003_furry_nekra.sql | 1 + drizzle/meta/0003_snapshot.json | 921 ++++++++++++++++++ drizzle/meta/_journal.json | 7 + src/app/odeme/page.tsx | 31 + .../odeme/components/iyzico-formu.tsx | 49 + .../odeme/components/odeme-sayfasi.tsx | 115 +++ src/features/odeme/odeme-actions.ts | 8 +- src/lib/appdb/schema.ts | 4 + src/lib/iyzico.ts | 2 + src/lib/odeme.ts | 3 +- 11 files changed, 1137 insertions(+), 4 deletions(-) create mode 100644 drizzle/0003_furry_nekra.sql create mode 100644 drizzle/meta/0003_snapshot.json create mode 100644 src/app/odeme/page.tsx create mode 100644 src/features/odeme/components/iyzico-formu.tsx create mode 100644 src/features/odeme/components/odeme-sayfasi.tsx diff --git a/data/app.db b/data/app.db index bb4e71b0e74b7cbc139c75c1d604d049cf4c2b10..edd82c199531e700f26ebde6edbfc0129d0decd0 100644 GIT binary patch delta 31688 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 b8bGC-f&0uOK;~Okm!2I7-f@+0@A3Z&AYM}m delta 1678 zcmYjR4Qv!e6yBe?{kz^yix|NIZjW*lVawj$-rXL5wInJkm8#$$t+IDFSGT?1!4;w{ zD2FHzW8$@gZWIyO$B~XWwO|QsxSsgQ^ zxhs^Vxolg`>P%ZwPN};c#e0yl&@C0kCb?QFvxWu*4cH35g6rU3x$QqI^&VObT&}PA4ZxICDw2#REM3)8R#Y`&F-?sHHKdxssBTzh3hA*V*^i!w-_6z5i)40F)QE+` zRxF{0^>|!0Qii3Pk$6Zobu)xaP1C~>Qy>&x#f{5r>v=L;8H|OK(QwLCgV97vHMFEo z&?u@#B9Uk+5so4&rg3%bA{rkI*5Z~0yT*9nDhj?1SHU&p1bd0yOl%!o=ho!uvdXjfN6Ln@}RInp)T-+Hm1iN;89a)uS73 z@WAO5+zr>lhv0O0Om6+p+^VI*{3}wQ6>+pPAY>x%m4$4^R>n_)cgtD^u=RS4*xr$T ztxRv%)o53l!&A7J^|R=aZMZ)BWd#Gzk{op>ya>;_l>_u?SVh8`>0}r;rmRF0`v&Io zQ?Ze+olx-!hkQSYxATj|4?N?g(fn>+mrjAn;A7t)cM?CHua)3l_Oe`%-uB#9+Im!C zuY3%pfwc?Au}$D4=KFDJPyZpNG;nksjWgS8w}TyCiG~+RA!;JL=*pGM&#;07{YA zd2UTJy;*km*VE1PzkqoJGLb+o!#)D~`YK=!Jq*PM+dGF>w)ZqX>Ark7{aB+1EE+Ux}Cu)`O?9Q;8(FRfvl_(e_h)I|UftgUr_FMuk@Hpmf& z?+1?y@&-8~7v)FG6bF3&%5jj$;Xbkl?4W(UG2K7S-(}}4|BNuXa_|R~CR4{LsY{wo zpTTlLVd(j|z7W9o7k*~wea@}#gH8`qL&a#P=0y;~KlVle^Bfg(=nFy^KisD=%%9G( z!{9o+rSDy9d*`o0HII+xcj9e@(e91sg)>o)I6{ddWjTHjE6%KByo;LFde(g2D!6-0(N8 z4mN1U@TTtrqwmXhb!XGrc3YX79ok~`*n>N5=cyvt=;RBG;8dOxM?qt*k{mqHgSzbu z>F; +}) { + return ( +
+
+ }> + {searchParams.then(({ siparis }) => ( + + ))} + +
+ +
+ ); +} diff --git a/src/features/odeme/components/iyzico-formu.tsx b/src/features/odeme/components/iyzico-formu.tsx new file mode 100644 index 0000000..b75d2b8 --- /dev/null +++ b/src/features/odeme/components/iyzico-formu.tsx @@ -0,0 +1,49 @@ +"use client"; + +import { useEffect, useMemo } from "react"; + +// iyzico'nun checkoutFormContent'i tek bir