PDA

View Full Version : مشکل در تئوری فورشگاه



mamad_za
پنج شنبه 17 دی 1394, 13:37 عصر
سلام دوستان من یه مشکلی تو تئوری یه فروشگاه اینترنتی دارم
زمانی که کاربر میاد یه کالا رو به سبد خریدش اضافه می کنه در ادامه می ره تو فاکتور خریدش حالا اگه بخواد بیاد دوباره یه کالا دیگه انتخاب کنه یه ذره به مشکل می خورم اینکه مثلا جمع مجموعه کالا ها مثلا شده 150 هزار تومن اول اینکه من اینو چطوری باید تو بانک درج کنم ؟
قبل از اینکه روی دکمه پرداخت بزنه بره تو صفحه بانک آیا باید تو بانک رکوردی درج بشه؟ اگه درج بشه هر دوتا رکوردو درج کنم؟به چنتا جدول نیاز دارم؟
مشخصات جداول چه چیزایی می تونه باشه ؟


چنتا مشکلی که به وجود میاد اینه که کاربر هی میاد الکی کالا انتخاب می کنه و پرداخت نمی کنه و تو بانکم اطلاعات هرز پر میشه
2 اینکه وقتی من این کارو انجام دادم اگه کاربر پول رو پرداخت کرد من چطوری بیام چک کنم که مبلغ پرداختی کاربر با مجموع هزینه 2 تا کالا برابره؟

یه سوال دیگه اینکه بین بانک و سایت چه اطلاعاتی قبل پرداخت و بعد پرداخت باید رد و بدل بشه ؟

من کل سایت رو درست کردم رو این قسمتش موندم می دونم سوالم یه مقدار گنگه اونم واسه اینه که واقعا تئوری درستی تو فکرم ندارم ممنون میشم کمکمک کنید.

saeedvir
جمعه 18 دی 1394, 07:45 صبح
زمانی که کاربر میاد یه کالا رو به سبد خریدش اضافه می کنه در ادامه می ره تو فاکتور خریدش حالا اگه بخواد بیاد دوباره یه کالا دیگه انتخاب کنه یه ذره به مشکل می خورم اینکه مثلا جمع مجموعه کالا ها مثلا شده 150 هزار تومن اول اینکه من اینو چطوری باید تو بانک درج کنم ؟
شما اینا رو مگه قبل پرداخت داخل سشن ذخیره نمی کنی ؟ اگه بله که یک به روز رسانی ساده روی SESSION_$ هست.


قبل از اینکه روی دکمه پرداخت بزنه بره تو صفحه بانک آیا باید تو بانک رکوردی درج بشه؟ اگه درج بشه هر دوتا رکوردو درج کنم؟به چنتا جدول نیاز دارم؟
مشخصات جداول چه چیزایی می تونه باشه ؟
بله ، شما باید اطلاعات داخل سشن رو بریزی توی دیتابیس . اینکه چند تا رکورد باید بریزی ، بستگی به گزارش گیری سمت مدیریت داره که چه طور راحتتری.
راستی نگفتی می خواهی از "درگاه واسط مثل payline" استفاده کنی یا "درگاه مستقیم مثلا ملت" ولی در کل قبل از خرید وصل میشی به درگاه اونم به روش soap یا curl بعد که verify شدی ، شناسه پرداخت را همراه با اون اطلاعات سشن باید ذخیره کنی

اینکه وقتی من این کارو انجام دادم اگه کاربر پول رو پرداخت کرد من چطوری بیام چک کنم که مبلغ پرداختی کاربر با مجموع هزینه 2 تا کالا برابره؟
خب درگاه ها یک امکان verify شدن و بررسی صحت اون را گذاشتن برای همین کار که شما صحت خرید را با اون شناسه پرداخت بررسی می کنید.

mamad_za
جمعه 18 دی 1394, 21:19 عصر
زمانی که کاربر میاد یه کالا رو به سبد خریدش اضافه می کنه در ادامه می ره تو فاکتور خریدش حالا اگه بخواد بیاد دوباره یه کالا دیگه انتخاب کنه یه ذره به مشکل می خورم اینکه مثلا جمع مجموعه کالا ها مثلا شده 150 هزار تومن اول اینکه من اینو چطوری باید تو بانک درج کنم ؟
شما اینا رو مگه قبل پرداخت داخل سشن ذخیره نمی کنی ؟ اگه بله که یک به روز رسانی ساده روی SESSION_$ هست.


