PDA

View Full Version : مشکلاتی در رابطه با PayerId، شماره تراکنش



bftarane
دوشنبه 09 تیر 1393, 14:49 عصر
سلام.
من فعلاً به درگاه بانک ملت وصل شدم و بعد از پرداخت به صفحه مورد نظرم هم بر می گرده ولی با مشکل زیر مواجه شدم:
1- در مستنداتی که بانک ملت داده، در جدول 1 گزینه ای به اسم payerId وجود داره
در سمپلی که دارم تست می کنم اگه این payerId چیزی غیر از صفر باشه خطا می ده ولی وقتی 0 قرار میدم مقدارش رو به درگاه بانک متصل می شم.
دلیل این چیه؟ مگه منظور از payerId شماره شناسایی یکتایی نیست که به اعضای سایتمون می دیم؟






2- دیدید مثلاً شارژ ایرانسل می گیریم آخرش یه شماره بهمون نشون می ده؟
می خواستم بدونم آیا این شماره همون

Request.Params["RefId"];

هست که در صفحه برگشت بانک بهمون میده؟ و آیا این همون شماره تراکنش هست که باید به کاربر نشون بدیم و در جدول تراکنش ها برای متمایز کردن تراکنشها ذخیره کنیم؟




3- و اینکه در پارامترهای برگشتی یک گزینه SaleReferenceId هست که در توضیحش گفته : كد مرجع تراكنش خريد كه از سايت بانك به پذيرنده داده مي شود


از این گزینه چه استفاده ای میشه؟


در کل من یه سایت دارم طراحی می کنم که قراره آگهی های رایگان و پولی در اون به نمایش گذاشته بشه.
حالا برای اینکه به ادمین یه اطلاعات دقیق از تراکنش ها بدم چه پارامترهای بازگشتی رو باید بگیرم در صفحه Callback.aspx?
مثلاً تاریخ و ساعت دقیق پرداخت و همچنین مبلغ پرداخت شده رو چطور می تونم بگیرم؟ (چون ممکنه مبلغ رو کاربر در کوئری استرینگ دستکاری کرده باشه)

لطفاً راهنمایی کنید.

Muhammad-Ali
سه شنبه 10 تیر 1393, 02:25 صبح
بنده هم مایلم بدانم. در مورد payerId این نکات در داکیومنت آمده:


نكته: پذيرندگاني كه در حساب خود نزد بانك ملت، درخواست كد شناسه پرداخت داشته اند، درصورت
اين فيلد به دارنده كارت در صفحه پرداخت ،bpPayRequest ارسال كد شناسه پرداخت كننده از طريق متد
نمايش داده نخواهد شد، در غير اين صورت دارنده كارت بايد كد شناسه پرداخت كننده معتبر وارد نمايد.
نكته: در صورتي كه پذيرنده در حساب خود، امكان دريافت كد شناسه پرداخت را فعال كرده باشد، ورود
اطلاعات كد شناسه پرداخت بايد براساس الگوريتم خاص توسط پذيرنده يا دارنده صورت پذيرد.

bftarane
سه شنبه 10 تیر 1393, 08:49 صبح
من هم این قسمت رو خونده بودم و ابهام داشتم در این قسمت، ولی حالا دارم فکر می کنم احتمالاً این PayerId الزامی نباشه و همون صفر پاسش بدیم. کسانی که با درگاه کار کردن لطفاً راهنمایی کنن.

bftarane
سه شنبه 10 تیر 1393, 10:40 صبح
جواب PayerId رو در لینک زیر پیدا کردم
http://www.php-jquery.ir/12788/
لطفاً در مورد بقیه سوالات راهنمایی کنید.
چون سوالات مربوط به یک مسئله بودن در یک تاپیک پرسیدم اگه لازمه اطلاع بدید تا جدا کنم سوالات رو.

Muhammad-Ali
سه شنبه 10 تیر 1393, 17:54 عصر
نقل و قول مفید:

payerId در حالات خاصی استفاده میشه.اونم وقتی هیت که شما تعداد خاصی خریدار رو به بانک معرفی میکنید و بانک به هر کدوم یه ایدی میده که شما موقع پرداخت اونو ارسال میکنید که مشخص میکنی این پرداخت برای فلان ایدی هست.در حالت عادی که شما درخواست معمولی میدی باید صفر قرار بدی.
شناسه پیگیری هم بعد از بازگشت از بانک به صورت post به شما ارسال میشه توی ایندکس SaleReferenceId.

منبع (http://www.php-jquery.ir/12788/%D8%B3%D9%88%D8%A7%D9%84-%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87-%D8%AF%D8%B1%DA%AF%D8%A7%D9%87-%D9%BE%D8%B1%D8%AF%D8%A7%D8%AE%D8%AA-%D8%A8%D8%A7%D9%86%DA%A9-%D9%85%D9%84%D8%AA?show=12805#c12805)

Muhammad-Ali
چهارشنبه 11 تیر 1393, 01:51 صبح
2- دیدید مثلاً شارژ ایرانسل می گیریم آخرش یه شماره بهمون نشون می ده؟
می خواستم بدونم آیا این شماره همون




Request.Params["RefId"];


شماره رهگیری ای که سایت ها میدن برای بانک ملت SaleReferenceId هستش که موقع برگشت به callBackUrl توی $_POST ست میشه و همون شماره تراکنش هستش. جواب شماره 3 هم که همینی هست که گفتم.

Muhammad-Ali
چهارشنبه 11 تیر 1393, 09:57 صبح
طی تماسی که با شرکت به پرداخت گرفته شد:
از پارامترهای برگشتی به سایت پذیرنده saleOrderId حرف اولش تو داکیومنت با حروف کوچک نوشته شده، مثل اینکه باید با حروف بزرگ باشه یعنی SaleOrderId.
در متد bpVerifyRequest پارامتر ورودی orderId می بایست همین مقدار SaleOrderId قرار بگیره که از طریق $_Post به سایت پذیرنده ارسال میشه و نباید مقدار جدیدی تولید بشه، درسته به نظرتان؟
مقدار برگشتی متد bpVerifyRequest هم یک رشته یک قسمتی است که شامل کد پاسخ هستش. در آموزش هایی به عنوان آرایه در نظر گرفتند که دلیلش چی باشه ؟!!!

Muhammad-Ali
چهارشنبه 11 تیر 1393, 10:03 صبح
در مورد طول orderID و کلا نوع های long به پرداخت تماس گرفتم آگاهی کامل نداشتند که چند رقم هستش. اما آخرش توصیه کرد 12 رقمی باشه. نظر شما چیه؟ 14 رقم مشکلی پیش میاد؟

bftarane
چهارشنبه 11 تیر 1393, 10:39 صبح
راستش من اصلاً فکر نمی کردم طولش مهم باشه طبق لینک زیر long رنج وسیعی داره
http://msdn.microsoft.com/en-us/library/ctetwysk%28VS.71%29.aspx
حالا من خودم سوالات دیگه ای در مورد این OrderId دارم که در تاپیک زیر پرسیدم
http://barnamenevis.org/showthread.php?458716



در متد bpVerifyRequest پارامتر ورودی orderId می بایست همین مقدار SaleOrderId قرار بگیره که از طریق $_Post به سایت پذیرنده ارسال میشه و

نباید مقدار جدیدی تولید بشه

، درسته به نظرتان؟

بله به نظرم این درسته که ابتدا که می خواهیم به درگاه وصل بشیم یه
orderId تولید باید بشه و در تمام مراحل از همون orderId استفاده بشه و طبق چیزی که من متوجه شدم orderId و SaleOrderId یکی هستند.