Services

مستندات فنی IPG های مستقیم

سرویس اتصال به درگاه پرداخت
با استفاده از این سرویس قادر خواهید بود وب سایت و پلتفرم تون رو به شبکه پرداخت واسط آل‌سات پرداخت وصل کنید. برای این منظور می بایست سه مرحله رو انجام بدید

اتصال با زبان برنامه نویسی PHP

مرحله اول : ارسال دیتا
ابتدا می بایست پارامترهای موجود در جدول زیر رو با متد POST به آدرسی که مشخص شده ارسال کنید. به نوع داده ها و نام فیلد توجه کنید.
https://www.alsatpardakht.com/IPGReal/Api22/send.php


ob_start();
    header('Content-Type: text/html; charset=utf-8');
    date_default_timezone_set("Asia/Tehran");
    putenv("Tz=Asia/Tehran");

    
    $Amount = 50000;
    $ApiKey = 'UserApiKey';
    $RedirectAddressPage = "https://......ir";


  $PayId = 3000;
  //شماره سفارش تولید شده توسط کاربر که از طرف کاربر یکتا باشد


  $ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, 'https://www.alsatpardakht.com/IPGReal/Api22/send.php');
	curl_setopt($ch, CURLOPT_POSTFIELDS, "Amount=$Amount&ApiKey=$ApiKey&&RedirectAddressPage=$RedirectAddressPage&&PayId=$PayId");
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
	$result = curl_exec($ch);
        $resuls = json_decode($result);
        $Token = $resuls->Token;
        print_r($result);
	curl_close($ch);


	if($resuls->IsSuccess) {
		$go = "https://www.alsatpardakht.com/IPGReal/Api2/Go.php?Token=$Token";
	  header("Location: $go");
	} 
  else 
  {
	echo $result->errorMessage;
  }




ob_end_flush();

جوابی که از این مرحله میگیرین به این شکل خواهد بود:

 { 
    "IsSuccess": 1,
    "TimeStamp": "2021/06/20 19:16:16",
    "InvoiceDate": "2021/06/20 19:16:16",
    "Token": "uUDUT0EBXWA67Hz1Pwpyb8CsrUBj7yOnx5rviSXwrgk=",
    "Sign": "A46ZTlf7qmfdbIZIB+4me6hiYJhCs58+fnMNJlfATpaA4Vw+YMB2z7fEHWF359pZOXJGvd5FMAijmkdDFh68V6iOVOLrqWyXVbM1fXKBBl5FC+FeoHnfaccvZ68Eot67OHjyGpCEEZ+h3KEQoEaKem0h+JuHK/pxuTrrU/KWHlI="
}

مرحله دوم : انتقال کاربر به صفحه پرداخت
در صورتی که در مرحله ارسال دیتا ، اطلاعات ارسالی شما درست باشه در پاسخ دو مقدار IsSuccess = 1 و Token رو دریافت میکنید و می بایست خریدار رو به شیوه زیر به درگاه ریدایرکت کنید. برای اینکار باید توکن دریافت شده در مرحله قبل رو Token دریافت کردید رو در اخر ادرس
https://www.alsatpardakht.com/IPGReal/Api2/Go.php?Token=$Token
قرار بدید و کاربر رو به URL ایجاد شده ریدایرکت کنید. اگر اینکارهارو درست انجام بدید چند ثانیه بعد صفحه پرداخت وجه رو میتونید ببینید.

مرحله سوم : انتقال کاربر به صفحه پرداخت
در این مرحله تمامی مقادیر برگشتی با متد post به صفحه ی RedirectAddressPage (اعلامی در مرحله اول) و با توجه به موفقیت آمیز بودن یا نبودن پرداخت مقادیر برگشتی بصورت زیر خواهد بود.
در صورتی که پرداخت موفقیت آمیز باشد مقدار IsSuccess برابر با یک خواهد بود که در اینصورت نمونه ی دریافتی شما باید بشکل زیر باشد:
قرار بدید و کاربر رو به URL ایجاد شده ریدایرکت کنید. اگر اینکارهارو درست انجام بدید چند ثانیه بعد صفحه پرداخت وجه رو میتونید ببینید.

{
[iN] => 1643538820 [iD] => 2022/01/30 14:03:40 [tref] => 637791482213271458 [IsSuccess] => 1	[PayId] => 3000
}

مرحله چهارم : تایید تراکنش
در این مرحله تمامی مقادیر برگشتی با متد post به صفحه ی RedirectAddressPage (اعلامی در مرحله اول) و با توجه به موفقیت آمیز بودن یا نبودن پرداخت مقادیر برگشتی بصورت زیر خواهد بود.
در مرحله نهایی پرداخت شما بایستی 3 داده از داده های گرفته شده در مرحله سوم را برای تایید تراکنش درخواست خود را باید به آدرس https://www.alsatpardakht.com/IPGReal/Api22/VerifyTransaction.php ارسال نمایید که بدنه ی این درخواست باید بصورت زیر باشد:
iN:1643538154
iD:2022/01/30 13:52:34
tref:637791475545085740
ApiKey:*******************************************
در صورت ارسال صحیح تمامی داده ها به آدرس گفته شده پاسخی همانند پاسخ زیر دریافت خواهید کرد:

{
  "PSP": {
    "TraceNumber": 874839,
    "ReferenceNumber": 141169635788,
    "TransactionDate": "2021/12/25 13:05:20",
    "TransactionReferenceID": "637760342933570271",
    "InvoiceNumber": "1640424894",
    "InvoiceDate": "2021/12/25 13:04:54",
    "MerchantCode": 5047115,
    "TerminalCode": 2298264,
    "Amount": 50000,
    "TrxHashedCardNumber": "AF90AA8B21FDDADF9623E57640E9854A99D3AFBC124DDE60CE5AFE12EE2F7959",
    "TrxMaskedCardNumber": "5029-38**-****-9260",
    "IsSuccess": true,
    "Message": "عمليات به اتمام رسيد"
  },
  "VERIFY": {
    "MaskedCardNumber": "5029-38**-****-9260",
    "HashedCardNumber": "BFCA19BBF26FB27ACE8DA7EDF1DEB02243A207A4D48A43CE83AE2A3D854799466EE95048D2793850A164784D123F1D73BE021E8C2EEE354F5BC39FAC6D0AFE4C",
    "ShaparakRefNumber": "141169635788",
    "IsSuccess": true,
    "Message": "عمليات با موفقيت انجام شد"
  }
}