قبل از اینکه روی دکمه پرداخت بزنه بره تو صفحه بانک آیا باید تو بانک رکوردی درج بشه؟ اگه درج بشه هر دوتا رکوردو درج کنم؟به چنتا جدول نیاز دارم؟
مشخصات جداول چه چیزایی می تونه باشه ؟
بله ، شما باید اطلاعات داخل سشن رو بریزی توی دیتابیس . اینکه چند تا رکورد باید بریزی ، بستگی به گزارش گیری سمت مدیریت داره که چه طور راحتتری.
راستی نگفتی می خواهی از "درگاه واسط مثل payline" استفاده کنی یا "درگاه مستقیم مثلا ملت" ولی در کل قبل از خرید وصل میشی به درگاه اونم به روش soap یا curl بعد که verify شدی ، شناسه پرداخت را همراه با اون اطلاعات سشن باید ذخیره کنی

اینکه وقتی من این کارو انجام دادم اگه کاربر پول رو پرداخت کرد من چطوری بیام چک کنم که مبلغ پرداختی کاربر با مجموع هزینه 2 تا کالا برابره؟
خب درگاه ها یک امکان verify شدن و بررسی صحت اون را گذاشتن برای همین کار که شما صحت خرید را با اون شناسه پرداخت بررسی می کنید.

دوست عزیز خیلی ممنون که وقت گذاشتی و پاسخ دادی از وقتی که این تاپیک رو ایجاد کردم باز رفتم مطالعه کردم می خوام چنتا سوال دوباره مطرح کنم ممنون میشم جواب بدید .
موقعی که این سوال رو مطرح کردم اصلا هیچ دیدی نداشتم به این قضیه

1- شما اینا رو مگه قبل پرداخت داخل سشن ذخیره نمی کنی ؟ اگه بله که یک به روز رسانی ساده روی SESSION_$ هست.

در مورد این قسمت اگه من بخوام تمام اطلاعاتی که از کاربر میگرم تو session ذخیره کنم حجم session ها زیاد نمیشه ؟ اگه هم تو بانک درج کنم کاربر تو هر مرحله بیاد این عملیات پرداخت رو حذف کنه با این همه رکورد نصف و نیمه تو بانک چی کنم؟

2-راستی نگفتی می خواهی از "درگاه واسط مثل payline" استفاده کنی یا "درگاه مستقیم مثلا ملت" ولی در کل قبل از خرید وصل میشی به درگاه اونم به روش soap یا curl بعد که verify شدی
در مورد این قسمت می خوام نماد الکترونیک بگیرم و اینکه درگاهم به صورت مستقیم به بانک باشه .

3-شناسه پرداخت را همراه با اون اطلاعات سشن باید ذخیره کنی

تو این قسمت من به چنتا چیز برخورد کردم شناسه پرداخت باید توسط ما ساخته بشه ؟ اگه آره به چه روشی؟
MerchantId این عدد توسط بانک به فروشنده(فروشگاه داده میشه )
PaymentId اینا باید توسط طراح ایجاد بشه؟ و به درگاه فرستاده بشه؟
InvoiceNumber اینا باید توسط طراح ایجاد بشه؟ و به درگاه فرستاده بشه؟

4-به روش soap یا curl

در مورد اینا curl خیلی تحقیق کردم یه چیزایی دستم اومد اما در مورد soap چیز خواصی دستم نیومد آیا نمونه ای؟ سایتی چیزی دارین ببینم ؟ ممنون می شم.

0xEHSAN
جمعه 18 دی 1394, 22:23 عصر
درود دوست عزیز سیشن برای همین کارها ساخته و در ضمن میشه اونو به اصلاح نابود کرد روش بستگی به بانک داره که چجور میخواد به شما ارایه بده از درگاه کدوم بانک میخواهید استفاده کنید؟

mamad_za
جمعه 18 دی 1394, 22:33 عصر
درود دوست عزیز سیشن برای همین کارها ساخته و در ضمن میشه اونو به اصلاح نابود کرد روش بستگی به بانک داره که چجور میخواد به شما ارایه بده از درگاه کدوم بانک میخواهید استفاده کنید؟


ممنون احسان جان می دونم اینارو ولی می دونی تئوریش تو ذهنم نیست . اگه میشه یخورده این تئوریش رو برام توضیح بدی و اگه امکان داره به سوالایی که تو قسمت دوم پرسیدم جواب بدی ممنون میشم
من که اولین باره دارم این کارو میکنم اما او کسی که دارم این سایت رو براش مینویسم طرف حساب بانک انصاره نمی دونم اصلا بانک انصار چنین چیزی رو ساپورت می کنه یا اینکه باید برم از بانک ملت درگاه رو بگیرم

