راهنمای وبسرویس
جهت اتصال به وبسرویس باید در سرور مشتری کتابخانه SOAP فعال باشد ، اگر فعال نبود میتوانید از nusoap استفاده کنید .
نکات عمومی :

pin فروشنده یک رشته هست که فروشنده ملزم به نگهداری این کد هست و در هر تراکنش لازم هست که استفاده کند .
پس از اجرای درخواست ، یک شناسه au برگردانده میشود ، اگر au بیشتر از 8 کاراکتر بود عملیات موفقیت آمیز بوده اگر نه au شامل یک عدد منفی هست که کد خطا را نشان میدهد .

مراحل انجام عملیات پرداخت :
پس از انجام عملیات سفارش شما باید یک request به وبسرویس بدهید تا au تراکنش با توجه به اطلاعات ارسالی ساخته شود .
اطلاعات ارسالی شامل

pin : پین کد درگاه (الزامی)
price : مبلغ به تومان (الزامی)
callback : آدرس برگشت به سایت (الزامی)
order_id : شناسه فاکتور مشتری
description: توضیحات
bank : بانک مورد استفاده تراکنش

هست که موارد پین و مبلغ و آدرس کالل بک الزامی هست .
به جای bank میتوانید هیچی نفرستید در این صورت بانک پیشفرض سیستم انتخاب میشود ، یا میتوانید به انتخاب خودتان ، پارامتر یک بانک موجود در میهن پال را ارسال کنید به طور مثال اگر mellat بنویسید تمام تراکنشها از طریق بانک ملت انجام میشود .
کد خطای جدید به سیستم اضافه شده اگر اسم بانکی بنویسید که در سیستم میهن پال موجود نباشد یا حذف شده باشد خطای -14 برگشت داده میشود .
برای اطلاع از لیست بانکها یک تیکت به مدیریت ارسال کنید تا لیست بانکهای موجود اعلام شود .
بعد از دریافت au و مطمئن شدن از صحتش میتوانید مشتری را به آدرس پرداخت بفرستید .
$client = new SoapClient("http://mihanpal.com/index.php/payment2/wsdl");
    
    $pin = "1cd3835c29xx" ;
    $price = 3500 ; // تومان 
    $callback = "http://example.org/callback.php";
    $order_id = 123456;
    $description = "تراکنش سایت رضا";
    $bank ="mellat" ; // auto , parsian , gardeshgari
    
    $au = $client->request($pin , $price , $callback , $order_id , urlencode($description),$bank );
    if(strlen($au) >=8)
        header("location: http://mihanpal.com/index.php/paymentgateway/?au={$au}");
    else
        echo "خطایی رخ داد : شماره خطا " . $au;
اگر استفاده از soap در سرور مشتری مقدور نبود میتوانید کلاس nusoap را include کنید و دستورات بالا را به اینصورت بنویسید .
include_once("nusoap.php");
    $client = new nusoap_client("http://mihanpal.com/index.php/payment2/wsdl", "wsdl");
    
    $pin = "1cd3835c29xx" ;
    $price = 3500 ; // تومان 
    $callback = "http://example.org/callback.php";
    $order_id = 123456;
    $description = "تراکنش سایت رضا";
    $bank ="mellat" ; // auto , parsian , gardeshgari
    
    $au = $client->call("request",array($pin , $price , $callback , $order_id , urlencode($description),$bank));
    if(strlen($au) >=8)
        header("location: http://mihanpal.com/index.php/paymentgateway/?au={$au}");
    else
        echo "خطایی رخ داد : شماره خطا " . $au;
چنانچه au برگشتی یک عدد منفی بود یعنی یک خطا رخ داده است . کد خطاهای برگشتی درجدول پائین موجود هست . اگر au صحیح بود مشتری به آدرس داده شده فرستاده میشود تا مستقیم به درگاه بانک هدایت شود ، بعد از پایان عملیات پرداخت مشتری به آدرس کال بک برگشت داده میشود .
در آدرس کالل بک پارامترهای order_id , au اضافه میشود ، آدرس کال بک برای مثال بالا چیزی شبیه زیر هست و
 http://example.org/callback.php?order_id=123456&au=12aabbccddee
شما باید باتوجه به order_id خودتان ، مبلغ درخواستی را از دیتابیس واکشی کنید و بعد با استفاده از au و مبلغ پرداختی که دارید ، صحت تراکنش را بررسی کنید ، اگر تراکنش صحیح باشد عدد 1 برگردانده میشود در غیر اینصورت عددی منفی برگردانده میشود که شامل کد خطاست .
صحت اعتبار سنجی پرداخت به شکل زیر است .
(لازم به ذکر است شما باید au را در دیتابیس خود ذخیره کنید ، میتوانید با استفاده از au تراکنش مورد نظر را پیگیری کنید .)
$order_id = (int) $_GET["order_id"];
    $au = $_GET["au"];
    $price = 3500 ; // SELECT `price` FROM `order_tbl` WHERE `id`={$order_id}
    $pin = "1cd3835c29xx" ;
    
    $client = new SoapClient("http://mihanpal.com/index.php/payment2/wsdl");
    $result = $client->verify($pin,$au,$price);
    
    if( ! empty($result) and $result == 1)
        echo "پرداخت موفقیت آمیز بوده است .";
    else
        echo "خطایی رخ داد : شماره خطا " . $result;
اگر استفاده از soap در سرور مشتری مقدور نبود میتوانید کلاس nusoap را include کنید و دستورات بالا را به اینصورت بنویسید .
$order_id = (int) $_GET["order_id"];
    $au = $_GET["au"];
    $price = 3500 ; // SELECT `price` FROM `order_tbl` WHERE `id`={$order_id}
    $pin = "1cd3835c29xx" ;
    
    include_once("nusoap.php");
    $client = new nusoap_client("http://mihanpal.com/index.php/payment2/wsdl", "wsdl");
    
    $result = $client->call("verify" , array($pin,$au,$price));
    
    if( ! empty($result) and $result == 1)
        echo "پرداخت موفقیت آمیز بوده است .";
    else
        echo "خطایی رخ داد : شماره خطا " . $result;


لیست کد خطاها
شناسه خطا توضیحات
-1 پین نامعتبر است
-2 آی پی نامعتبر است
-3 مبلغ از کف تعریف شده کمتر است
-4 مبلغ از سقف تعریف شده بیشتر است
-5 مبلغ نامعتبر است
-6 ارتباط با بانک برقرار نشد
-7 درگاه غیرفعال است
-8 آی پی شما مسدود است
-9 خطای ناشناخته
-10 آدرس کال بک خالی است
-11 چنین تراکنشی یافت نشد
-12 تراکنش انجام نشده
-13 تراکنش انجام شده اما مبلغ نادرست است
-14 بانک مورد نظر در سیستم تعریف نشده یا غیرفعال شده است