رفتن به مطلب
شاهین سمیع عادل

چگونه ماژول پرداخت امن بانک پاسارگاد را بسازیم ?

پست های پیشنهاد شده

دوستان اگر می توانند در این زمینه راهنمایی کنند .

همانطور که همه مستحضر هستید بانک پاسارگاد درگاهی برای پرداخت آنلاین معرفی کرده که پرداخت امن بانک پاساگاد نام دارد . عضویت در آن نسبت به بانک های دیگر راحت است .

روش ثبت نام به این شکل است :

1 - که یک حساب در بانک پاسارگاد باز می کنیم .

2 - یکسری قرارداد داخل سایت است که آن را دانلود می کنیم .

2 - 3 برگ از قرار داد را باید امضا کنیم . آن سه برگ را به همراه یکسری مدارک شناسایی را باید برای شرکت http://paypaad.ir فکس کنیم

3 - شرکت http://paypaad.ir که رابط ما و بانک پاسارگاد است و شرکت زیر مجموعه بانک پاسارگاد است سایت ما را بررسی می کند و اگر مشکل امنیتی نداشت یک کلید و یک دستور العمل برای راه اندازی درگاه به ما می دهد .

کلید یک فایل zip حاوی دو فایل privateKey.pem و privateKey.xml می باشد.

من تا این مرحله آمده ام و دستور العمل و کلید را دارم ولی حالا نمی دانم چگونه باید برای آن ماژول ساخت داخل فایل راهنمای آن یکسری توضیحات دارد هم برای C# و هم برای PHP که PHP آن را در اینجا قرار می دهم :

براي سمت فروشگاه PHP پيوست 3: نمونه كدهاي مورد نياز با زبان

نمونه كد ارسال دادهها


<?php
require_once("RSAProcessor.class.php");
وجود ندارد و مي بايستي به صورت جداگانه استفاده شود. // PHP اين کلاس در ، RSA کلاس مربوط به
آدرس فايل آليد شخصي را داخل متغير زير ذخيره ميآنيم. //
$processor = new RSAProcessor("certificate.xml",RSAKeyType::XMLFile);
$merchantCode = آد پذيرنده // ; 1024
$terminalCode = آد ترمينال // ; 1
$amount = مبلغ فاآتور// ; 1
$redirectAddress = "http://your-site.com/path-to-file/Successful-file-name.php";
آدرس سايتی که مشتری پس از انجام تراکنش بايد به آن فرستاده شود//
$invoiceNumber = شماره فاآتور// ; 16525
$timeStamp = date("Y/m/d H:i:s");
$invoiceDate = date("Y/m/d H:i:s"); // تاريخ فاآتور
$action = "1003"; // براي درخواست خريد : 1003
$data = "#". $merchantCode ."#". $terminalCode ."#". $invoiceNumber ."#". $invoiceDate
."#". $amount ."#". $redirectAddress ."#". $action ."#". $timeStamp ."#";
$data = sha1($data,true);
$data = $processor->sign($data); // امضاي ديجيتال
$result = base64_encode($data); // base64_encode
?>
بخشي از كد كه در سايت پذيرنده قرار ميگيرد و براي ارسال دادهها به سيستم پرداخت استفاده ميشود .در
واقع صفحه وبي است كه پذيرنده در آن اطلاعات تراكنشرا قرار مي دهد و ب ا زدن كليد ارسال از سوي
مشتري ، دادهها براي سايت پرداخت فرستاده ميشود.












• نمونه كد دريافت نتيجه
ميباشد getResult.php و parser.php اين بخش شامل دو فايل
parser.php
<?php
/* ------------------------------------- XML PARSE ------------------------------------- */
function makeXMLTree($data)
{
$ret = array();
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($parser,$data,$values,$tags);
xml_parser_free($parser);
$hash_stack = array();
foreach ($values as $key => $val)
{
switch ($val['type'])
{
صفحه 10
case 'open':
array_push($hash_stack, $val['tag']);
break;
case 'close':
array_pop($hash_stack);
break;
case 'complete':
array_push($hash_stack, $val['tag']);
// uncomment to see what this function is doing
// echo("\$ret[" . implode($hash_stack, "][") . "] = '{$val[value]}';\n");
eval("\$ret[" . implode($hash_stack, "][") . "] = '{$val[value]}';");
array_pop($hash_stack);
break;
}
}
return $ret;
}
/* ------------------------------------- CURL POST TO HTTPS --------------------------------- */
function post2https($invoiceUID,$url)
{
//extract data from the post
extract($_POST);
//set POST variables
$fields = array (
'invoiceUID'=>urlencode($invoiceUID),
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//execute post
$res = curl_exec($ch);
//close connection
curl_close($ch);
return $res;
}
getresult.php
<?php
include_once 'parser.php';
$result = post2https($_GET['tref'],'https://epayment.bankpasargad.com/CheckTransactionResult.aspx');
$array = makeXMLTree($result);
var_dump($array);
?>

البته یکم بهمریختگی پیدا کرده که می توانید راهنمای آن را از لینک زیر دانلود کنید :

http://dl.joomina.ir/file.php?file=cf225da0cbaea353166d26e209cfe2c9

من از توضیحات ان یکسری مطالب را متوجه شدم ولی چون برنامه نویسی وارد نیستم نتوانتستم بفهم کدام کدها در کدام فایل ها باید قرار بگیرد . فایل ها در کدام پوشه و کدام فایل ها با هم و کل فایل ها چگونه در جوملا فراخوانی شود . هر کدام از دوستان می دانند لطفاً دریغ نکنند . اگر بتوانید کمک کنید ممنون می شوم تا من و همه دوستان دیگر نیز بتوانیم از این امکانات رایگان استفاده کنیم .

با تشکر


2 مطلب را یادم رفت بگم

یکی اینکه اگر در ثبت نام کردید http://paypaad.ir ثبت نام کردید و اطلاعات خواسته شده را فکس کردید با شرکتش تماس بگیریدزودتر کارتان راه می افتد . شاید یک یا دو هفته

مطلب دیگر اینکه می خواهم اگر بشود از این درگاه

1- هم در ویرچومارت

2- و هم در جوملا استفاده کنم . مثلاً محصولی است که در مطالب جوملا در موردش بحث می شود اگر کسی خواست خریداری کند یک فرم را پر نماید و مبلغ را به حساب بریزد تا به این طریق برایش ارسال شود یعنی وارد ویرچومارت نشود و یک روند دیگر را طی کند .

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

جناب آقاي عادل

اين كدها مربوط به پرداخت امن نيست بلكه از سيستم قبلي هستش هر چند برخي مقادير و كلاسها يكيه ولي بقيه خيلي فرق داره

اصلا شكل كار متفاوته

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...