arash_fa
جمعه 18 دی 1394, 22:56 عصر
اگر با افزایش حجم دیتابیس به خاطر کالاهای الکی افزوده شده یا در اصل پرداخت نشده مشکل دارید میتونید یک بخش به جدول اضافه کنید که تایم زمان افزوده شدن را در خود داشته باشه بعد با کرانجابز هر 1 یا دو روز اونایی که پرداخت نشده را حذف کند

0xEHSAN
جمعه 18 دی 1394, 23:14 عصر
در مورد این قسمت اگه من بخوام تمام اطلاعاتی که از کاربر میگرم تو session ذخیره کنم حجم session ها زیاد نمیشه ؟ اگه هم تو بانک درج کنم کاربر تو هر مرحله بیاد این عملیات پرداخت رو حذف کنه با این همه رکورد نصف و نیمه تو بانک چی کنم؟


سعی کنید تا مرحله بعد خرید داده ها رو تو جدول ذخیره نکنید تو مرحله بعد خرید شما باید خرید رو وریفای کنید تا اون موقع نیازی نیست تو بانک ذخیره بشند همچنین میتونید برای نشست ها تون مدت زمان تعیین کنید مثل :



<?php
/***
* Starts a session with a specific timeout and a specific GC probability.
* @param int $timeout The number of seconds until it should time out.
* @param int $probability The probablity, in int percentage, that the garbage
* collection routine will be triggered right now.
* @param strint $cookie_domain The domain path for the cookie.
*/
function session_start_timeout($timeout=5, $probability=100, $cookie_domain='/') {
// Set the max lifetime
ini_set("session.gc_maxlifetime", $timeout);

// Set the session cookie to timout
ini_set("session.cookie_lifetime", $timeout);

// Change the save path. Sessions stored in teh same path
// all share the same lifetime; the lowest lifetime will be
// used for all. Therefore, for this to work, the session
// must be stored in a directory where only sessions sharing
// it's lifetime are. Best to just dynamically create on.
$seperator = strstr(strtoupper(substr(PHP_OS, 0, 3)), "WIN") ? "\\" : "/";
$path = ini_get("session.save_path") . $seperator . "session_" . $timeout . "sec";
if(!file_exists($path)) {
if(!mkdir($path, 600)) {
trigger_error("Failed to create session save path directory '$path'. Check permissions.", E_USER_ERROR);
}
}
ini_set("session.save_path", $path);

// Set the chance to trigger the garbage collection.
ini_set("session.gc_probability", $probability);
ini_set("session.gc_divisor", 100); // Should always be 100

// Start the session!
session_start();

// Renew the time left until this session times out.
// If you skip this, the session will time out based
// on the time when it was created, rather than when
// it was last used.
if(isset($_COOKIE[session_name()])) {
setcookie(session_name(), $_COOKIE[session_name()], time() + $timeout, $cookie_domain);
}
}




تو این قسمت من به چنتا چیز برخورد کردم شناسه پرداخت باید توسط ما ساخته بشه ؟ اگه آره به چه روشی؟
MerchantId این عدد توسط بانک به فروشنده(فروشگاه داده میشه )
PaymentId اینا باید توسط طراح ایجاد بشه؟ و به درگاه فرستاده بشه؟
InvoiceNumber اینا باید توسط طراح ایجاد بشه؟ و به درگاه فرستاده بشه؟


ساختن شناسه پرداخت کاری نداره میتونید از توابعی مثل rand استفاده کنید که PaymentId باید یکتا باشه و گرنه به مشکل بر میخورین




در مورد اینا curl خیلی تحقیق کردم یه چیزایی دستم اومد اما در مورد soap چیز خواصی دستم نیومد آیا نمونه ای؟ سایتی چیزی دارین ببینم ؟ ممنون می شم.

برای Soap هم من این منابع رو پیشنهاد میکنم

http://www.w3schools.com/xml/xml_soap.asp
http://www.sitepoint.com/web-services-with-php-and-soap-1/
http://devzone.zend.com/2202/php-and-soap-first-steps/
http://www.doublehops.com/2009/07/07/quick-tutorial-on-getting-started-with-soap-in-php/comment-page-1/

0xEHSAN
جمعه 18 دی 1394, 23:35 عصر
البته برای PaymentId میشه از تابع microtime() استفاده کرد مزیتی که داره زمان پرداخت رو نشون میده البته تا جایی که میدونم این عدد نباید از 12 رقم بیشتر باشه

mamad_za
شنبه 19 دی 1394, 11:44 صبح
مرسی فقط یه مقدار اون قسمت تغییر مسیر session و تغییر زمان زنده بودنش رو توضیح میدی؟