PDA

View Full Version : آموزش: مشکل در راه اندازی درگاه پرداخت ملی - سداد



Taimaz_222
پنج شنبه 11 مهر 1392, 23:12 عصر
سلام خدمت دوستان.

من در راه اندازی درگاه ملی - سداد مدام با پیغام زیر مواجه میشم.

با اینکه تمامی موارد رو چک کردم اما باز هم خطای زمان و تاریخ سرور رو میده.


111466

مشکل از کجاست بنظرتون ؟

با تشکر.

rezaonline.net
پنج شنبه 11 مهر 1392, 23:34 عصر
خب خودش نوشته دیگه .
چون تایم استمپ ارسال میشه به بانک ، لذا بانک مقدار اختلاف رو چک میکنه و از یه حدی بیشتر یا کمتر باشه این پیغام رو میده (البته حدس میزنم)
اگه از لوکال هاست استفاده میکنی تاریخ سیستمت رو بذار روی 4 اکتبر 2013
ساعت هم که دیگه مشخصه

Taimaz_222
پنج شنبه 11 مهر 1392, 23:38 عصر
بله خودش نوشته ، درسته اما من تا الان چندین timestamp مختلف رو امتحان کردم اما جوابگو نبود متاسفانه .

با سایت زیر هم timestamp رو چک می کنم کاملا درستن .
http://www.epochconverter.com/

نه از لوکال هم استفاده نمی کنم . سایت برروی سرور است.

Unique
جمعه 12 مهر 1392, 15:02 عصر
بدترین درگاهی که تا حالا دیدم همین بانک ملی هستش ! اگه دست خودته پیشنهاد میکنم اصلا استفاده نکنی و بری سراغ ملت یا پارسیان یا سامان (به ترتیب). اما اگه مجبوری یه تماس بگیر با پشتیبانی بگو این ساعت سرور شما روی چه ساعتی هست و اختلافش را با سرور خودت ارسال کن.

rezaonline.net
جمعه 12 مهر 1392, 16:57 عصر
بدترین درگاهی که تا حالا دیدم همین بانک ملی هستش ! اگه دست خودته پیشنهاد میکنم اصلا استفاده نکنی و بری سراغ ملت یا پارسیان یا سامان (به ترتیب). اما اگه مجبوری یه تماس بگیر با پشتیبانی بگو این ساعت سرور شما روی چه ساعتی هست و اختلافش را با سرور خودت ارسال کن.
اتفاقا درگاه سداد بانک ملی بهترین درگاههاست .
اونی که بدترینه دامون هست :)

@استارتر :
شما نمونه کدت رو بذار یه نگاهی بندازم بهش .

Unique
جمعه 12 مهر 1392, 18:11 عصر
اتفاقا درگاه سداد بانک ملی بهترین درگاههاست

دامون که اصلا جای حرف زدن نداره ! اما سداد هم در مقایسه با ملت به نظر من جالب نیست ! شاید مشکل واقعا از پشتیبانی بانک ملی باشه. کلا ندیدم کسی با بانک ملی رضایت داشته باشه.

Taimaz_222
جمعه 12 مهر 1392, 18:22 عصر
اتفاقا زنگ زدم پشتیبانیش میگه ساعت باید همون ساعت روزانه باشه

تا الان ده مدل تست کردم اما نشده واقعا.

rezaonline.net
جمعه 12 مهر 1392, 20:53 عصر
دامون که اصلا جای حرف زدن نداره ! اما سداد هم در مقایسه با ملت به نظر من جالب نیست ! شاید مشکل واقعا از پشتیبانی بانک ملی باشه. کلا ندیدم کسی با بانک ملی رضایت داشته باشه.
والا از نظر معماری و ... کلا بهترین وبسرویس هست .
یه نمونه اش اینکه بعد از برگشت از خرید اگه مشکلی در ارتباط با سایت باشه بعد از 20 دقیقه مبلغ برگشت داده میشه خودکار .
مورد بعدی پیاده سازی بالانس بین درخواستهاست.
کلا در مورد تراکنش ها ملت قبلا مشکل داشت من حتی یه مورد مغایرت هم با بانک ملی نداشتم .


اتفاقا زنگ زدم پشتیبانیش میگه ساعت باید همون ساعت روزانه باشه

تا الان ده مدل تست کردم اما نشده واقعا.
نمونه کد لطفا :)

