Пример #1
0
 function process_button()
 {
     global $osC_Currencies, $osC_ShoppingCart, $osC_Language, $osC_Database;
     if (MODULE_PAYMENT_BPI_CURRENCY == 'Selected Currency') {
         $currency = $osC_Currencies->getCode();
     } else {
         $currency = MODULE_PAYMENT_BPI_CURRENCY;
     }
     $amount = round($osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $currency), 2);
     $order = $this->_order_id;
     $processor = new RSAProcessor('ext/bpiclass/' . MODULE_PAYMENT_BPI_PRIVATE_KEY_FOLDER . '/certificate.xml', RSAKeyType::XMLFile);
     // Private Key
     $merchantCode = MODULE_PAYMENT_BPI_MERCHANT_CODE;
     $terminalCode = MODULE_PAYMENT_BPI_TERMINAL_CODE;
     $amount = $amount;
     $redirectAddress = osc_href_link(FILENAME_CHECKOUT, 'process', 'SSL', null, null, true);
     $invoiceNumber = $order;
     $timeStamp = date("Y/m/d H:i:s");
     $invoiceDate = date("Y/m/d H:i:s");
     $action = "1003";
     $data = "#" . $merchantCode . "#" . $terminalCode . "#" . $invoiceNumber . "#" . $invoiceDate . "#" . $amount . "#" . $redirectAddress . "#" . $action . "#" . $timeStamp . "#";
     $data = sha1($data, true);
     $data = $processor->sign($data);
     // digital sign
     $result = base64_encode($data);
     // base64_encode
     $process_button_string = osc_draw_hidden_field('invoiceNumber', $invoiceNumber) . osc_draw_hidden_field('invoiceDate', $invoiceDate) . osc_draw_hidden_field('amount', $amount) . osc_draw_hidden_field('terminalCode', MODULE_PAYMENT_BPI_TERMINAL_CODE) . osc_draw_hidden_field('merchantCode', MODULE_PAYMENT_BPI_MERCHANT_CODE) . osc_draw_hidden_field('redirectAddress', osc_href_link(FILENAME_CHECKOUT, 'process', 'SSL', null, null, true)) . osc_draw_hidden_field('timeStamp', $timeStamp) . osc_draw_hidden_field('action', $action) . osc_draw_hidden_field('sign', $result);
     return $process_button_string;
 }
Пример #2
0
 public function ps_pay($pardakht_id, $amount)
 {
     $conf = new conf();
     require_once "../class/RSAProcessor.class.php";
     include_once "../simplejson.php";
     $processor = new RSAProcessor("../class/certificate.xml", RSAKeyType::XMLFile);
     $pardakht = new pardakht_class((int) $pardakht_id);
     $merchantCode = $conf->ps_merchantCode;
     $terminalCode = $conf->ps_terminalCode;
     $redirectAddress = $conf->ps_redirectAddress;
     $invoiceNumber = $pardakht_id;
     $timeStamp = str_replace('-', '/', $pardakht->tarikh);
     $invoiceDate = str_replace('-', '/', $pardakht->tarikh);
     $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
     $out['invoiceNumber'] = $invoiceNumber;
     $out['invoiceDate'] = $invoiceDate;
     $out['amount'] = $amount;
     $out['terminalCode'] = $terminalCode;
     $out['merchantCode'] = $merchantCode;
     $out['redirectAddress'] = $redirectAddress;
     $out['timeStamp'] = $timeStamp;
     $out['action'] = $action;
     $out['sign'] = $result;
     $outJson = toJSON($out);
     return $outJson;
 }