سلام
من یکی از توسعه دهندگان درگاه های بانکی جوملا هستم.
برای کامپوننت ویرچومارت و جوم شاپینگ در حال طراحی افزونه بانکی هستیم.
جوم شاپینگ رو که من جهان پی رو نوشتم و بانک ملی
برای ویرچومارت هر 4 درگاه واسط رو نوشتم (جهان پی ، پارس پال ، زرین پال ، پی لاین) و الان میخوام بانک ملت رو بنویسم.
ولی مستنداتی که بانک ملت بهم دادن اصن کد خودشون هم کار نمیکنه
به علاوه چیزای دیگه ای مثل date و time و additionalData داره.
date و time رو میدونم چطوری باید با php بگیرم.
ولی additionalData رو نمیدونم چیه.
اصن آیا کدی وجود داره که مثل کد php soap پارس پال فقط فایل request و verify داشته باشه
اینطوری می فهمم باید چیکار کنم ولی الان سر ملت کاملا گیجم
یا اسکریپتی که واقعا کار کنه برای ملت؟؟؟
درگاه بانک ملت هم دارم خودم.
در صورتیکه بگین کد خطایی که توی مستندات ارسالی خودشون بهتون میده چی هست راحتتر میشه کمک کرد
اما برای خود من چنین مشکلی پیش اومده بود که تماسی که باهاشون داشتم گفتن که بعلت فعال نبودن درگاه هستش
طریقه کار هم به اینصورته که بصورت پیشفرض در صورتیکه لوگوی به پرداخت توی سایت شما توی صفحه اول نمایش داده نشده باشه درگاهتون تو حالت غیر فعال میمونه
پس اول لوگوی به پرداخت رو توی سایتتون بزارین (اگر تا حالا نزاشتین) و بعدش از طریق بخش پشتیبانی توی سایت به پرداخت یا تیکت بزنین یا اینکه باهاشون چت کنین و مشکل برطرف میشه
اون additionalData هم اطلاعات اضافی سفارشتون هست که میفرستین
بجاش هرچیزی رو میتونین ارسال کنین مثلا نام کالایی که دارین میفروشین
اطلاعات اضافی فکر کنم نوشته بود اختیاری ولی شما برای اطمینان میتونی یک مقدار ثابت براش قرار بدی توی کدات مثلا بزار 1
چطوری به سایتت ارسال نمیشه؟
برای اینکه اطلاعاتت تو زمان خرید حفظ بشه از session استفاده میکنی؟
حالا شاید گیرت این نباشه ولی این نکته رو در نظر داشته باشین که درگاه ملت $_SESSION[cancel] اگر توی کدات باشه رو در هنگام برگشت از بانک خراب میکنه و باید بجاش از چیز دیگه استفاده کنی
حالا اگر اطلاعات بیشتری داشته باشم هر کمکی بتونم میکنم
خب اگر این صفحه بازگشتی بانک هست که مقدار $_GET["order"] از طرف بانک براتون ارسال نمیشه تو این مرحله
بلکه توی مرحله قبلی هست یعنی قبل از ارسال به صفحه بانک که این شماره سفارش رو هم خودتون باید تعیین کنین پس فکر نمیکنم $_GET["order"] دارای مقدار باشه بهتره مثلا اونو توی یک session ذخیره کنین که بتونین ازش استفاده کنین
بعدشم این $verifySaleOrderId رو هم اصلاح کردم و البته مشخصات ترمینال رو هم حذف کردم که خودت جایگزین کنیش
حالا شما این بخش $_GET["order"] رو اصلاح کن ببینیم چی میشه
یه نکته دیگه وقتی وریفای کنی تراکنش رو همه چیز تموم نمیشه
توی بانک ملت بعد از وریفای باید settle هم کنی تا پول بیاد تو حسابت و اصطلاحا تراکنش کامل بشه
- - - Updated - - -
قصد اسپم نیست
این فایل رو امتحان کن
مشخصات ترمینال رو خودت بزار
ویرایش توسط nasleghermez : August 27th, 2015 در ساعت 23:58
ممنون از پاسخ
اگه چک کنید تو کد خودم درون آدرس کال بک آدرس رو همراه با متغیر order ذخیره کردم و وقتی بر می گرده در سایت میده آدرس رو
کد شما هم کار نمیکرد یعنی پس از بازگشت برمیگشت توی سایت بانک که $_SESSION['order']) رو احتمالا شناسایی نمیکرده
همچنین Session_Start(); نذاشته بودید برای همین خطا میداد وقتی هم که اینو اضافه کردم بازم شد همون اش و همون کاسه
وریفای نمیشد.
یعنی شما و یا دیگر کاربران کد php ای ندارید که کار کنه ؟؟؟؟؟ :O