کد PHP:
<?php
function jaypal_config() {
$configarray = array(
"FriendlyName" => array("Type" => "System", "Value"=>" بانک پاسارگاد - جی پال "),
"jcard" => array("FriendlyName" => "شماره کارت شما در جی پال", "Type" => "text", "Size" => "0", ),
"jemail" => array("FriendlyName" => "ایمیل شما در جی پال", "Type" => "text", "Size" => "0", ),
"jpassword" => array("FriendlyName" => "پسوورد شما در جی پال", "Type" => "text", "Size" => "0", ),
"Currencies" => array("FriendlyName" => "Currencies", "Type" => "dropdown", "Options" => "Rial,Toman", ),
"jmode" => array("FriendlyName" => "نوع درگاه اختصاصی <BR> درگاه پرداخت اینترنتی اختصاصی - درصدی - سمت فروشنده = pga <BR> درگاه پرداخت اینترنتی اختصاصی - درصدی - سمت خریدار = pgb <BR> درگاه پرداخت اینترنتی اختصاصی - اجاره ای = pgc ", "Type" => "dropdown", "Options" => "pga,pgb,pgc", ),
);
return $configarray;
}
function jaypal_link($params) {
$jCard = $params['jcard'];
$jEmail = $params['jemail'];
$jPassword = $params['jpassword'];
$currencies = $params['Currencies'];
$jMode = $params['jmode'];
$invoiceid = $params['invoiceid'];
$description = $params["description"];
$amount = $params['amount'];
$amount = strtok($amount,'.');
if($currencies == 'Toman')
$amount = $amount*10;
$currency = $params['currency'];
$companyname = $params['companyname'];
$systemurl = $params['systemurl'];
$currency = $params['currency'];
$callbackURL = $systemurl . '/modules/gateways/callback/jaypal.php?invoiceNumber=' . $invoiceid . '&amount=' . $amount;
$data = getJayPal($jMode, $jCard, $jEmail, $jPassword, $amount, $invoiceid, $callbackURL);
if(strpos($data, '^')) {
$dataarray = explode ('^',$data);
$return = "
<form method='POST' action='https://paypaad.bankpasargad.com/PaymentController' target='_self'>
<input type='hidden' name='content' value='" . $dataarray [0] . "' />
<input type='hidden' name='sign' value='" . $dataarray[1] . "' />
<input type='submit' name='submit' value=' پرداخت ' />
</form>
";
} else $return = $data;
return $return;
}
function getJayPal($jmode, $jcard, $jemail, $jpassword, $jamount, $jdata, $jcallback)
{
$result = "";
$data = "METHOD=GET"."&"."card=".$jcard."&"."email=".$jemail."&"."password=".$jpassword."&"."amount=".$jamount."&"."data=".$jdata."&"."callback=".$jcallback."&"."ip=".$_SERVER["REMOTE_ADDR"];
$fp = fsockopen("jaypal.ir", 80);
fputs($fp, "POST /".$jmode."/ HTTP/1.1\r\n");
fputs($fp, "Host: jaypal.ir\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ".strlen($data)."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);
while(!feof($fp)) $result .= fgets($fp, 128);
fclose($fp);
$resultdata = explode('|', $result);
$resultstr = $resultdata[1];
switch($resultstr) {
case "E01E":
return "method is not set or empty";
break;
case "E02E":
return "card is not set or incorrect";
break;
case "E03E":
return "email is not set or incorrect";
break;
case "E04E":
return "password is not set or incorrect";
break;
case "E05E":
return "amount is not set or empty";
break;
case "E06E":
return "data is not set or empty";
break;
case "E07E":
return "callback is not set or empty";
break;
case "E08E":
return "iN is not set or empty";
break;
case "E09E":
return "iD is not set or empty";
break;
case "E10E":
return "tref is not set or empty";
break;
case "E11E":
return "account expired";
break;
case "E12E":
return "bank error";
break;
case "E13E":
return "error in verify";
break;
case "E14E":
return "error in settle";
break;
case "E15E":
return "orderid id not found";
break;
case "E16E":
return "refid is not found";
break;
case "E17E":
return "database error";
break;
case "E18E":
return "ip is not set or empty";
break;
case "E19E":
return "account disable";
break;
case "E20E":
return "iC is not set or empty";
break;
case "E21E":
return "transaction not found";
break;
case "E22E":
return "transaction was verified";
break;
case "E23E":
return "transaction not verify";
break;
default:
return $resultstr;
}
}
?>