سلام
ما داریم یه فروشگاه میسازیم با بک اند لاراول و فرانت ری اکت...الان توی قسمت پرداختش موندیم و هیچ ایده ای نداریم باید چجوری کار کنیم.
چیزی که توی ذهنمون هست اینه:
یه درخواست از ری اکت به لاراول میزنیم که اطلاعات خرید هست و لاراول خودش کاربر رو میفرسته به صفحه پرداخت و پرداخت که انجام شد باز به صفحه از لاراول برمیگرده ک میگه سفارش ثبت شد. حالا موقع برگشت از صفحه پرداخت میخوایم یجوری به ری اکت بفهمونیم که پرداخت انجام شده.
میشه لطفا اگه کار کردین یه راهنمایی کنید.خیلی ممنون
از کلاینت ( ری اکت ) درخواست خرید ارسال میشه به کنترلر یا سرویس خرید ( buy)
تو سرویس خرید یک درخواست به بانک ارسال میشه و اطلاعات خرید و ارسال میکنه و شناسه پرداخت و از بانک می گیره ( ref یا au بانک ) و از اون شناسه لینک پرداخت و هم میسازه
لینک و به عنوان جواب به کاربر(فرانت ) پس میده تا ری اکت کاربر رو به صفحه پرداخت منتقل کنه
موقع request بک اند به بانک یقینا لینک بازگشت ( callback_url) هم تنظیم شده و چون ما بک و فرانت جدا داریم اول باید به خود لاراول برگرده مثلا به صفحه verify و اونجا وضعیت پرداخت و اپدیت کنه ( مثلا paid و برابر با یک بزاره و بعد از اون به لینک callback_url تو فرانت برگرده ( یعنی دوتا لینک داریم اولی لینک لاراول و دومی لینک فرانت )
تو لینک فرانت نتیجه ای ارسال نمیشه به صورت GET یاغیره چون بدون شک میتونه کاربر نتیجه اشتباهی بفرسته و صفحه فرانت و گول بزنه
بعد از منتقل شدن به صفحه verify تو فرانت یک درخواستی از ری اکت به لاراول ارسال بشه برای بررسی وضعیت پرداخت و تمام.
دکمه ای هم برای کنترل باشه که از یک پرداخت موفق چندین بار استفاده نشه ( مثلا خرید شارژ یا غیره )
سلام
از طریق نمونه کد های خود زرین پال میتونید استفاده کنید که براتون لینک کردم
و اینکه میتونید تو دیتابیس فیلدی قرار بدید که وضعیت پرداخت چک بشه یا همین کار رو روی یک فایل انجام بدید
یا اینکه توی فایل کال بک یک دیتا بفرستید به سمت ری اکت که پرداخت انجام شده
باز دوستان ممکنه پیشنهاد بهتری داشته باشن
یه اندپوینت سمت لاراول بسازید برای چک کردن حالت پرداخت..
بعد داخل کدهای react با اونت ها کار کنید ..
به اندپوینت درخواست بزنید
اگر پرداخت انجام شده بود.. در کامپوننت ریاکت استیت رو مقداردهی کنید
یه کار دیگه هم میتونی انجام بدی و اون استفاده از پکیج Laravel Shared Data
با استفاده از Facade و یا هلپر پکیج متغیرت رو به اشتراک میگذاری
و این باعث میشه متغیر شما در شئ window جاوااسکریپت قابل دسترسی باشه.
توضیحات کامل برای استفاده از این پکیج در نوشته زیر:
https://www.alibayat.id.ir/blog/sharing-data-between-laravel-and-javascript
از کلاینت ( ری اکت ) درخواست خرید ارسال میشه به کنترلر یا سرویس خرید ( buy)
تو سرویس خرید یک درخواست به بانک ارسال میشه و اطلاعات خرید و ارسال میکنه و شناسه پرداخت و از بانک می گیره ( ref یا au بانک ) و از اون شناسه لینک پرداخت و هم میسازه
لینک و به عنوان جواب به کاربر(فرانت ) پس میده تا ری اکت کاربر رو به صفحه پرداخت منتقل کنه
موقع request بک اند به بانک یقینا لینک بازگشت ( callback_url) هم تنظیم شده و چون ما بک و فرانت جدا داریم اول باید به خود لاراول برگرده مثلا به صفحه verify و اونجا وضعیت پرداخت و اپدیت کنه ( مثلا paid و برابر با یک بزاره و بعد از اون به لینک callback_url تو فرانت برگرده ( یعنی دوتا لینک داریم اولی لینک لاراول و دومی لینک فرانت )
تو لینک فرانت نتیجه ای ارسال نمیشه به صورت GET یاغیره چون بدون شک میتونه کاربر نتیجه اشتباهی بفرسته و صفحه فرانت و گول بزنه
بعد از منتقل شدن به صفحه verify تو فرانت یک درخواستی از ری اکت به لاراول ارسال بشه برای بررسی وضعیت پرداخت و تمام.
دکمه ای هم برای کنترل باشه که از یک پرداخت موفق چندین بار استفاده نشه ( مثلا خرید شارژ یا غیره )
سلام از پکیج زیر استفاده کنید.
https://github.com/shetabit/payment/blob/master/README-FA.md
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