PDA

View Full Version : سوال: راهنمایی جهت پیاده سازی یک داکیومنت



amirali001
پنج شنبه 20 تیر 1398, 15:24 عصر
با سلام
لطفا راهنمایی کنید که چطور اینو راه اندازی کنم بدجور گیرشم 3-4 روزه موفق نشدم
کسی هم گیر نیومد انجام بده.
PHP هم زیاد بلد نیستم.
تشکر از دوستان

ESB_GetBillInfo.pdf (http://s8.picofile.com/file/8366339284/ESB_GetBillInfo.pdf.html)

ali_sed
پنج شنبه 20 تیر 1398, 18:23 عصر
سلام

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

amirali001
جمعه 21 تیر 1398, 01:31 صبح
طبق یه داکیومنت دیگه که موفق شده بودم به پایان برسونمش انجام دادم به کدهای زیر رسیدم اما نتیجه ای حاصل نشده :!


<?php
header("Content-type: application/json; Authorization: Basic aW50BsdXJuaXRmNvbXxNdA1MA=; charset=utf-8");
ini_set ( "soap.wsdl_cache_enabled", "0" );
$url = "https://esbapi.pec.ir/ApiManager/Vas/GetBillInfo";

function echojson($json) {
echo trim(json_encode($json));
exit();
}
$bill_id = $_POST['BillId'];
$pay_id = $_POST['PayId'];



$params = array (
"BillId" => $bill_id,
"PayId" => $pay_id
) ;

$client = new SoapClient ($url);

try {
$result = $client->GetBillInfo ( array (
"requestData" => $params
) );
if ($result->GetBillInfoDataResult->Status === 0) {
echojson(array(
"status" => $result->GetBillInfoResult->Status,
"message" => $result->GetBillInfoResult->Message,
"BillType" => $result->GetBillInfoResult->BillType
));
}
else {
echojson(array(
"status" => $result->GetBillInfoResult->Status,
"message" => $result->GetBillInfoResult->Message
));
}
} catch ( Exception $ex ) {
$err_msg = $ex->getMessage() ;
echojson(array(
"status" => -1,
"message" => "شناسه پرداخت معتبر نمی باشد"
));
}


?>



خطایی ک میده:




PHP Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://esbapi.pec.ir/ApiManager/Vas/GetBillInfo' : failed to load external entity "https://esbapi.pec.ir/ApiManager/Vas/GetBillInfo"
in line 31
Stack trace:
#0 /home/lu/pec.lu.com/billstatus.php(31): SoapClient->SoapClient('https://esbapi....')
#1 {main}
on line 31

ali_sed
جمعه 21 تیر 1398, 18:35 عصر
خب الان بهتر شد. مطابق داکیومنت شما باید از متد post استفاده کنید و این هیچ ربطی به soap نداره. دستور هدر نیز برای ارسال هدر به مرورگر کاربر می باشد.

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


$url = 'https://esbapi.pec.ir/ApiManager/Vas/GetBillInfo';
$username = 'username';
$password = 'password';

$postdata = json_encode(array(
'billId' => '5019955030150',
'payId' => '50177188'
));

$opts = array('http' =>
array(
'method' => 'POST',
'header' => array('Content-Type: application/json',
'Authorization: Basic '.base64_encode($username.'|'.$password),
'Content-Length: ' . strlen($postdata)
),
'content' => $postdata,
'timeout' => 30,
)
);

$context = stream_context_create($opts);

$result = file_get_contents($url, false, $context);

var_dump($result);

amirali001
شنبه 22 تیر 1398, 12:00 عصر
سلام
ممنون از وقتی ک گذاشتید
اما نتیجه :

string(76) "{"UserId":0,"Status":3,"Message":"پارامتر ورودی نامعتبر"}"

ali_sed
شنبه 22 تیر 1398, 16:32 عصر
سلام
ممنون از وقتی ک گذاشتید
اما نتیجه :

string(76) "{"UserId":0,"Status":3,"Message":"پارامتر ورودی نامعتبر"}"

داخل مستندات اشاره ای به این خطا نشده است اما با توجه به پارامتر UserId: 0 می توان حدس زد که نام کاربری و رمز عبور شما معتبر نمی باشد. آنها را بررسی کنید.

در نهایت بهتر است از پشتیبانی تاپ بپرسید تا راهنماییتان بکند.

amirali001
یک شنبه 23 تیر 1398, 00:21 صبح
با سلام
نام کاربری و رمز عبور بررسی شد به درستی وارد شده.
پشتیبانی مزخرفی دارن 4 روزه ایمیل دادیم جواب ندادن هنوز
روزی چندبار زنگ میزنیم گوشی رو جواب نمیدن
100درصد پشیمانیم که از پارسیان درگاه گرفتیم! به دوستان دیگه توصیه ن

ali_sed
سه شنبه 25 تیر 1398, 11:28 صبح
با سلام
نام کاربری و رمز عبور بررسی شد به درستی وارد شده.
پشتیبانی مزخرفی دارن 4 روزه ایمیل دادیم جواب ندادن هنوز
روزی چندبار زنگ میزنیم گوشی رو جواب نمیدن
100درصد پشیمانیم که از پارسیان درگاه گرفتیم! به دوستان دیگه توصیه ن

یوزر و پسوردی که دارید برای پرداخت قبض می باشد یا بصورت مشترک با درگاه بانک مورد استفاده قرار می گیرد؟
در ضمن با توجه به محدودیت دسترسی به وب سرویس بانک روی IP شما، از بابت آیپی هم اطمینان حاصل کنید؟ (از روی لوکال نمیشه تست کرد مگر اینکه روی این سرویس محدودیت آیپی اعمال نکرده باشند که بعید می دونم)

تیکت زدید از سیستم پشتیبانیشون؟ قبلا که خوب بود!

amirali001
چهارشنبه 26 تیر 1398, 22:22 عصر
یوزر و پسوردی که دارید برای پرداخت قبض می باشد یا بصورت مشترک با درگاه بانک مورد استفاده قرار می گیرد؟
در ضمن با توجه به محدودیت دسترسی به وب سرویس بانک روی IP شما، از بابت آیپی هم اطمینان حاصل کنید؟ (از روی لوکال نمیشه تست کرد مگر اینکه روی این سرویس محدودیت آیپی اعمال نکرده باشند که بعید می دونم)

تیکت زدید از سیستم پشتیبانیشون؟ قبلا که خوب بود!

سلام دوست عزیز ممنون از پاسخگویتون
یوزر و پسورد مشترک
بله وب سرویس بانک فقط روی یک آی پی عمل میکنه و مشکلی از این بابت نیست چون قسمتهای همچون پرداخت درون برنامه و خرید شارژ و پرداخت قبض و... راه اندازی شدند و قابل استفاده هست.
پنلی واسه تیکت زدن ندارند و یک پنل دارند صرفا جهت مشاهده گزارش تراکنش و....
از اولین ایمیل تقریبا 9 روز میگذره و جواب نداند تا تماس بگیری و بگی با فلان ایمیل بهتون ایمیل دادیم اونوقت میرن بررسی میکنن. ک متاسفانه چندروزه اصلا تلفن رو هم جواب نمیدن.