Advertisement
Guest User

Pasargad Gateway Verify

a guest
May 2nd, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.92 KB | None | 0 0
  1. $merchantCode = env('pasargad_merchant_code');
  2. $terminalCode = env('pasargad_terminal_code');
  3.  
  4.     require_once(app_path()."/Helpers/files/gateways/pasargad/RSAProcessor.class.php");
  5.     require_once(app_path()."/Helpers/files/gateways/pasargad/parser.php");
  6.  
  7.     $amount =  $Transaction->amount;
  8.  
  9.     $fields = array(
  10.         'MerchantCode' => $merchantCode,            //shomare ye moshtari e shoma.
  11.         'TerminalCode' => $terminalCode,            //shomare ye terminal e shoma.
  12.         'InvoiceNumber' => "$Transaction->id",              //shomare ye factor tarakonesh.
  13.         'InvoiceDate' => $InvoiceDate, //tarikh e tarakonesh.
  14.         'amount' => "$amount",                  //mablagh e tarakonesh. faghat adad.
  15.         'TimeStamp' => date("Y/m/d H:i:s"),     //zamane jari ye system.
  16.         'sign' => ''                            //reshte ye ersali ye code shode. in mored automatic por mishavad.
  17.     );
  18.  
  19.     $processor = new RSAProcessor(app_path()."/Helpers/files/gateways/pasargad/caligula/certificate.xml",RSAKeyType::XMLFile);
  20.  
  21.     $data = "#". $fields['MerchantCode'] ."#". $fields['TerminalCode'] ."#". $fields['InvoiceNumber'] ."#". $fields['InvoiceDate'] ."#". $fields['amount'] ."#". $fields['TimeStamp'] ."#";
  22.     $data = sha1($data,true);
  23.     $data =  $processor->sign($data);
  24.     $fields['sign'] =  base64_encode($data); // base64_encode
  25.  
  26.     $sendingData =  "MerchantCode=". $merchantCode ."&TerminalCode=". $terminalCode ."&InvoiceNumber=". $fields['InvoiceNumber'] ."&InvoiceDate=". $fields['InvoiceDate'] ."&amount=". $amount ."&TimeStamp=". $fields['TimeStamp'] ."&sign=".$fields['sign'];
  27.  
  28.     $ch = curl_init();
  29.     curl_setopt($ch, CURLOPT_URL,'https://pep.shaparak.ir/VerifyPayment.aspx');
  30.     curl_setopt($ch, CURLOPT_POST, 1);
  31.     curl_setopt($ch, CURLOPT_POSTFIELDS,$sendingData);
  32.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  33.     $verifyresult = curl_exec ($ch);
  34.     curl_close ($ch);
  35.  
  36.     $array = makeXMLTree($verifyresult);
  37.  
  38.     return $array;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement