-
مشکل: درگاه بانک ملت با nusoap و دریافت خطا
سلام،
من برای اولین بار درگاه بانکی (الآن ملت) رو نوشتم. از soap و nusoap هم استفاده نکرده بودم پیش از این. موقع اجرا خطای زیر رو دریافت میکنم.
نقل قول:
Function ("getError") is not a valid method for this service
حتی با کامنت کردن اون خط، به خطهای دیگه گیر میده و مشابه خطای بالا رو میده. من خطوط مرتبط رو براتون میذارم ممنون بررسی کنید. سپاسگذارم.
$client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
$namespace = 'http://interfaces.core.sw.bps.com/';
if ($err = $client->getError()) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
exit;
}
if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
exit;
}
elseif($client->getError()){
echo '<h2>Error</h2><pre>' . $err . '</pre>';
exit;
}
else {
return $client->call('bpPayRequest',$parameters,$namespace);
}
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
جست و جو کنی پیدا می کنی !
اما معمولا این مشکل به خاطر عدم نصب soap client روی سرور هست !
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
نقل قول:
نوشته شده توسط
ak1_2004
جست و جو کنی پیدا می کنی !
اما معمولا این مشکل به خاطر عدم نصب soap client روی سرور هست !
ممنونم. من قبل از اینکه این تاپیک رو بزنم بسیار جستجو کردم اما به نتیجهی مطلوبی نرسیدم. پس نظر شما اینه که soalclient نصب نیست. من اینکلود کردم فایلش رو (همونی که توی فایل نمونه که بانک داده اینکلود شده، nusoap.php)
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
اگه nusoap رو include کردین، کلاینت رو بصورت زیر بسازین:
$client = new NuSOAP_Client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl', 'wsdl');
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
نقل قول:
نوشته شده توسط
MMSHFE
اگه nusoap رو include کردین، کلاینت رو بصورت زیر بسازین:
$client = new NuSOAP_Client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl', 'wsdl');
بله مشکل برطرف شد. ممنونم ازتون. فقط یه مشکلی هست، خروجی رو که از call میگیرم به صورت زیر هست. ممکنه از چی باشه؟ ممنون میشم در این مورد هم کمکم کنید.
نقل قول:
Array
(
[faultcode] => soap:Client
[faultstring] => Unexpected wrapper element bpPayRequest found. Expected {http://interfaces.core.sw.bps.com/}bpPayRequest.
)
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
کد کاملتون رو بگذارین تا ببینیم مشکل چیه
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
نقل قول:
نوشته شده توسط
MMSHFE
کد کاملتون رو بگذارین تا ببینیم مشکل چیه
سپاسگذارم.
$parameters = array(
'terminalId'=>'terminal_id', #terminal id ke az bank daryaft kardid
'userName' => 'username', #username ke az band daryaft kardid
'userPassword' => 'password', #password ke az bank daryaft kardid
'orderId' => rand(),
'amount' => $amount,
'localDate' => date('Ymd'),
'localTime' => date('H:i:s'),
'additionalData' => '',
'callBackUrl' => 'http://'.$_SERVER['SERVER_NAME'].'users/member/payment/pay/callback/id:'.$this->Auth->user('id'),
'payerId' => '0'
);
//$client = new soapclient('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
$client = new NuSOAP_Client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl', 'wsdl');
$namespace = 'http://interfaces.core.sw.bps.com/';
if ($err = $client->getError()) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
exit;
}
if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
exit;
}
elseif($client->getError()){
echo '<h2>Error</h2><pre>' . $err . '</pre>';
exit;
}
else {
return $client->call('bpPayRequest',$parameters,$namespace);
}
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
ظاهراً کدتون نباید مشکلی داشته باشه و مشکل توی وب سرویسه. اما با اینحال این کد رو تست کنید:
$parameters = array(
'terminalId' => 'terminal_id', #terminal id ke az bank daryaft kardid
'userName' => 'username', #username ke az band daryaft kardid
'userPassword' => 'password', #password ke az bank daryaft kardid
'orderId' => rand(),
'amount' => $amount,
'localDate' => date('Ymd'),
'localTime' => date('H:i:s'),
'additionalData' => '',
'callBackUrl' => 'http://'.$_SERVER['SERVER_NAME'].'users/member/payment/pay/callback/id:' . $this->Auth->user('id'),
'payerId' => '0'
);
$client = new NuSOAP_Client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl', 'wsdl');
$namespace = 'http://interfaces.core.sw.bps.com/';
if ($err = $client->getError()) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
exit;
}
elseif ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
exit;
}
else {
return($client->call('bpPayRequest', $parameters, $namespace));
}
اگه جواب نداد، خط آخر بجای return از var_dump استفاده کنید ببینیم چی چاپ میشه.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
این متد رکوئستی که من برای میهن پال استفاده میکنم ، یه کمی تغییرش بده امیداوارم کارت رو راه بندازه
public function request($price = NULL , $order_id = NULL , $callback = NULL)
{
$parameters = array(
'terminalId' => self::terminalID ,
'userName' => self::username ,
'userPassword' => self::password ,
'orderId' => $order_id+5400 ,
'amount' => $price * 10 ,
'localDate' => date("Ymd") ,
'localTime' => date("His") ,
'additionalData' => '' ,
'callBackUrl' => $callback ,
'payerId' => '0' ,
);
$client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
$err = $client->getError();
if($err)
return -6;;
$result = $client->call('bpPayRequest', $parameters, 'http://interfaces.core.sw.bps.com/');
//print_r($result);
$res = explode (',', $result);
if( ! isset($res[0]) or $res[0] != "0" or ! isset($res[1]))
return -6;
else
{
return strip_tags($res[1]);
}
return -6;
}
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
نقل قول:
اگه جواب نداد، خط آخر بجای return از var_dump استفاده کنید ببینیم چی چاپ میشه.
متاسفانه جواب نداد و این خروجی همونطور که خواسته بودید.
نقل قول:
array(2) {
["faultcode"]=>
string(11) "soap:Client"
["faultstring"]=>
string(107) "Unexpected wrapper element bpPayRequest found. Expected {http://interfaces.core.sw.bps.com/}bpPayRequest."
}
متاسفانه پارامتر دوم رو برای کلاس soap_client میفرستم خطای بالا رو میده. وقتی پارامتر دوم رو حذف کنم عمل میکنه و خروجی هم میگیرم همونطور که باید باشه ولی مسئله اینجاست اصلا به سایت بانک مراجعه نمیکنه و _POST به صفحهی من ارسال نمیشه که به متغیر SaleReferenceId خطا میگیره و میگه وجود نداره. بنظر شما چرا به صفحهی پرداخت هدایت نمیکنه؟ سپاسگذارم.
rezaonline.net جان کدهای تقریبا این قسمتش مشابه هست. فقط تابع اولی که نوشته بودم (توی مثالهای خود بانک بود) جواب نمیداد. از کد شما فهمیدم که تاریخ local اشتباست و اصلاحش کردم. دستت درد نکنه
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
متد برگشت هم برات مینویسم امیدوارم به دردت بخوره .
public function verify($price = NULL ,$order_id = NULL , $au = NULL)
{
//print_r($_POST);
$RefId = @$_POST['RefId']; // notNeed
$ResCode = @$_POST['ResCode'];
$SaleOrderId = (int) @$_POST['SaleOrderId'];
$SaleReferenceId = @$_POST['SaleReferenceId'];
//Logs::model()->add('SaleReferenceId',$SaleReferenceId .'-'.$RefId);
$this->SaleReferenceId = $SaleReferenceId;
/**/
//check
if($SaleOrderId != $order_id+5400 or $RefId!=$au or ! isset($_POST['ResCode']))
{
Logs::model()->add('برگشت بانک ملت','خطا : ورودی نامعتبر است !');
return false;
}
if($ResCode !=0)
{
return false;
#Logs::model()->add('برگشت بانک ملت','خطا : پرداخت انجام نشد .');
}
$client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
$err = $client->getError();
if ($err)
{
Logs::model()->add('برگشت بانک ملت',"_خطا : " . strip_tags($err) );
return false;
}
$parameters = array(
'terminalId' => self::terminalID ,
'userName' => self::username ,
'userPassword' => self::password ,
'orderId' => $SaleOrderId ,
'saleOrderId' => $SaleOrderId ,
'saleReferenceId' => $SaleReferenceId
);
// Call the SOAP method
unset($result);
$result = $client->call('bpVerifyRequest', $parameters,'http://interfaces.core.sw.bps.com/');
// Check for a fault
//if ($client->fault)
//Logs::model()->add('برگشت بانک ملت','_خطا در اتصال به بانک .');
$err = $client->getError();
if ($err)
{
Logs::model()->add('برگشت بانک ملت',"__خطا : " . strip_tags($err) );
return false;
}
if(isset($result) and $result==0)
{
//settel
unset($result);
$result = $client->call('bpSettleRequest', $parameters,'http://interfaces.core.sw.bps.com/');
if ($client->fault)
{
Logs::model()->add('برگشت بانک ملت','خطا در اتصال به بانک .');
return false;
}
$err = $client->getError();
if ($err)
{
Logs::model()->add('برگشت بانک ملت',"خطا : " . strip_tags($err) );
return false;
}
if(isset($result) and $result==0)
{
return true;
}
}
return false;
}
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
نقل قول:
متد برگشت هم برات مینویسم امیدوارم به دردت بخوره .
حتما حتما بکارم میاد. دستت درد نکنه. من هر دو نمونهای که بهم دادی رو نگه میدارم. ممنونم ازت. ولی فعلا توی همون رفتش هم من مشکل دارم؛ ایشاالله با کمک شما دوستان بتونم حلش کنم.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
دوستان کسی اطلاعی از راه حل مشکلی که گفتم داره؟ ممنون میشم بهم کمک کنید
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
اول اینکه توی nu_soap پارامتر دوم رو ست نکن ، طبق چیزی که نوشتم (اینی که نوشتم الان کار میکنه روی میهن پال) .
مساله دوم order_id باید یکتا فرستاده بشه به بانک ، یا مثل من حساب کن یا از time() استفاده کن .
حالا متد bpPayRequest رو درخواست کن و نتیجه شو بذار اینجا .
باید دو قسمتی باشه ، که قسمت اولش صفر میشه اگر صحیح باشه .
اگر اینجا مشکل داشتی حتما از هاست ایران استفاده کن برای اتصال .
آی پی رو به بانک اعلام کردی ؟
کدهایی رو هم که نوشتی بذار اینجا بررسی کنیم .
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
چقدر داغونه؛ من از آخرین نسخهی PHP استفاده میکنم. قبل از این، اون کد دو قسمتی رو بدست میاوردم ولی به صفحهی پرداخت نمیرفت! بعد حالا نمیدونم چی شده وقتی از محتویات /lib در پوشهی نمونهی خود بانک هست استفاده میکنم خطای زیر رو میده:
نقل قول:
Warning (2): Creating default object from empty value
تصمیم گرفتم آخرین نسخهی nusoap رو نصب کنم که خطا برطرف شد اما حالا خروجی درخواست، false هست.
بابت اطلاعات هم ممنونم. اون order_id رو اصلاح کردم. ممنونم ازت.
$parameters = array(
'terminalId'=>'terminal_id', #terminal id ke az bank daryaft kardid
'userName' => 'username', #username ke az band daryaft kardid
'userPassword' => 'password', #password ke az bank daryaft kardid
'orderId' => time(),
'amount' => $amount,
'localDate' => date('Ymd'),
'localTime' => date('His'),
'additionalData' => '',
'callBackUrl' => 'http://'.$_SERVER['SERVER_NAME'].'/users/member/payment/pay/callback/id:'.$this->Auth->user('id'),
'payerId' => '0'
);
$client = new nusoap_client('https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
$namespace = 'http://interfaces.core.sw.bps.com/';
if ($err = $client->getError()) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
exit;
}
if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
exit;
}
elseif($client->getError()){
echo '<h2>Error</h2><pre>' . $err . '</pre>';
exit;
}
else {
return $client->call('bpPayRequest',$parameters,$namespace);
}
نقل قول:
آی پی رو به بانک اعلام کردی ؟
من فقط برنامهنویس پروژهای هستم و اطلاعی از اینها ندارم. اما میپرسم بهتون اطلاع میدم.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
الان این هیچ مشکلی نداره .
ترمینال و یوزر نیم و پسورد رو درست بزنی حله .
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
درسته، احتمالا مشکل اینجا بود که من روی لوکال سعی میکردم جواب بگیرم. روی سرور درست عمل میکنه و خروجی همون کد دو بخشی هست. حالا بذارید یه تست کامل کنم نتیجهشو بهتون اعلام میکنم. بسیار بسیار بسیار ممنونم :قلب:
رضا جان خدا رو شکر وصل میشه به درگاه اما وقتی وصل شد توی خود صفحهی اول درگاه خطای زیر رو میده. بنظر شما مشکل از کدوم پارامترهاست؟
نقل قول:
متاسفانه، اطلاعات ارسال شده نامعتبر است و شما مجاز به انجام تراكنش نمي باشيد
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
باید اون refID رو با متد post بفرستی .
اون قسمت کدی که میفرستیش به بانک بذار اینجا .
-
1 ضمیمه
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
دوستان من خودم براي بانک ملت از اين کدها استفاده کردم خيلي راحت خوب بود. شما هم استفاده کنيد
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
دوستان خوبم، از همتون سپاسگذارم. اون خطا رو بانک همینطوری میده. گاهی درست میشه و گاهی این خطا رو میده. (دلیلش رو نمیدونم!) . بهرحال از همتون ممنونم.
فقط یک سوالی دارم، من مبلغی که کاربر واریز میکنه رو بخوام دریافت کنم در callback چطوری دریافت کنم؟ این الآن آخرین مشکلیه که دارم. ممنونم
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
نقل قول:
دوستان من خودم براي بانک ملت از اين کدها استفاده کردم خيلي راحت خوب بود. شما هم استفاده کنيد
عزیزم اطلاعات درگاه رو از توی فایل بردار. برای ایمنی درگاهت میگم
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
نقل قول:
نوشته شده توسط
Cyletech
دوستان خوبم، از همتون سپاسگذارم. اون خطا رو بانک همینطوری میده. گاهی درست میشه و گاهی این خطا رو میده. (دلیلش رو نمیدونم!) . بهرحال از همتون ممنونم.
فقط یک سوالی دارم، من مبلغی که کاربر واریز میکنه رو بخوام دریافت کنم در callback چطوری دریافت کنم؟ این الآن آخرین مشکلیه که دارم. ممنونم
شما معمولاً باید موقع سفارش اطلاعات خرید رو (مبلغ و شماره ref و... که تولید کردین) توی دیتابیس در یک جدول ذخیره کنید و وقتی خرید OK شد، شماره ref که بانک میده رو توی جدول جستجو کنید و مبلغ رو پیدا و Verify کنید.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
آقایون من از همهتون کمال تشکر رو دارم. به لطف همهی شما تونستم درگاه رو درست بنویسم و همهچی درست هست. خیلی خیلی ممنونم از همهتون
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
ببخشید دوستان، همیشه این اتفاق میوفته؟! که یه شب درگاه درست باز بشه و پرداخت انجام بشه و شب بعد اصلا call مقدار برگشتیش FALSE هست! آیا این درسته؟ گاهی هم که صفحه درگاه باز میشد و میگفت ورودیها اشتباهه. 15 دقیقه بعد درست میشد. اینها طبیعیه؟ من دیشب کد رو امتحان کردم و درست بود. اما حالا خود nusoap هم اررور میده، خطای زیر:
نقل قول:
Notice (8): Undefined index: [APP/Vendor/nusoap/nusoap.php, line 6636]
و ورودی هم که از call میگیرم FALSE هست.
ممنون میشم باز مثل همیشه در این رابطه هم کمکم کنید. من واقعا گیج شدم.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
بانک ملت از دیشب قطع شده و قطعی تا کنون ادامه داره .
امیدوارم فردا درست کنند .
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
با سلام به همه دوستان
من تازه کد های sample رو از بانک دریافت کردم از مراحلی قبلی که بیان کردین هم استفاده کردم تا به این خطا رسیدم
لطفا راهنمایی کنید، من از sample code خود بانک دارم استفاده میکنم.
$parameters = array(
'terminalId' => $terminalId,
'userName' => $userName,
'userPassword' => $userPassword,
'orderId' => $orderId,
'amount' => $amount,
'localDate' => $localDate,
'localTime' => $localTime,
'additionalData' => $additionalData,
'callBackUrl' => $callBackUrl,
'payerId' => $payerId);
// Call the SOAP method
$result = $client->call('bpPayRequest', $parameters, $namespace);
// Check for a fault
if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
die();
}
else {
// Check for errors
$resultStr = $result;
$err = $client->getError();
if ($err) {
// Display the error
echo '<h2>Error</h2><pre>' . $err . '</pre>';
die();
}
else {
// Display the result
$res = explode (',',$resultStr);
echo "<script>alert('Pay Response is : " . $resultStr . "');</script>";
echo "Pay Response is : " . $resultStr;
$ResCode = $res[0];
خطایی که به من میده اینه :
Fault
Array ( [faultcode] => soap:Client [faultstring] => Unexpected wrapper element bpPayRequest found. Expected {http://interfaces.core.sw.bps.com/}bpPayRequest. )
-
1 ضمیمه
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
دوستان من یه مشکلی دارم که واقعا بدون کمک شما نمیتونم حلش کنم. کاربر به صفحهی درگاه متصل میشه و تراکنش انجام میشه و برمیگرده و من نوشتم که بگه باموفقیت انجام شد اونم نشون میده ولی پولی که درخواست کرده بود به حساب ما نمیاد و برمیگرده به حساب کاربر. به عبارتی تراکنش به درستی انجام نمیشه. من براتون هرچیزی که نوشتم رو ضمیمه کردم. خیلی خیلی ممنون میشم بهش نگاه کنید و ایراداتش رو بواسطه تجربیاتتون بهم بگین تا درست کنم. خیلی سپاسگذارم. خیلی. :قلب:
اون فایل جاوا اسکریپت هم درسته و سر جاش گذاشتم ولی توی فایلهای ضمیمه نگذاشتم دیگه.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
سلام
این که قبل از تراکنش مبلغ رو در دیتابیس ذخیره کنیم و بعد از پرداخت از همون استفاده کنیم فکر می کنم ممکنه مشکل امنیتی ایجاد بکنه
راهی نیست که مبلغ رو مستقیم از خود بانک بگیریم یا حداقل چک کنیم که شماره تراکنش و مبلغ با هم می خونه یا نه (توی کال بک )
دوستانی که با تجربه هستن نظرشون رو بگن لطفا در این مورد
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
نه ببینید شما موقع فروش یک کد منحصربفرد تحت عنوان Reference Number تولید میکنید و به بانک میدین و همون رو باید توی دیتابیس همراه با مبلغ و... ذخیره کنید و بانک در جواب تراکنش به شما Reference Number و Result Number رو میده (refNum و resNum) که اولی برای اینه که بدونید جوابی که اومده مال کدوم تراکنش توی سایت شماست و دومی نتیجه است که فکر میکنم ملت به refNum میگه orderId و به resNum میگه ResCode که این تفاوت در اسامی زیاد مهم نیست. حالا اگه تابع خاصی رو توی وب سرویس بانک تحت عنوان Settlement (فکر کنم واسه ملت اسمش bpSettleRequest بود) صدا نزنید، خرید شما قطعی نمیشه و برگشت میخوره. پس برای بانک ملت سه مرحله کار لازمه:
1- درخواست خرید با bpPayRequest
2- بررسی صحت خرید با bpVerifyRequest
3- تأیید و قطعی سازی خرید با bpSettleRequest
البته ملت متدهای دیگری هم اضافه کرده مثل bpInquiryRequest که استعلام وجه رو انجام میده و bpReversalRequest که درخواست برگشت وجه رو میفرسته (مثلاً اگه خرید انجام شد ولی دیدین کالای موردنظر تو انبار تمام شده و خواستین پول مشتری رو برگردونید).
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
نقل قول:
نوشته شده توسط
aliphp1
این که قبل از تراکنش مبلغ رو در دیتابیس ذخیره کنیم و بعد از پرداخت از همون استفاده کنیم فکر می کنم ممکنه مشکل امنیتی ایجاد بکنه
چه مشکل امنیتی؟ سیستم چک کردن مبلغ اینطوریه که شما مبلغ و شماره تراکنش رو به بانک اعلام میکنید و بهتون میگه که تراکنش با همون مبلغ انجام شده یا نه.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
ببخشید دوستان، یک مشکلی برام پیش اومده؛ شرط زیر وقتی به صفحهی callback میاد اجرا نمیشه. دلیلش چی میتونه باشه؟ ممنونم ازتون.
if (isset($_POST['saleReferenceId']) && !empty($_POST['saleReferenceId']))
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
saleReferenceId نه SaleReferenceId
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
<?php
// vaghti ke hanooz submit nakarde
if (!empty($this->request->data) && !isset($this->request->params['pass'][2]))
{
$resRef = $this->Mellat->request($this->request->data['quantity']);
if (!isset($resRef[1]))
{
$this->Session->setFlash(__d('member', 'mellat_has_problem') , 'Info');
return FALSE;
}
$this->Payment->save(array(
'user_id' => $this->Auth->user('id') ,
'time' => time() ,
'amount' => $this->request->data['quantity'],
'ref_id' => $resRef[1]
));
$this->set('refId', $resRef[1]);
}
// bad az inke submit kard o raft o bargasht be safheye callback
if (isset($this->request->params['pass'][2]) && $this->request->params['pass'][2] == 'callback')
{
if (isset($_POST['SaleReferenceId']) && !empty($_POST['SaleReferenceId']))
{
if ($this->Payment->find('count', array(
'conditions' => array(
'ref_id' => $_POST['RefId'],
'user_id' => $this->Auth->user('id')
)
)) > 0)
{
$this->set('callback', $_POST['SaleReferenceId']);
$pool = $this->Payment->find('first', array(
'conditions' => array(
'user_id' => $this->Auth->user('id') ,
'ref_id' => $_POST['RefId']
) ,
'fields' => 'amount'
));
$this->Payment->updateAll(array(
'sale_order_id' => $_POST['SaleOrderId'],
'sale_reference_id' => $_POST['SaleReferenceId']
) , array(
'ref_id' => $_POST['RefId'],
'user_id' => $this->Auth->user('id')
));
$amount = $pool['payments']['amount'] / 10; //vase toman kardanesh
ClassRegistry::init('members')->updateAll(array(
'credit' => "(`credit`+{$amount})"
) , array(
'id' => $this->Auth->user('id')
));
}
if ($this->Mellat->verify($_POST['SaleOrderId'], $_POST['SaleReferenceId']))
{
$this->Payment->updateAll(array(
'verified' => "'Y'",
'sale_reference_id' => $_POST['SaleReferenceId']
) , array(
'ref_id' => $_POST['RefId']
));
}
}
if (isset($_POST['ResCode']))
if (isset($_POST['ResCode']))
{
if ($_POST['ResCode'] == '0') $element = 'Errors';
else $element = 'Successes';
$this->Session->setFlash($this->Mellat->get_error($_POST['ResCode']) , $element);
}
}
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
خیلی خوشحال هستم که دیدم یکی بلاخره راجع به بانک ملت حرف زده
اقا من هیچ نمونه کدی نداشتم و چشم بسته کدمو ساختم در اصل
یه مشکل دارم تو برگشت
$_POST['SaleReferenceId']
خالی هست و همچین چیزی دریاف میکنم در کلیه POST ها
Array ( [RefId] => 26953931B1BE983C [ResCode] => 17 [SaleOrderId] => 571211 [SaleReferenceId] => [CardHolderInfo] => ) 1
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
داداش اسکریپتت کار نکرد
میشه راهنمایی کنی؟
ممنونم
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
نقل قول:
نوشته شده توسط
Cyletech
دوستان من یه مشکلی دارم که واقعا بدون کمک شما نمیتونم حلش کنم. کاربر به صفحهی درگاه متصل میشه و تراکنش انجام میشه و برمیگرده و من نوشتم که بگه باموفقیت انجام شد اونم نشون میده ولی پولی که درخواست کرده بود به حساب ما نمیاد و برمیگرده به حساب کاربر. به عبارتی تراکنش به درستی انجام نمیشه. من براتون هرچیزی که نوشتم رو ضمیمه کردم. خیلی خیلی ممنون میشم بهش نگاه کنید و ایراداتش رو بواسطه تجربیاتتون بهم بگین تا درست کنم. خیلی سپاسگذارم. خیلی. :قلب:
اون فایل جاوا اسکریپت هم درسته و سر جاش گذاشتم ولی توی فایلهای ضمیمه نگذاشتم دیگه.
ببینید باید از سمت سایت فروشنده یه کد به بانک ارسال بشه که بانک متوجه بشه محصول برای کاربر نمایش داده شده وگرنه بین 10 دقیقه تا 72 ساعت مبلغ برمیگرده به حساب خریدار...
نمونه تست برای درگاه هایی که درست کار میکنند وقتی خرید از سایت انجام شد و قبل از برگشت از بانک به سایت سرور رو ریستر کنید تا سیاتتون بالا نیاد میبینید مبلغ برگشت میخوره با اینکه موفقیت امیز بوده
پس باید یک کد مجدد ارسال بشه
-
کلاس PHP درگاه پرداخت بانک ملت
دوستان سلام؛
با استفاده از راهنمایی های عزیزان و استادان گرامی، موفق به نوشتن یک کلاس برای درگاه پرداخت بانک ملت شدم که خودتون میتونید بسته به کار خودتون شخصی سازی کنید.
سعی کردم در متن کدها، راهنمایی و کامنت های لازم را هم بگذارم. (SELF COMMENTED)
به امید اینکه مثمر ثمر واقع شود.
لینک دانلود :
http://s2.picofile.com/file/78423777...ample.rar.html
اگر مشکلی داشتید، در خدمت هستم.
-
نقل قول: کلاس PHP درگاه پرداخت بانک ملت
سلام بر دوستان کارشناس طاعات و عبادات قبول درگاه حق،
من برنامه نویس نیستم اما در این زمینه مطالعه میکنم پزشک هستم و مشکلی برای سایت موسسه حیریه ای که مدیریت میکنم پیش آمده ، سعی میکنم مشکلات سایت را خودم رفع کنم ، خیلی گشتم تا به این تایپیک رسیدم که واقعا زحمت میکشید و مشورت میدهید، مشکل اینه که چند روزه که درگاه سایت ما به بانک ملت متصل نمیشه و این خطا رو میده:
Warning: include(nusoap/nusoap.php) [function.include]: failed to open stream: No such file or directory in /home/asayes/public_html/payment/Mellat.php on line 20
Warning: include(nusoap/nusoap.php) [function.include]: failed to open stream: No such file or directory in /home/asayes/public_html/payment/Mellat.php on line 20
Warning: include() [function.include]: Failed opening 'nusoap/nusoap.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/asayes/public_html/payment/Mellat.php on line 20
Fatal error: Class 'soapclient' not found in /home/asayes/public_html/payment/Mellat.php on line 24
نمیدونم ربطی داره یا نه ولی این مشکل تقریبا بعد از ابن رخ داد که برای بهتر شدن وضعیت سئوی سایت پیوند یکتای سایت رو از id به عنوان مطلب تغییر دادم اما حالا اگر به حالت قبل هم برگردونم حل نمیشه
ممنون میشم اگر راهنمایی بفرمایید چون یرای چمع آوری کمکهای مردمی تبلیغات کردیم حالا درگاه کار نمیکنه
آدرس سایت: asayeshgahqom.com
ایمیل:asayeshgahqom@yahoo.com
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
با سلام
باید خدمدتتون عرض کنم که من از تمامی کدهای بالا که گفتین به شکلهای مختلف استفاده کردم اما یه مشکل خیلی پیش پا افتاده دارم اونم اینکه تو فایلی که بانک قرار فراخونی کنه و نتیجه کار رو با متد post ارسال کنه من $_POST('RefId ') و بقیه پارامترهای دیگم به هیج عنوان هیچی بر نمی گردونن با بانک هم صحبت کردم گفتن که اطلاعات داره post میشه امام من هیچی از متد post نمی تونم بخونم
ممنون میشم اگه بگید کار خاصی باید انجام بدم تا بتونم مقادیر رو بخونم از متد post یا نه؟
-
1 ضمیمه
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
من یه مشکل برخوردم توی سایت یه نسخ پرداخت ملت پیدا کردم همه چی هم انجام میشه ولی اصلاح سند می خوره و پول بر میگرده به حساب فرستنده!
تا اونجایی که می دونم از بعد این شاپرک شدن باید حتما بعد از پرداخت متد verify و settle انجام بشه تا برنگرده به حساب طرف و ظاهرا هم هست توی callback.php
ممنون میشم اگر کسی از دوستان می تونه چک کنه ببینه چیه ماجرا.
ضمیمه 112081
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
با سلام
من به خطا 24 بر می خورم یعنی (( 'اطلاعات كاربري پذيرنده نامعتبر است' )) دلیل این خطا چی می تونه باشه؟
گاهی اوقات هم خطای 21 میده(('پذيرنده نامعتبر است')).
پسورد و نام کاربری و شماه ترمینال همگی چک کردم درسته.
ip و موارد دیگه درست هست.
تو urlcallback این آدرس رو زدم درسته؟
http://www.example.com/bankphp/callback.php
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
دوست عزیز، توی Callback باید آدرس صفحه ای از سایت خودتون رو بدین که بانک باید نتیجه تراکنش رو براش پس بفرسته. example.com یک دامنه نمونه هست (Example = مثال) که توی کدها از این اسم استفاده میشه و باید بجاش دامنه خودتون رو بگذارین.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
خیلی ممنون. اما من عمدا example گذاشتم تو فروم، ولی تو کد خودم درست نوشتم.(سایت مورد نظر خودم) حالا میشه دوباره مطلب بالا رو بخونید و ببینید مشکل کجاست. ممنون
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
خوب خطا که خیلی واضحه. اطلاعات پذیرنده معتبر نیست (یا پذیرنده معتبر نیست). ببینید IP سایتتون توی بانک چی ثبت شده. بعضی بانکها هم (مثل پارسیان) اگه سایتتون روی سرورهای خارجی باشه، باید به سرور جداگانه ای وصل بشین. البته ملت اگه این خطا رو بده معمولاً نام کاربری و رمز عبور رو اشتباه وارد کردین. از پشتیبانی دوباره اطلاعات رو بگیرین. گاهی اوقات اشتباه میفرستن (چند مورد تا حالا پیش اومده).
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
خیلی ممنون از پاسخ شما.
پس شاید اطلاعات اشتباه دادن چون من تمام موارد(پسورد، نام کاربری، شماره ترمینال و ip ) رو چک کردم. بعد سوال رو مطرح کردم که سوال اضافی تو فروم نگذارم. ممنون از توجه
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا (حل شد)
سلام
صفحه پرداخت حتما به session نیاز داره؟
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
سلام دوستان!
کسی نمونه کد اتصال به درگاه رو داره که ازش جواب گرفته باشه؟
یه کد ساده میخوام بدون تم، خودم تم واسش درست می کنم. فقط اینکه کد کار کنه واسم مهمه!
ممنون میشم اگر کسی داره واسم میل کنه!
abtahi16@gmail.com
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
سلام. وقت بخیر.
من توی callback پرداخت مشکل دارم. اطلاعات callback به درستی دریافت میشه و هیچ مشکلی نداره. اما وقتی متد bpVerifyRequest رو اجرا میکنم، نتیجهاش یه پیغام خطاست که خب درست درکش نمیکنم. به نظرتون مشکل کجاست؟
کد:
$params = array(
'terminalId' => 'x',
'userName' => 'y',
'userPassword' => 'z',
'orderId' => Input::get('SaleOrderId'),
'saleOrderId' => Input::get('SaleOrderId'),
'saleReferenceId' => Input::get('SaleReferenceId')
);
$result = $client->call('bpVerifyRequest', $params, $namespace);
return $result;
نتیجه:
{
"faultcode": "soap:Client",
"faultstring": "Error reading XMLStreamReader."
}
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
برای استفاده از nusoap تمامی فایلهای داخل پوشه lib لازمه؟ چون من فقط محتوای nusoap.php رو توی یه فایلی کپی کردم و از اون استفاده میکنم.
-
نقل قول: مشکل: درگاه بانک ملت با nusoap و دریافت خطا
سلام دوستان عزیز جدیدترین کلاس ها و کدهای اتصال به درگاه بانک ملت (با سیستم شاپرک) در تاپیک زیر دنبال کنید
https://barnamenevis.org/showthread.p...85%D9%84%D8%AA