PDA

View Full Version : اتصال به وب سرویس جهان پی



aminmix
دوشنبه 16 شهریور 1394, 16:40 عصر
سلام ، لطفا اگر کسی میتونه راهنمایی کنه خیلی وقتم کمه
من قصد دارم به وب سرویس جهان پی متصل شم و طبق توضیحاتی که در این فایل (http://www.jahanadwords.net/wp-content/uploads/2013/10/user-guide.pdf) هست عمل میکنم
در آموزش نوشته که آدرس وب سرویس اینه :

http://www.jahanpay.com/webservice?wsdl
در حالی که وقتی بازش میکنم یک فایل xml باز میشه
برای شروع من باید متغیر های (Api,Amount,Callback,order_id,Text) رو به وبسرویس بفرستم و کد فاکتور رو دریافت کنم.


function send($url,$id,$amount,$callback,$resnum){
$ch =curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POSTFIELDS,"api=$id&price=$amount&callback=$callback&orderid=$resnum");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
if(isset($_GET['amount'])){
$urlf = 'http://www.jahanpay.com/webservice?wsdl';
$idf = 'gt36733g719';
$amountf = $_GET['amount'];
$callbackf ='mysite/approve.php';
$resnumf = '777';
$resultf = send($urlf,$idf,$amountf,$callbackf,$resnumf);
echo "result is : $resultf";
}else{
echo "amount is not set";
}
وقتی این کد رو اجرا میکنم بجای اینکه شماره فاکتور نمایش داده بشه ،این پیغام به نمایش در میاد :

result is : SOAP-ENV:ClientOperation '' is not defined in the WSDL for this service
سوال اینجاست که آیا من آدرس وب سرویس رو درست زدم؟ و آیا برای ارتباط با soap باید از روش دیگه ای استفاده کرد؟
در آموزش گفته جهت ارسال درخواست ابتدا باید متد requestpayment را از وبسرویس درخواست کنید.
منظورش چی بوده؟؟؟
--------------------------------------------------------------------------------------------------------------------------------
گذشت روزگاری که مردم به هم کمک میکردن ، خودم حلش کردم. باید بجای curl از soap استفاده میکردم


$client = new SoapClient("http://www.jahanpay.com/webservice?wsdl");
$resultf = $client->requestpayment($idf , $amountf , $callbackf , $resnumf , $txtf);