ali2k5
جمعه 12 مهر 1392, 23:20 عصر
نیازی به فرستادن تایم استمپ نیست میتونید PaymentUtility را صدا بزنید و نتیجه اش رو برای ورود به درگاه بانک استفاده کنید

Taimaz_222
شنبه 13 مهر 1392, 00:52 صبح
این هم یه نمونه کد ساده که منم بیشتر از این استفاده می کنم :




<?php
echo $timestamp = strtotime("now");
?>

<html>
<h3>پرداخت آنلاین وجه </h3>
<form id='form1' action='https://epayment3.bmi.ir/epayment/paymentform.aspx' method='POST'>

<input type='hidden' name='CardAcqID' value='***' />
<input type='hidden' name='AmountTrans' value='1000' />
<input type='hidden' name='ORDERID' value='12745' />
<input type='hidden' name='TerminalID' value='***' />

<input type='hidden' name='FP' value='24-68-6C-13-6B-20-71-24-24-DD-62-48-4E-B3-77-09' />
<input type='text' name='TimeStamp' value='<?php echo $timestamp; ?>' />
<input type='hidden' name='RequestKey' value='6655335898' />


<input type='hidden' name='RedirectURL' value='http://farshenader.com/index.php?r=Pay' />


<input type='hidden' name='Version' value='3.22' />
<input type="submit" value="send">

</form>
</html>

Taimaz_222
شنبه 13 مهر 1392, 00:53 صبح
نیازی به فرستادن تایم استمپ نیست میتونید PaymentUtility را صدا بزنید و نتیجه اش رو برای ورود به درگاه بانک استفاده کنید

چطور باید انجام شه؟

imanitc
شنبه 13 مهر 1392, 07:03 صبح
دوست عزيز من درگاه سداد را کامل راه اندازي کردم تايم استمپ رو خود بانک هنگام صدا زدن يا ارسال کد به بانک به شما ميده


private function GetTimestamp()
{
require_once('libs/nusoap.php');
$soapclient = new soapclient('https://bmiutility3.bmi.ir/merchantutility.asmx?WSDL');
$Timestamp=$soapclient->CalcTimeStamp();
$this->Timestamp =$Timestamp;
return $Timestamp;
}

Taimaz_222
شنبه 13 مهر 1392, 08:34 صبح
اونوقت دیگه نیازی به تولید fp نیست ؟؟؟

imanitc
شنبه 13 مهر 1392, 13:02 عصر
چرا بايد fp رو با اين timestamp که از خود بانک ميگيري بسازي .اگر خواستي تابع اونم برات بذارم البته اين توابع کاستومايز خودم و کاملا از روي فايل هاي دات نت بانک ساختم

Taimaz_222
شنبه 13 مهر 1392, 13:32 عصر
اگه بزاری که ممنون میشم

imanitc
یک شنبه 14 مهر 1392, 06:44 صبح
ببين اين تابع من خودم براي کار خودم نوشتم خودت بايد تغييراتي توش بدي


public function CalcFpOrder()
{
$this->Timestamp = $this->GetTimestamp();
$TextInput=$this->CardAcqID.$this->OrderId.$this->AmontTrans.$this->TransactionKey.$this->Timestamp;
$passHash = strtoupper(md5($TextInput));
$strlen = strlen($passHash) ;
$i = 0 ;
while ($i < $strlen) {
$Fp.= substr($passHash, $i, 2)."-" ;
$i = $i + 2 ;
}
$Fp=substr($Fp, 0, -1) ;
$this->Fp = $Fp;
return $Fp ;
}

onlyou
پنج شنبه 25 مهر 1392, 21:59 عصر
با سلام

اقا اگر می تونید لطف کنید یه نمونه کد تو انجمن لود کنید ببینیم اصلا این درگاه ما اتصال برقرار می کنه با سرور بانک یا نه

من از php sample خود سداد استفاده کردم جواب نگرفتم .

لطفا اقایون مهندسا راهنمایی بفرمایید

rezaonline.net
جمعه 26 مهر 1392, 17:13 عصر
برای تست از هاست های روی سرور افرانت استفاده کنید .
سایر سرورها یا خیلی کند وصل میشوند یا اصلا وصل نمیشوند.
حتی لوکال هاست هم درست کار نمیکنه