PDA

View Full Version : کامپوننت کار با درگاه بانک



SlowCode
سه شنبه 01 بهمن 1392, 18:57 عصر
سلام
میخواستم بدونم آیا کامپوننتی واسه کار با درگاه بانک برای yii دارید؟
حالا هر بانکی که میخواد باشه، ملی، ملت، ...

masato
سه شنبه 01 بهمن 1392, 20:38 عصر
دیگه چی میخواید :لبخند:
فک نمیکنم چنین کامپوننتی وجود داشت باشه ، توی فروم فارسی سایت یی آقا رضا یه کدهای قرار داده بودن
اینم لینکش (http://www.yiiframework.com/forum/index.php/topic/45364-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%B1%DA%AF%D8%A7%D9%87-%D9%BE%D8%B1%D8%AF%D8%A7%D8%AE%D8%AA-%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86/)

SlowCode
سه شنبه 01 بهمن 1392, 20:54 عصر
ممنون، من تا حالا با درگاه های بانکی کار نکردم.
مراحل کار به چه صورتی هست؟
اول request بعد go2bank و بعد verify؟
$order_id چی هست؟ $callback چی هست؟ $au چی هست؟ پارامتر آیدی go2bank چی هست؟
price رو میدونم نیازی به توضیح نیست:لبخند:

MMSHFE
سه شنبه 01 بهمن 1392, 21:52 عصر
order_id$ شماره یکتای سفارش هست که خودتون توی سایتتون برای هر سفارش تولید میکنید و با اولین درخواست، با au$ (شماره یکتای تراکنش که ازطرف بانک تولید میشه) Match میشه و توی دیتابیستون باید هر دو مورد رو توی رکورد مربوط به خرید، ثبت کنید. callback$ هم آدرسی هست که بانک باید بعد از انجام (یا لغو) تراکنش، نتیجه رو به اون صفحه بصورت Post (یا Get - برحسب سیستم کاری بانک مربوطه) برگردونه.

روال کار هم همونطوریه که گفتین:
اول order_id تولید میکنید و اطلاعات رو با Request برای بانک میفرستین و بانک بهتون au$ (توی برخی سیستمها بهش refnum$ میگن) میده. بعد کاربر رو به صفحه بانک میفرستین و au$ و سایر اطلاعات رو هم ارسال میکنید. بعد از انجام تراکنش هم با au$ عمل Verify رو انجام میدین که بانک بهتون دقیقاً میگه پرداخت انجام شد یا نه و اگه شد، با چه مبلغی بوده. البته برخی بانکها (مثل ملت - تا جایی که اطلاع دارم و اگه تغییرش نداده باشن) بعد از Verify یک متد دیگه هم دارن که باید صدا بزنید (Settle) تا تراکنش تثبیت بشه. اگه این عمل آخر رو انجام ندین، بعد از مدت مشخص (مثلاً 10 دقیقه) تراکنش برگشت میخوره و پول به حساب مشتری برمیگرده. البته برخی بانکها ممکنه روالشون فرق کنه. مثلاً پول میاد تو حسابتون و اگه مبلغ خرید اشتباه بود، با صدا زدن متد Rollback (یا ReverseTransaction) تراکنش معکوس رو درخواست میکنید. بهرحال اگه مشتری مبلغ رو اشتباه زده باشه (یا بعد از خرید متوجه بشین که کالا توی انبار تمام شده) باید بتونید پول رو به حسابش برگردونید و ازطرفی نمیدونید با چه کارتی خرید انجام شده و اگه بخواین خودتون دستی انتقال بدین، ممکنه لازم باشه 500 تومان کارمزد شتاب رو متحمل بشین. امیدوارم خوب توضیح داده باشم