اطلاعات تکمیلی آخرین بروزرسانی : 0621-03-20

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

کافی است اسکریپت را در یک هاست ایران نصب کرده و اطلاعات آنرا برای درگاه ملت ارسال بفرمایید تا ثبت و فعال شود و سپس از api برای اتصال و استفاده در هر اسکریپتی استفاده نمایید.

متغییرهای ارسالی :

invoiceid : به صورت یک عدد یکتا به عنوان شناسه فاکتور فراخوانی میشود

amount : مبلغ پرداختی به صورت ریال ارسال شود

callbackurl : آدرس بازگشتی را مشخص خواهید نمود

احراز هویت :

احراز هویت به صورت Api key صورت میگیرد و با کلید token انجام میشود

مقدار این توکن در فایل config اسکریپت قابل تغییر می باشد و باید در header درخواست ارسال شود

متغییرهای وریفای :

id : شناسه ای است که پس از انجام تراکنش به آدرس کال بک ارسالی شما ارسال میشود

اطلاعات کانفیگ آخرین بروزرسانی : 0621-03-20

اطلاعات فایل کانفیگ :

define('db_type', 'mysql'); 
define('hostname', 'localhost'); 
define('db_name', 'paypro'); 
define('db_username', 'root'); 
define('db_password', '0000');

 

اطلاعات دیتابیس را در فایل کانفیگ اول قرار دهید

 

فایل کانفیگ درگاه

فایل کانفیگ دیگری در مسیر configs/Mellat.php قرار دارد

define('MellatConfig', [
    'terminalId' => 'aaaa',
    'userName' => 'bbbb',
    'userPassword' => 'cccc',
    'notfoundurl' => 'https://siteurl.ir',
    'iran_script_url' => 'https://iranscript.ir',
    'security_key' => 'dfhfdhdfhdfhdfhdfhdfh',
    'delete_faild_results' => false,
    'licens_key' => 'vahabonline_licens_key',
]);

 

 

terminalId : به جای aaaa باید شناسه ترمینال خود را وارد نمایید

userName : باید به جای bbbb نام کاربری درگاه بانکی خود را وارد نمایید

userPassword : باید به جاید cccc رمز عبور درگاه بانکی خود را وارد نمایید

iran_script_url : باید آدرس مسیر نصب این اسکریپت را وارد نمایید

security_key : باید کلید امنیتی ارتباط با درگاه را وارد کنید . این کلید را باید خودتان بسازید و شامل حروف و عدد باشد . از حروف کوچک و بزرگ به همراه اعداد و حداقل طول رشته 17 کاراکتر استفاده کنید

delete_faild_results : اگر مقدار این را true قرار دهید تراکنش هایی که کنسل میشوند فایل آنها از سیستم حذف خواهد شد

licens_key : کلید لایسنس اسکریپت که از وهاب آنلاین دریافت کرده اید را وارد نمایید

 

شروع پرداخت آخرین بروزرسانی : 0621-03-20

روش ارسال درخواست :

نمونه کد CURL :

curl --location 'http://site.com/gatewaysPro/mellat/requests/start.php' \
--header 'token: dfhfdhdfhdfhdfhdfhdfh' \
--form 'invoiceid="8"' \
--form 'amount="50000"' \
--form 'callbackurl="https://site.com/modules/addons/salam.php"'

 

 

پاسخ دریافتی به صورت json می باشد :

نمونه دریافت پاسخ موفقیت آمیزبودن :

{
  "status": true,
  "code": 200,
  "refid": 1122326566,
  "posturl": "https://bpm.shaparak.ir/pgwchannel/startpay.mellat",
  "message": false
}

 

درصورت موفقیت آمیز بودن درخواست باید مقدار refid را به صورت یک فرم پست به شکل زیر به آدرس posturl ارسال نمایید

نمونه کد :

<form method="post" action="postUrlValue">
<input type="hidden" name="RefId" value="refIdValue" />
<button type="submit" class="btn btn-primary">پرداخت فاکتور</button>
</form>

 

به جای postUrlValue مقدار posturl را وارد کنید

به جای refIdValue مقدار refid را وارد نمایید

 

نمونه دریافت پاسخ عدم موفقیت :

{
  "status": false,
  "code": 403,
  "message": "refid not found"
}

 

وریفای تراکنش آخرین بروزرسانی : 0621-03-20

پس از انجام عملیات و در صورت موفق و ناموفق بودن به مسیر callback ارسالی شما بازخواهید گشت

در پایان آدرس شما ?id=invoiceid قرار خواهد داشت

در این مرحله باید باید درخواست وریفای ارسال کنید

شما باید ابتدا توکن ایجاد نمایید .

در فایل home به شما توضیح دادم چطور یک هش کدآیدی بسازید . مجدد :

$hashcode  = md5($invoiceId . $Amount . $CallbackUrl);

 

شناسه فاکتور + مبلغ + تاریخ سال الان را به صورت md5 کد میکنید

 

سپس درخواستی به مسیر زیر ارسال خواهید کرد

curl --location 'http://site.com/gatewaysPro/mellat/requests/details.php' \
--header 'token: dfhfdhdfhdfhdfhdfhdfh' \
--form 'id="69afd2df85f064408f1de0a23735f39f"'

 

 

نتیجه بازگشتی تراکنش موفق

{
    "orderid": "eaca8b4229fbb920ee89b31416e476ce",
    "amount": "50000",
    "invoiceid": 80,
    "start_time": "2025-01-12 15:57:09",
    "verify": {
        "status": true,
        "verify_time": "2025-01-12 16:26:28",
        "verify_data": "0",
        "verify_info": {
            "tranix_bank_key": "s2233s6s56645s646s46",
            "id": "eaca8b4229fbb920ee89b31416e476ce",
            "SaleOrderId": "fgdfhdfhjdfj",
            "SaleReferenceId": "sd9g86dsg86ds8g6",
            "RefId": "4D7B2EAAE02E38C6",
            "ResCode": "0",
            "CardHolderInfo": "54352C47C25EE21E52DF969CD64DF9B32430E42C27849451F6E6E04129B61995",
            "CardHolderPan": "502229******5857",
            "FinalAmount": "20000"
        }
    }
}

 

 

نتیجه بازگشتی تراکنش ناموفق :

{
"orderid":1736485853,
"amount":"50000",
"invoiceid":"8",
"start_time":"2025-01-10 05:10:53"
}

 

 

در تراکنش موفق مقدار verify قرار دارد و مقدار status آن برابر با true خواهد بود