function osC_Checkout_Process() { global $osC_Session, $osC_ShoppingCart, $osC_Customer, $osC_NavigationHistory, $osC_Payment; if ($osC_ShoppingCart->hasContents() === false) { osc_redirect(osc_href_link(FILENAME_CHECKOUT, null, 'SSL')); } // if no shipping method has been selected, redirect the customer to the shipping method selection page if ($osC_ShoppingCart->hasShippingMethod() === false && $osC_ShoppingCart->getContentType() != 'virtual') { osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'shipping', 'SSL')); } if ($osC_ShoppingCart->hasBillingMethod()) { // load selected payment module include 'includes/classes/payment.php'; $osC_Payment = new osC_Payment($osC_ShoppingCart->getBillingMethod('id')); } include 'includes/classes/order.php'; if ($osC_ShoppingCart->hasBillingMethod()) { $osC_Payment->process(); } else { $orders_id = osC_Order::insert(); osC_Order::process($orders_id, ORDERS_STATUS_PAID); } $osC_ShoppingCart->reset(true); // unregister session variables used during checkout unset($_SESSION['comments']); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'success', 'SSL')); }
function callback() { global $osC_Database, $osC_Currencies; $result = "VERIFIED"; $check = true; // Validate request if (!isset($_POST['order_id']) || !is_numeric($_POST['order_id']) || $_POST['order_id'] <= 0) { $check = false; $result = 'bad order id'; } if ($check) { if (!isset($_POST['invoice_amount'])) { $check = false; $result = 'bad amount'; } } if ($check) { if (!isset($_POST['invoice_currency'])) { $check = false; $result = 'bad currency'; } } if ($check) { if (!isset($_POST['checksum']) || !isset($_POST['invoice_reference']) || !isset($_POST['invoice_created_at']) || !isset($_POST['invoice_status'])) { $check = false; $result = 'missing vatiables'; } } if ($check) { //calc checksum $sum = http_build_query(array('order_id' => $_POST['order_id'], 'invoice_reference' => $_POST['invoice_reference'], 'invoice_amount' => $_POST['invoice_amount'], 'invoice_currency' => $_POST['invoice_currency'], 'invoice_created_at' => $_POST['invoice_created_at'], 'invoice_status' => $_POST['invoice_status'], 'secret_key' => MODULE_PAYMENT_INPAY_SECRET_KEY), '', "&"); $md5v = md5($sum); if ($md5v != $_POST['checksum']) { $check = false; $result = 'bad checksum'; } } if ($check) { if (!osC_Order::exists($_POST['order_id'])) { $check = false; $result = 'order not found'; } } if ($check) { $Qcheck = $osC_Database->query('select orders_status, currency, currency_value from :table_orders where orders_id = :orders_id'); $Qcheck->bindTable(':table_orders', TABLE_ORDERS); $Qcheck->bindInt(':orders_id', $_POST['invoice']); $Qcheck->bindInt(':customers_id', $_POST['custom']); $Qcheck->execute(); if ($Qcheck->numberOfRows() > 0) { $order = $Qcheck->toArray(); $Qtotal = $osC_Database->query('select value from :table_orders_total where orders_id = :orders_id and class = "total" limit 1'); $Qtotal->bindTable(':table_orders_total', TABLE_ORDERS_TOTAL); $Qtotal->bindInt(':orders_id', $_POST['invoice']); $Qtotal->execute(); $total = $Qtotal->toArray(); if (number_format($_POST['invoice_amount'], $osC_Currencies->getDecimalPlaces($order['currency'])) != number_format($total['value'] * $order['currency_value'], $osC_Currencies->getDecimalPlaces($order['currency']))) { $check = false; $result = 'Inpay transaction value (' . osc_output_string_protected($_POST['invoice_amount']) . ') does not match order value (' . number_format($total['value'] * $order['currency_value'], $osC_Currencies->get_decimal_places($order['currency'])) . ')'; } } } if ($check) { // check status $delivered_status = 7; if ($order['orders_status'] == MODULE_PAYMENT_INPAY_COMP_ORDER_STATUS_ID || $order['orders_status'] == $delivered_status) { $check = false; $result = 'Status already in level' . $order['orders_status']; } } if ($check) { $invoice_status = $this->get_invoice_status($_POST); $check = false; if (($invoice_status == "pending" || $invoice_status == "created") && ($_POST["invoice_status"] == "pending" || $POST["invoice_status"] == "created")) { $check = true; } else { if ($invoice_status == "approved" && $_POST["invoice_status"] == "approved") { $check = true; } else { if ($invoice_status == "sum_too_low" && $_POST["invoice_status"] == "sum_too_low") { $check = true; } } } if (!$check) { $result = 'Bad invoice status:' . $invoice_status; } } // Validate request end if ($result == 'VERIFIED') { $invoice_approved = false; $invoice_created = false; $invoice_partial = false; switch ($_POST['invoice_status']) { case 'created': case 'pending': $msg = "customer has been asked to pay " . $_POST['invoice_amount'] . ' ' . $_POST['invoice_currency'] . ' with reference: ' . $_POST['invoice_reference'] . ' via his online bank'; $order_status_id = MODULE_PAYMENT_INPAY_CREATE_ORDER_STATUS_ID; $invoice_created = true; break; case "approved": $msg = "Inpay has confirmed that the payment of " . $_POST['invoice_amount'] . " " . $_POST['invoice_currency'] . " has been received"; $order_status_id = MODULE_PAYMENT_INPAY_COMP_ORDER_STATUS_ID; $invoice_approved = true; break; case "sum_too_low": $msg = "Partial payment received by inpay. Reference: " . $_POST['invoice_reference']; $order_status_id = MODULE_PAYMENT_INPAY_SUM_TOO_LOW_ORDER_STATUS_ID; $invoice_partial = true; break; } $comments = 'Inpay ' . ucfirst($_POST['invoice_status']) . '[' . $msg . ']'; if ($invoice_approved || $invoice_created || $invoice_partial) { osC_Order::process($_POST['order_id'], $order_status_id, $comments); osC_Order::insertOrderStatusHistory($_POST['order_id'], $order_status_id, $comments); } else { if (defined('MODULE_PAYMENT_INPAY_DEBUG_EMAIL')) { $email_body = 'INPAY_DEBUG_POST_DATA:' . "\n\n"; reset($_POST); foreach ($_POST as $key => $value) { $email_body .= $key . '=' . $value . "\n"; } $email_body .= "\n" . 'INPAY_DEBUG_GET_DATA:' . "\n\n"; reset($_GET); foreach ($_GET as $key => $value) { $email_body .= $key . '=' . $value . "\n"; } osc_email('', MODULE_PAYMENT_INPAY_DEBUG_EMAIL, 'Inpay Invalid Process', $email_body, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } if (isset($_POST['order_id']) && is_numeric($_POST['order_id']) && $_POST['order_id'] > 0) { $Qcheck = $osC_Database->query('select orders_id from :table_orders where orders_id=:orders_id'); $Qcheck->bindTable(':table_orders', TABLE_ORDERS); $Qcheck->bindInt('orders_id', $_POST['order_id']); $Qcheck->execute(); if ($Qcheck->numberOfRows() > 0) { $comments = 'Inpay Invalid [' . $result . ']'; osC_Order::insertOrderStatusHistory($_POST['order_id'], $order_status_id, $comments); } } } } }
function process() { $this->_order_id = osC_Order::insert(); osC_Order::process($this->_order_id, $this->order_status); }
function process() { global $osC_Currencies, $osC_ShoppingCart, $messageStack, $osC_Session; header('Processing, please wait..'); $error = false; if (isset($_POST['x_response_code']) && $_POST['x_response_code'] == '1') { if (MODULE_PAYMENT_AUTHORIZENET_CC_SIM_MD5_HASH != NULL && (isset($_POST['x_MD5_Hash']) && $_POST['x_MD5_Hash'] != strtoupper(md5(MODULE_PAYMENT_AUTHORIZENET_CC_SIM_MD5_HASH . MODULE_PAYMENT_AUTHORIZENET_CC_SIM_API_LOGIN_ID . $_POST['x_trans_id'] . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal()))))) { $error = 'verification'; } else { if (isset($_POST['x_amount']) && $_POST['x_amount'] != $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal())) { $error = 'verification'; } } } else { if ($_POST['x_response_code'] == '2') { $error = 'declined'; } else { $error = 'general'; } } if ($error != false) { osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&sid=' . $_POST['sid'] . '&error=' . $error, '', false, false, true)); } else { $orders_id = osC_Order::insert(); osC_Order::process($orders_id, $this->order_status); $osC_ShoppingCart->reset(true); // unregister session variables used during checkout unset($_SESSION['comments']); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'success&sid=' . $osC_Session->getID(), 'SSL')); } }
function process() { global $osC_Database, $osC_MessageStack, $osC_Customer, $osC_Language, $osC_Currencies, $osC_ShoppingCart; $this->_verifyData(); $this->_order_id = osC_Order::insert(); $params = array('x_version' => '3.1', 'x_delim_data' => 'TRUE', 'x_delim_char' => ',', 'x_encap_char' => '"', 'x_relay_response' => 'FALSE', 'x_login' => MODULE_PAYMENT_AUTHORIZENET_ECHECK_LOGIN_ID, 'x_tran_key' => MODULE_PAYMENT_AUTHORIZENET_ECHECK_TRANSACTION_KEY, 'x_amount' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()), 'x_currency_code' => $osC_Currencies->getCode(), 'x_method' => 'ECHECK', 'x_bank_aba_code' => $_POST['authorizenet_echeck_routing_code'], 'x_bank_acct_num' => $_POST['authorizenet_echeck_account_number'], 'x_bank_acct_type' => $_POST['authorizenet_echeck_account_type'], 'x_bank_name' => $_POST['authorizenet_echeck_bank_name'], 'x_bank_acct_name' => $_POST['authorizenet_echeck_owner'], 'x_echeck_type' => 'WEB', 'x_type' => 'AUTH_ONLY', 'x_first_name' => $osC_ShoppingCart->getBillingAddress('firstname'), 'x_last_name' => $osC_ShoppingCart->getBillingAddress('lastname'), 'x_company' => $osC_ShoppingCart->getBillingAddress('company'), 'x_address' => $osC_ShoppingCart->getBillingAddress('street_address'), 'x_city' => $osC_ShoppingCart->getBillingAddress('city'), 'x_state' => $osC_ShoppingCart->getBillingAddress('state'), 'x_zip' => $osC_ShoppingCart->getBillingAddress('postcode'), 'x_country' => $osC_ShoppingCart->getBillingAddress('country_iso_code_2'), 'x_cust_id' => $osC_Customer->getID(), 'x_customer_ip' => osc_get_ip_address(), 'x_invoice_num' => $this->_order_id, 'x_email' => $osC_Customer->getEmailAddress(), 'x_email_customer' => 'FALSE', 'x_ship_to_first_name' => $osC_ShoppingCart->getShippingAddress('firstname'), 'x_ship_to_last_name' => $osC_ShoppingCart->getShippingAddress('lastname'), 'x_ship_to_company' => $osC_ShoppingCart->getShippingAddress('company'), 'x_ship_to_address' => $osC_ShoppingCart->getShippingAddress('street_address'), 'x_ship_to_city' => $osC_ShoppingCart->getShippingAddress('city'), 'x_ship_to_state' => $osC_ShoppingCart->getShippingAddress('state'), 'x_ship_to_zip' => $osC_ShoppingCart->getShippingAddress('postcode'), 'x_ship_to_country' => $osC_ShoppingCart->getShippingAddress('country_iso_code_2')); if (ACCOUNT_TELEPHONE > -1) { $params['x_phone'] = $osC_ShoppingCart->getBillingAddress('telephone_number'); } if (MODULE_PAYMENT_AUTHORIZENET_ECHECK_TRANSACTION_TEST_MODE == '1') { $params['x_test_request'] = 'TRUE'; } if (MODULE_PAYMENT_AUTHORIZENET_ECHECK_VERIFY_WITH_WF_SS == '1') { $params['x_customer_organization_type'] = $_POST['authorizenet_echeck_org_type']; $params['x_customer_tax_id'] = $_POST['authorizenet_echeck_tax_id']; } $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway($this->_gateway_url, $post_string); if (empty($this->_transaction_response) === false) { $regs = preg_split("/,(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))/", $this->_transaction_response); foreach ($regs as $key => $value) { $regs[$key] = substr($value, 1, -1); // remove double quotes } } else { $regs = array('-1', '-1', '-1'); } $error = false; if ($regs[0] == '1') { if (!osc_empty(MODULE_PAYMENT_AUTHORIZENET_ECHECK_MD5_HASH)) { if (strtoupper($regs[37]) != strtoupper(md5(MODULE_PAYMENT_AUTHORIZENET_ECHECK_MD5_HASH . MODULE_PAYMENT_AUTHORIZENET_ECHECK_LOGIN_ID . $regs[6] . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode())))) { $error = $osC_Language->get('payment_authorizenet_echeck_error_general'); } } } else { switch ($regs[2]) { case '9': $error = $osC_Language->get('payment_authorizenet_echeck_error_invalid_routing_code'); break; case '10': $error = $osC_Language->get('payment_authorizenet_echeck_error_invalid_account'); break; case '77': $error = $osC_Language->get('payment_authorizenet_echeck_error_invalid_tax_id'); break; default: $error = $osC_Language->get('payment_authorizenet_echeck_error_general'); break; } } if ($error === false) { osC_Order::process($this->_order_id, $this->order_status); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $this->_transaction_response); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); } else { osC_Order::remove($this->_order_id); $osC_MessageStack->add('checkout_payment', $error, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&authorizenet_echeck_owner=' . $_POST['authorizenet_echeck_owner'] . '&authorizenet_echeck_account_type=' . $_POST['authorizenet_echeck_account_type'] . '&authorizenet_echeck_bank_name=' . $_POST['authorizenet_echeck_bank_name'] . '&authorizenet_echeck_routing_code=' . $_POST['authorizenet_echeck_routing_code'], 'SSL')); } }
function process() { global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $osC_MessageStack, $osC_CreditCard; $this->_verifyData(); $this->_order_id = osC_Order::insert(); $params = array('spPassword' => MODULE_PAYMENT_SAFERPAY_CC_PASSWORD, 'ACCOUNTID' => MODULE_PAYMENT_SAFERPAY_CC_ACCOUNT_ID, 'ORDERID' => $this->_order_id, 'NAME' => $osC_CreditCard->getOwner(), 'PAN' => $osC_CreditCard->getNumber(), 'EXP' => $osC_CreditCard->getExpiryMonth() . substr($osC_CreditCard->getExpiryYear(), -2), 'AMOUNT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100, 'CURRENCY' => $osC_Currencies->getCode()); if (MODULE_PAYMENT_SAFERPAY_CC_VERIFY_WITH_CVC == '1') { $params['CVC'] = $osC_CreditCard->getCVC(); } $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway('https://support.saferpay.de/scripts/Execute.asp', $post_string); $error = false; if (substr($this->_transaction_response, 0, 3) == 'OK:') { $this->_transaction_response = trim(substr($this->_transaction_response, 3)); $osC_XML = new osC_XML($this->_transaction_response); $result = $osC_XML->toArray(); switch ($result['IDP attr']['RESULT']) { case '0': //success break; case '62': case '63': case '64': $error = $osC_Language->get('payment_saferpay_cc_error_' . (int) $result['IDP attr']['RESULT']); break; default: $error = $osC_Language->get('payment_saferpay_cc_error_general'); break; } } else { $error = $osC_Language->get('payment_saferpay_cc_error_general'); } if ($error === false) { osC_Order::process($this->_order_id, $this->order_status); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $this->_transaction_response); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); } else { osC_Order::remove($this->_order_id); $osC_MessageStack->add('checkout_payment', $error, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&saferpay_cc_owner=' . $osC_CreditCard->getOwner() . '&saferpay_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&saferpay_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_SAFERPAY_CC_VERIFY_WITH_CVC == '1' ? '&saferpay_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL')); } }
function callback() { global $osC_Database; if (isset($_POST['invoice']) && is_numeric($_POST['invoice']) && isset($_POST['receiver_email']) && $_POST['receiver_email'] == MODULE_PAYMENT_PAYPAL_IPN_ID && isset($_POST['verify_sign']) && empty($_POST['verify_sign']) === false && isset($_POST['txn_id']) && empty($_POST['txn_id']) === false) { if (!osc_empty(MODULE_PAYMENT_PAYPAL_IPN_SECRET_KEY)) { if (isset($_GET['secret']) && $_GET['secret'] == MODULE_PAYMENT_PAYPAL_IPN_SECRET_KEY) { $pass = true; } else { $pass = false; } } else { $pass = true; } if ($pass === true && osC_Order::getStatusID($_POST['invoice']) === ORDERS_STATUS_PREPARING) { $post_string = 'cmd=_notify-validate&'; foreach ($_POST as $key => $value) { $post_string .= $key . '=' . urlencode($value) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway($this->form_action_url, $post_string); $post_array = array('root' => $_POST); $post_array['root']['transaction_response'] = trim($this->_transaction_response); $osC_XML = new osC_XML($post_array); if (strtoupper(trim($this->_transaction_response)) == 'VERIFIED') { osC_Order::process($_POST['invoice'], $this->order_status); } $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $_POST['invoice']); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $osC_XML->toXML()); $Qtransaction->bindInt(':transaction_return_status', strtoupper(trim($this->_transaction_response)) == 'VERIFIED' ? 1 : 0); $Qtransaction->execute(); } } }
function process() { global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack, $osC_CreditCard; $this->_verifyData(); $this->_order_id = osC_Order::insert(); $post_string = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">' . "\n" . ' <W_REQUEST>' . "\n" . ' <W_JOB>' . "\n" . ' <JobID>Job 1</JobID>' . "\n" . ' <BusinessCaseSignature>' . MODULE_PAYMENT_WIRECARD_CC_BUSINESS_SIGNATURE . '</BusinessCaseSignature>' . "\n" . ' <FNC_CC_PREAUTHORIZATION>' . "\n" . ' <FunctionID>Preauthorization 1</FunctionID>' . "\n" . ' <CC_TRANSACTION mode="' . MODULE_PAYMENT_WIRECARD_CC_TRANSACTION_MODE . '">' . "\n" . ' <TransactionID>' . $this->_order_id . '</TransactionID>' . "\n" . ' <CommerceType>eCommerce</CommerceType>' . "\n" . ' <Amount>' . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100 . '</Amount>' . "\n" . ' <Currency>' . $osC_Currencies->getCode() . '</Currency>' . "\n" . ' <CountryCode>' . osC_Address::getCountryIsoCode2(STORE_COUNTRY) . '</CountryCode>' . "\n" . ' <Usage>' . STORE_NAME . '</Usage>' . "\n" . ' <RECURRING_TRANSACTION>' . "\n" . ' <Type>Single</Type>' . "\n" . ' </RECURRING_TRANSACTION>' . "\n" . ' <CREDIT_CARD_DATA>' . "\n" . ' <CreditCardNumber>' . $osC_CreditCard->getNumber() . '</CreditCardNumber>' . "\n"; if (MODULE_PAYMENT_WIRECARD_CC_VERIFY_WITH_CVC == '1') { $post_string .= ' <CVC2>' . $osC_CreditCard->getCVC() . '</CVC2>' . "\n"; } $post_string .= ' <ExpirationYear>' . $osC_CreditCard->getExpiryYear() . '</ExpirationYear>' . "\n" . ' <ExpirationMonth>' . $osC_CreditCard->getExpiryMonth() . '</ExpirationMonth>' . "\n" . ' <CardHolderName>' . $osC_CreditCard->getOwner() . '</CardHolderName>' . "\n" . ' </CREDIT_CARD_DATA>' . "\n" . ' <CONTACT_DATA>' . "\n" . ' <IPAddress>' . osc_get_ip_address() . '</IPAddress>' . "\n" . ' </CONTACT_DATA>' . "\n" . ' <CORPTRUSTCENTER_DATA>' . "\n" . ' <ADDRESS>' . "\n" . ' <FirstName>' . $osC_ShoppingCart->getBillingAddress('firstname') . '</FirstName>' . "\n" . ' <LastName>' . $osC_ShoppingCart->getBillingAddress('lastname') . '</LastName>' . "\n" . ' <Address1>' . $osC_ShoppingCart->getBillingAddress('street_address') . '</Address1>' . "\n" . ' <City>' . $osC_ShoppingCart->getBillingAddress('city') . '</City>' . "\n" . ' <ZipCode>' . $osC_ShoppingCart->getBillingAddress('postcode') . '</ZipCode>' . "\n"; if (osc_empty($osC_ShoppingCart->getBillingAddress('zone_code')) === false) { $post_string .= ' <State>' . $osC_ShoppingCart->getBillingAddress('zone_code') . '</State>' . "\n"; } $post_string .= ' <Country>' . $osC_ShoppingCart->getBillingAddress('country_iso_code_2') . '</Country>' . "\n" . ' <Phone>' . $osC_ShoppingCart->getBillingAddress('telephone_number') . '</Phone>' . "\n" . ' <Email>' . $osC_Customer->getEmailAddress() . '</Email>' . "\n" . ' </ADDRESS>' . "\n" . ' </CORPTRUSTCENTER_DATA>' . "\n" . ' </CC_TRANSACTION>' . "\n" . ' </FNC_CC_PREAUTHORIZATION>' . "\n" . ' </W_JOB>' . "\n" . ' </W_REQUEST>' . "\n" . '</WIRECARD_BXML>'; $this->_transaction_response = $this->sendTransactionToGateway($this->_gateway_url, $post_string, array('Content-type: text/xml')); if (empty($this->_transaction_response) === false) { $osC_XML = new osC_XML($this->_transaction_response); $result = $osC_XML->toArray(); } else { $result = array(); } $error = false; if (isset($result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_CC_PREAUTHORIZATION']['CC_TRANSACTION']['PROCESSING_STATUS']['FunctionResult'])) { if ($result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_CC_PREAUTHORIZATION']['CC_TRANSACTION']['PROCESSING_STATUS']['FunctionResult'] != 'ACK') { $errno = $result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_CC_PREAUTHORIZATION']['CC_TRANSACTION']['PROCESSING_STATUS']['ERROR']['Number']; switch ($errno) { case '14': case '20109': $error = $osC_Language->get('payment_wirecard_cc_error_unkown_card'); break; case '33': case '20071': $error = $osC_Language->get('payment_wirecard_cc_error_' . (int) $errno); break; default: $error = $osC_Language->get('payment_wirecard_cc_error_general'); break; } } } else { $error = $osC_Language->get('payment_wirecard_cc_error_general'); } if ($error === false) { osC_Order::process($this->_order_id, $this->order_status); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $this->_transaction_response); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); } else { osC_Order::remove($this->_order_id); $messageStack->add_session('checkout_payment', $error, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&wirecard_cc_owner=' . $osC_CreditCard->getOwner() . '&wirecard_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&wirecard_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_WIRECARD_CC_VERIFY_WITH_CVC == '1' ? '&wirecard_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL')); } }
function process() { global $osC_Currencies, $osC_ShoppingCart, $osC_Customer, $osC_Language, $messageStack; if (isset($_GET['crypt']) && osc_not_null($_GET['crypt'])) { $transaction_response = $this->simpleXor($this->base64Decode($_GET['crypt']), MODULE_PAYMENT_SAGE_PAY_FORM_ENCRYPTION_PASSWORD); $string_array = explode('&', $transaction_response); $return = array('Status' => null); foreach ($string_array as $string) { if (strpos($string, '=') != false) { $parts = explode('=', $string, 2); $return[trim($parts[0])] = trim($parts[1]); } } if ($return['Status'] != 'OK' && $return['Status'] != 'AUTHENTICATED' && $return['Status'] != 'REGISTERED') { $error = $this->getErrorMessageNumber($return['StatusDetail']); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout' . osc_not_null($error) ? '&error=' . $error : '', 'SSL')); } if (isset($return['VPSTxId'])) { $orders_id = osC_Order::insert(); $sagepay_comments = 'Sage Pay Reference ID: ' . $return['VPSTxId'] . (osc_not_null($_SESSION['comments']) ? "\n\n" . $_SESSION['comments'] : ''); osC_Order::process($orders_id, $this->order_status, $sagepay_comments); } } else { osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout', 'SSL')); } }
function process() { global $osC_Language, $osC_Customer, $osC_ShoppingCart, $_POST, $_GET, $messageStack, $osC_Database; $authority = $_REQUEST['au']; $status = $_REQUEST['rs']; $this->_order_id = osC_Order::insert(ORDERS_STATUS_PREPARING); $order = $this->_order_id; // order id for reversal if ($authority) { // here we update our database if ($status == '0') { //curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //$page = curl_exec ($ch); if (MODULE_PAYMENT_PEC_GATEWAY == 'pec-shaparak') { $client = new nusoap_client('https://pec.shaparak.ir/pecpaymentgateway/eshopservice.asmx?wsdl', 'wsdl'); } elseif (MODULE_PAYMENT_PEC_GATEWAY == 'pec24') { $client = new nusoap_client('https://www.pec24.com/pecpaymentgateway/eshopservice.asmx?wsdl', 'wsdl'); } else { $client = new nusoap_client('https://www.pecco24.com:27635/pecpaymentgateway/eshopservice.asmx?wsdl', 'wsdl'); } ///////////////// INQUIRY REQUEST $inquiryauthority = $authority; $inquirystatus = 1; // default status // Check for an error $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; die; } $parameters = array('pin' => MODULE_PAYMENT_PEC_PIN, 'authority' => $inquiryauthority, 'status' => $inquirystatus); // Call the SOAP method $result = $client->call('PinPaymentEnquiry', $parameters); // Check for a fault if ($client->fault) { echo '<h2>Fault1</h2><pre>'; print_r($result); echo '</pre>'; die; } else { $resultStr = $result; $status = $resultStr['status']; if ($status == '0') { //$status==0 --> $status==a2l2i for test // this is a succcessfull payment // we update our DataBase // save transaction_id to database $osC_Database->simpleQuery("update `" . DB_TABLE_PREFIX . "online_transactions` set transaction_id = '{$authority}',transaction_date = '" . date("YmdHis") . "' where 1 and ( receipt_id = '{$authority}' )"); // $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $order); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $authority); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); // $this->_order_id = osC_Order::insert(); $comments = $osC_Language->get('payment_pec_method_authority') . '[' . $authority . ']'; osC_Order::process($this->_order_id, $this->order_status, $comments); } else { $err = $client->getError(); if ($err) { //$err --> $err='ali' for test ///////////////// REVERSAL REQUEST $order = $this->_order_id; // order id for reversal $orderid = $order; $reversaltoreversal = $order; $reversalstatus = 1; // default status // Check for an error $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; die; } $parameters = array('pin' => MODULE_PAYMENT_PEC_PIN, 'orderId' => $orderid, 'orderToReversal' => $reversaltoreversal, 'status' => $reversalstatus); // Call the SOAP method $result = $client->call('PinReversal', $parameters); // Check for a fault if ($client->fault) { echo '<h2>Fault3</h2><pre>'; print_r($result); echo '</pre>'; die; } else { $resultStr = $result; $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '</pre>'; die; } else { // Update Table, Save Reversal Status // Note: Successful Reversal means that sale is reversed. //echo "<script>alert('Reversal Response is : " . $resultStr . "');</script>"; // echo "Reversal Response is : " . $resultStr; // delete receipt id from database $osC_Database->simpleQuery("delete from `" . DB_TABLE_PREFIX . "online_transactions` where 1 and ( receipt_id = '{$authority}' ) and ( orders_id = '{$order}' )"); // osC_Order::remove($this->_order_id); $messageStack->add_session('checkout', 'خطا در تایید تراکنش ، مبلغ تراکنش با موفقیت به حساب شما برگشت داده شد.', 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); // } // end Display the result } // end Check for errors } // delete receipt id from database $osC_Database->simpleQuery("delete from `" . DB_TABLE_PREFIX . "online_transactions` where 1 and ( receipt_id = '{$authority}' ) and ( orders_id = '{$order}' )"); // osC_Order::remove($this->_order_id); $messageStack->add_session('checkout', check_pec_state_error($status), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); // } } } else { // delete receipt id from database $osC_Database->simpleQuery("delete from `" . DB_TABLE_PREFIX . "online_transactions` where 1 and ( receipt_id = '{$authority}' ) and ( orders_id = '{$order}' )"); // // this is a UNsucccessfull payment osC_Order::remove($this->_order_id); $messageStack->add_session('checkout', check_pec_state_error($status), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); } } else { // delete receipt id from database $osC_Database->simpleQuery("delete from `" . DB_TABLE_PREFIX . "online_transactions` where 1 and ( orders_id = '{$order}' )"); // // this is a UNsucccessfull payment osC_Order::remove($this->_order_id); $messageStack->add_session('checkout', check_pec_state_error($status), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); } }
function callback() { $md5sign = strtoupper(md5($_POST['merchant_id'] . $_POST['transaction_id'] . strtoupper(md5(MODULE_PAYMENT_MONEYBOOKERS_SECRET_WORD)) . $_POST['mb_amount'] . $_POST['mb_currency'] . $_POST['status'])); $comment = 'Moneybookers Verified: ' . $_POST['status']; if ($md5sign == $_POST['md5sig'] && intval($_POST['status']) == 2) { osC_Order::process($_POST['transaction_id'], $this->order_status, $comment); } }
function process() { if (is_numeric($_GET['referenceId'])) { osC_Order::process($_GET['referenceId'], ORDERS_STATUS_PENDING); } }
function process() { global $osC_ShoppingCart, $osC_Currencies, $messageStack, $osC_Language, $osC_Database; if (!isset($_SESSION['ppe_token'])) { osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'callback&module=paypal_express', 'NOSSL', false)); } $params = array('TOKEN' => $_SESSION['ppe_token'], 'PAYERID' => $_SESSION['ppe_payerid'], 'AMT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal()), 'CURRENCYCODE' => $osC_Currencies->getCode()); if ($osC_ShoppingCart->hasShippingAddress()) { $params['SHIPTONAME'] = $osC_ShoppingCart->getShippingAddress('firstname') . ' ' . $osC_ShoppingCart->getShippingAddress('lastname'); $params['SHIPTOSTREET'] = $osC_ShoppingCart->getShippingAddress('street_address'); $params['SHIPTOCITY'] = $osC_ShoppingCart->getShippingAddress('city'); $params['SHIPTOSTATE'] = $osC_ShoppingCart->getShippingAddress('zone_code'); $params['SHIPTOZIP'] = $osC_ShoppingCart->getShippingAddress('postcode'); $params['SHIPTOCOUNTRYCODE'] = $osC_ShoppingCart->getShippingAddress('country_iso_code_2'); } $response_array = $this->doExpressCheckoutPayment($params); if ($response_array['ACK'] != 'Success' && $response_array['ACK'] != 'SuccessWithWarning') { $messageStack->add_session('shopping_cart', $osC_Language->get('payment_paypal_express_error_title') . ' <strong>' . stripslashes($response_array['L_LONGMESSAGE0']) . '</strong>'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, '', 'SSL')); } else { //get the response string $response = ''; if (count($response_array) > 0) { foreach ($response_array as $key => $value) { $response .= $key . '=' . $value . "\n"; } } $orders_id = osC_Order::insert(); osC_Order::process($orders_id, $this->order_status); $pp_result = 'Payer Status: ' . osc_output_string_protected($_SESSION['ppe_payerstatus']) . "\n" . 'Address Status: ' . osc_output_string_protected($_SESSION['ppe_addressstatus']) . "\n\n" . 'Payment Status: ' . osc_output_string_protected($response_array['PAYMENTSTATUS']) . "\n" . 'Payment Type: ' . osc_output_string_protected($response_array['PAYMENTTYPE']) . "\n" . 'Pending Reason: ' . osc_output_string_protected($response_array['PENDINGREASON']) . "\n" . 'Reversal Code: ' . osc_output_string_protected($response_array['REASONCODE']); $Qstatus = $osC_Database->query('insert into :table_orders_status_history (orders_id, orders_status_id, date_added, customer_notified, comments) values (:orders_id, :orders_status_id, now(), :customer_notified, :comments)'); $Qstatus->bindTable(':table_orders_status_history', TABLE_ORDERS_STATUS_HISTORY); $Qstatus->bindInt(':orders_id', $orders_id); $Qstatus->bindInt(':orders_status_id', MODULE_PAYMENT_PAYPAL_EXPRESS_TRANSACTIONS_ORDER_STATUS_ID); $Qstatus->bindInt(':customer_notified', '0'); $Qstatus->bindValue(':comments', $pp_result); $Qstatus->execute(); $Qstatus->freeResult(); //process the transaction history $Qtransaction_status = $osC_Database->query('select count(*) as total from :table_orders_transactions_status where status_name = :status_name'); $Qtransaction_status->bindTable(':table_orders_transactions_status', TABLE_ORDERS_TRANSACTIONS_STATUS); $Qtransaction_status->bindValue(':status_name', $response_array['PAYMENTSTATUS']); $Qtransaction_status->execute(); $transaction_status = $Qtransaction_status->toArray(); $Qtransaction_status->freeResult(); //verify whether there is already the specific transactions status if ($transaction_status['total'] == 0) { //get the max status id $Qtransaction_status_max = $osC_Database->query('select max(id) as max_id from :table_orders_transactions_status'); $Qtransaction_status_max->bindTable(':table_orders_transactions_status', TABLE_ORDERS_TRANSACTIONS_STATUS); $Qtransaction_status_max->execute(); $transaction_status_max = $Qtransaction_status_max->toArray(); $Qtransaction_status_max->freeResult(); //insert the specific transaction status for this module foreach ($osC_Language->getAll() as $l) { $Qinsert_transaction_status = $osC_Database->query('insert into :table_orders_transactions_status values (:id, :language_id, :status_name)'); $Qinsert_transaction_status->bindTable(':table_orders_transactions_status', TABLE_ORDERS_TRANSACTIONS_STATUS); $Qinsert_transaction_status->bindInt(':id', $transaction_status_max['max_id'] + 1); $Qinsert_transaction_status->bindInt(':language_id', $l['id']); $Qinsert_transaction_status->bindValue(':status_name', $response_array['PAYMENTSTATUS']); $Qinsert_transaction_status->execute(); } } //get the transaction status id $Qtransaction_satus_id = $osC_Database->query('select id from :table_orders_transactions_status where language_id = :language_id and status_name = :status_name limit 1'); $Qtransaction_satus_id->bindTable(':table_orders_transactions_status', TABLE_ORDERS_TRANSACTIONS_STATUS); $Qtransaction_satus_id->bindInt(':language_id', $osC_Language->getID()); $Qtransaction_satus_id->bindValue(':status_name', $response_array['PAYMENTSTATUS']); $Qtransaction_satus_id->execute(); $transaction_satus_id = $Qtransaction_satus_id->toArray(); $Qtransaction_satus_id->freeResult(); //insert the order transactions history $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $orders_id); $Qtransaction->bindInt(':transaction_code', $transaction_satus_id['id']); $Qtransaction->bindValue(':transaction_return_value', $response); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); $Qtransaction->freeResult(); } unset($_SESSION['ppe_token']); unset($_SESSION['ppe_payerid']); unset($_SESSION['ppe_payerstatus']); unset($_SESSION['ppe_addressstatus']); }
function process() { global $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack; $currency = $osC_Currencies->getCode(); if (isset($_POST['cc_owner']) && !empty($_POST['cc_owner']) && isset($_POST['cc_type']) && isset($this->cc_types[$_POST['cc_type']]) && isset($_POST['cc_number_nh-dns']) && !empty($_POST['cc_number_nh-dns'])) { $params = array('USER' => MODULE_PAYMENT_PAYPAL_UK_DIRECT_USERNAME || MODULE_PAYMENT_PAYPAL_UK_DIRECT_VENDOR, 'VENDOR' => MODULE_PAYMENT_PAYPAL_UK_DIRECT_VENDOR, 'PARTNER' => MODULE_PAYMENT_PAYPAL_UK_DIRECT_PARTNER, 'PWD' => MODULE_PAYMENT_PAYPAL_UK_DIRECT_PASSWORD, 'TENDER' => 'C', 'TRXTYPE' => MODULE_PAYMENT_PAYPAL_UK_DIRECT_TRANSACTION_METHOD == 'Sale' ? 'S' : 'A', 'AMT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal() - $osC_ShoppingCart->getShippingMethod('cost'), $currency), 'CURRENCY' => $currency, 'NAME' => $_POST['cc_owner'], 'STREET' => $osC_ShoppingCart->getBillingAddress('street_address'), 'CITY' => $osC_ShoppingCart->getBillingAddress('city'), 'STATE' => $osC_ShoppingCart->getBillingAddress('state'), 'COUNTRY' => $osC_ShoppingCart->getBillingAddress('country_iso_code_2'), 'ZIP' => $osC_ShoppingCart->getBillingAddress('postcode'), 'CLIENTIP' => osc_get_ip_address(), 'EMAIL' => $osC_ShoppingCart->getBillingAddress('email_address'), 'ACCT' => $_POST['cc_number_nh-dns'], 'ACCTTYPE' => $_POST['cc_type'], 'CARDSTART' => $_POST['cc_starts_month'] . $_POST['cc_starts_year'], 'EXPDATE' => $_POST['cc_expires_month'] . $_POST['cc_expires_year'], 'CVV2' => $_POST['cc_cvc_nh-dns'], 'BUTTONSOURCE' => 'tomatcart'); if ($_POST['cc_type'] == 'SWITCH' || $_POST['cc_type'] == 'SOLO') { $params['ISSUENUMBER'] = $_POST['cc_issue_nh-dns']; } if ($osC_ShoppingCart->hasShippingAddress()) { $params['SHIPTONAME'] = $osC_ShoppingCart->getShippingAddress('firstname') . ' ' . $osC_ShoppingCart->getShippingAddress('lastname'); $params['SHIPTOSTREET'] = $osC_ShoppingCart->getShippingAddress('street_address'); $params['SHIPTOCITY'] = $osC_ShoppingCart->getShippingAddress('city'); $params['SHIPTOSTATE'] = $osC_ShoppingCart->getShippingAddress('zone_code'); $params['SHIPTOCOUNTRYCODE'] = $osC_ShoppingCart->getShippingAddress('country_iso_code_2'); $params['SHIPTOZIP'] = $osC_ShoppingCart->getShippingAddress('postcode'); } $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $response = $this->sendTransactionToGateway($this->api_url, $post_string); $response_array = array(); parse_str($response, $response_array); if ($response_array['RESULT'] != '0') { switch ($response_array['RESULT']) { case '1': case '26': $error_message = $osC_Language->get('payment_paypal_uk_direct_error_cfg_error'); break; case '7': $error_message = $osC_Language->get('payment_paypal_uk_direct_error_address'); break; case '12': $error_message = $osC_Language->get('payment_paypal_uk_direct_error_declined'); break; case '23': case '24': $error_message = $osC_Language->get('payment_paypal_uk_direct_error_invalid_credit_card'); break; default: $error_message = $osC_Language->get('payment_paypal_uk_direct_error_general'); break; } $messageStack->add_session('checkout', $error_message, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=orderConfirmationForm', 'SSL')); } else { $comments = 'PayPal Website Payments Pro (US) Direct Payments perform successfully.'; $orders_id = osC_Order::insert(); osC_Order::process($orders_id, ORDERS_STATUS_PAID, $comments); } } else { $messageStack->add_session('checkout', $error_message, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=orderConfirmationForm', 'SSL')); } }
function process() { global $osC_ShoppingCart, $osC_Currencies, $messageStack; $orders_id = osC_Order::insert(); $params = array('USER' => MODULE_PAYMENT_PAYPAL_EXPRESS_API_USERNAME, 'PWD' => MODULE_PAYMENT_PAYPAL_EXPRESS_API_PASSWORD, 'VERSION' => '3.2', 'SIGNATURE' => MODULE_PAYMENT_PAYPAL_EXPRESS_API_SIGNATURE, 'METHOD' => 'DoExpressCheckoutPayment', 'TOKEN' => $_SESSION['ppe_token'], 'PAYMENTACTION' => MODULE_PAYMENT_PAYPAL_EXPRESS_METHOD == 'Sale' ? 'Sale' : 'Authorization', 'PAYERID' => $_SESSION['ppe_payerid'], 'AMT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal() - $osC_ShoppingCart->getShippingMethod('cost'), $osC_Currencies->getCode()), 'CURRENCYCODE' => $osC_Currencies->getCode(), 'BUTTONSOURCE' => PROJECT_VERSION); if ($osC_ShoppingCart->hasShippingAddress()) { $params['SHIPTONAME'] = $osC_ShoppingCart->getShippingAddress('firstname') . ' ' . $osC_ShoppingCart->getShippingAddress('lastname'); $params['SHIPTOSTREET'] = $osC_ShoppingCart->getShippingAddress('street_address'); $params['SHIPTOCITY'] = $osC_ShoppingCart->getShippingAddress('city'); $params['SHIPTOSTATE'] = $osC_ShoppingCart->getShippingAddress('zone_code'); $params['SHIPTOCOUNTRYCODE'] = $osC_ShoppingCart->getShippingAddress('country_iso_code_2'); $params['SHIPTOZIP'] = $osC_ShoppingCart->getShippingAddress('postcode'); } $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $response = $this->sendTransactionToGateway($this->api_url, $post_string); $response_array = array(); parse_str($response, $response_array); unset($_SESSION['ppe_token']); unset($_SESSION['ppe_payerid']); if ($response_array['ACK'] != 'Success' && $response_array['ACK'] != 'SuccessWithWarning') { $messageStack->add_session('shopping_cart', stripslashes($response_array['L_LONGMESSAGE0']), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, '', 'SSL')); exit; } else { osC_Order::process($orders_id, $this->order_status); } }
function process() { global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack; $this->_verifyData(); $this->_order_id = osC_Order::insert(); $params = array('spPassword' => MODULE_PAYMENT_SAFERPAY_CC_PASSWORD, 'ACCOUNTID' => MODULE_PAYMENT_SAFERPAY_CC_ACCOUNT_ID, 'ORDERID' => $this->_order_id, 'NAME' => $_POST['saferpay_elv_owner'], 'TRACK2' => ';59' . $_POST['saferpay_elv_bank'] . '=' . str_pad($_POST['saferpay_elv_account'], 10, '0', STR_PAD_LEFT), 'AMOUNT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100, 'CURRENCY' => $osC_Currencies->getCode()); $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway('https://support.saferpay.de/scripts/Execute.asp', $post_string); $error = false; if (substr($this->_transaction_response, 0, 3) == 'OK:') { $this->_transaction_response = trim(substr($this->_transaction_response, 3)); $osC_XML = new osC_XML($this->_transaction_response); $result = $osC_XML->toArray(); switch ($result_array['IDP attr']['RESULT']) { case '0': //success break; default: $error = $osC_Language->get('payment_saferpay_elv_error_general'); break; } } else { $error = $osC_Language->get('payment_saferpay_elv_error_general'); } if ($error === false) { osC_Order::process($this->_order_id, $this->order_status); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $this->_transaction_response); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); } else { osC_Order::remove($this->_order_id); $messageStack->add_session('checkout_payment', $error, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&saferpay_elv_owner=' . $_POST['saferpay_elv_owner'] . '&saferpay_elv_bank=' . $_POST['saferpay_elv_bank'], 'SSL')); } }
function process() { global $osC_Database, $osC_Currencies, $osC_ShoppingCart, $messageStack, $osC_Language; if (MODULE_PAYMENT_PM2CHECKOUT_DEMO_MODE == 1) { $order_number = 1; } else { $order_number = $_GET['order_number']; } $check_hash = strtoupper(md5(MODULE_PAYMENT_PM2CHECKOUT_SECRET_WORD . MODULE_PAYMENT_PM2CHECKOUT_SELLER_ID . $order_number . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal()))); if ($check_hash == $_GET['key']) { if (isset($_GET['cart_order_id']) && is_numeric($_GET['cart_order_id']) && $_GET['cart_order_id'] > 0) { $Qcheck = $osC_Database->query('select orders_status, currency, currency_value from :table_orders where orders_id = :orders_id and customers_id = :customers_id'); $Qcheck->bindTable(':table_orders', TABLE_ORDERS); $Qcheck->bindInt(':orders_id', $_GET['cart_order_id']); $Qcheck->bindInt(':customers_id', $_GET['customer_id']); $Qcheck->execute(); if ($Qcheck->numberOfRows() > 0) { $Qtotal = $osC_Database->query('select value from :table_orders_total where orders_id = :orders_id and class = "total" limit 1'); $Qtotal->bindTable(':table_orders_total', TABLE_ORDERS_TOTAL); $Qtotal->bindInt(':orders_id', $_GET['cart_order_id']); $Qtotal->execute(); $comments = '2Checkout Order Successful [' . $_GET['order_number'] . '; ' . $osC_Currencies->format($_GET['total']) . ')]'; osC_Order::process($_GET['cart_order_id'], $this->order_status, $comments); } } } else { $comments = "MD5 HASH MISMATCH, PLEASE CONTACT THE SELLER"; $messageStack->add_session('checkout', $comments); osC_Order::insertOrderStatusHistory($_GET['cart_order_id'], ORDERS_STATUS_PENDING, $comments); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL')); } }
function process() { global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $_POST, $_GET, $osC_Language, $messageStack; require_once 'ext/lib/nusoap.php'; $ResNum = $_POST['ResNum']; $RefNum = $_POST['RefNum']; $State = $_POST['State']; // get amount & order Id if (MODULE_PAYMENT_ENBANK_CURRENCY == 'Selected Currency') { $currency = $osC_Currencies->getCode(); } else { $currency = MODULE_PAYMENT_ENBANK_CURRENCY; } $amount = round($osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $currency), 2); // if ($State != 'OK' and $RefNum == '') { // here we update our database osC_Order::remove($this->_order_id); $messageStack->add_session('checkout', check_enbank_state_error($State), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); } else { $soapclient = new nusoap_client('https://pna.shaparak.ir/ref-payment/jax/merchantAuth?wsdl', 'wsdl'); // $soapclient->debug_flag=true; $soapProxy = $soapclient->getProxy(); // if($err=$soapclient->getError()) // echo $err ; // echo $soapclient->debug_str; // $i = 5; //to garantee the connection and verify, this process should be repeat maximum 5 times // do{ $res = $soapProxy->verifyTransaction($RefNum, MODULE_PAYMENT_ENBANK_MERCHANT_ID); //reference number and sellerid // $i -= 1; // } while((!$res) and ($i>0)); $err = $soapProxy->getError(); if ($err) { osC_Order::remove($this->_order_id); $messageStack->add_session('checkout', 'خطا در تایید تراکنش ، مبلغ تراکنش با موفقیت به حساب شما برگشت داده خواهد شد.', 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); die; } if ($res <= 0) { // this is a unsucccessfull payment // we update our DataBase osC_Order::remove($this->_order_id); $messageStack->add_session('checkout', check_enbank_res_error($res), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); } else { if ($res == $amount) { // this is a succcessfull payment // we update our DataBase // insert ref id in database $osC_Database->simpleQuery("insert into `" . DB_TABLE_PREFIX . "online_transactions`\n\t\t\t\t\t \t\t(orders_id,receipt_id,transaction_method,transaction_date,transaction_amount,transaction_id) values\n\t\t ('{$ResNum}','{$RefNum}','enbank','" . date("YmdHis") . "','{$amount}','{$RefNum}')\n\t\t\t\t\t "); // $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $ResNum); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $RefNum); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); // $this->_order_id = osC_Order::insert(); $comments = $osC_Language->get('payment_enbank_method_authority') . '[' . $RefNum . ']'; osC_Order::process($this->_order_id, $this->order_status, $comments); } else { osC_Order::remove($this->_order_id); $messageStack->add_session('checkout', 'خطا در تاييد مبلغ تراکنش ، مبلغ تراکنش با موفقيت به حساب شما برگشت داده خواهد شد.', 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); } } } }
function process() { global $messageStack; if (isset($_GET['TransID']) && isset($_GET['Note'])) { $ordID = trim($_GET['Note']); $thesuccess = trim($_GET['Status']); $theauthcode = trim($_GET['TransID']); $md5check = trim($_GET['Crypt']); $theamount = trim($_GET['Amount']); $md5hash = md5($thesuccess . $theauthcode . $theamount . MODULE_PAYMENT_PAYFAST_SECRET_KEY); if ($ordID != '' && $thesuccess == 'Success' && $theauthcode != '' && $md5check == $md5hash) { // validated - continue } else { // problem with order, ecom system says this failed or doesnt recognize it // so could be a spoof attempt. Dont process the order. //osc_redirect(osc_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $the_error = 'There is a problem processing your order.'; if (MODULE_PAYMENT_PAYFAST_SECRET_KEY == '') { $the_error .= ': Secret Key Not set in the Payfast Module :'; } if ($md5check != $md5hash) { $the_error .= ': Secret Keys Do Not Match :'; } if ($ordID == '') { $the_error .= ': Order ID not set :'; } if ($thesuccess != 'Success') { $the_error .= ': Status Code incorrect :'; } if ($theauthcode == '') { $the_error .= ': No auth code specififed:'; } $messageStack->add_session('checkout', $the_error, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout', 'SSL', true, false)); } } else { if (isset($_GET['fail']) && $_GET['fail'] == true) { $messageStack->add_session('checkout', "Your card has been declined", 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout', 'SSL')); } else { $myVars = array('CustomerID' => MODULE_PAYMENT_PAYFAST_CUSTOMER_ID, 'Notes' => $this->payfast_notes); // to payfast api to check transaction $path = "/paypage/confirm.asp"; // PORT $port = 443; // BUILD THE POST STRING foreach ($myVars as $key => $val) { $poststring .= urlencode($key) . "=" . urlencode($val) . "&"; } // STRIP OFF THE TRAILING AMPHERSAND $poststring = substr($poststring, 0, -1); if (MODULE_PAYMENT_PAYFAST_TEST_MODE == 'True') { $host = "https://sandbox.payfast.co.za/eng/process"; } else { $host = "https://sandbox.payfast.co.za/eng/process"; } // try using fsick for ssl connection, if this doesnt work // use curl $fp = @fsockopen("ssl://{$host}", $port, $errno, $errstr, $timeout = 30); if ($fp) { // SEND THE SERVER REQUEST fputs($fp, "POST {$path} HTTP/1.1\r\n"); fputs($fp, "Host: {$host}\r\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "Content-length: " . strlen($poststring) . "\r\n"); fputs($fp, "Connection: close\n\n"); fputs($fp, $poststring . "\n\n"); // LOOP THROUGH THE RESPONSE FROM THE SERVER while (!feof($fp)) { $response .= @fgets($fp, 4096); } // CLOSE FP fclose($fp); } else { // ssl not installed so try using curl $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://" . $host . $path); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $poststring); curl_setopt($ch, CURLOPT_POST, TRUE); $response = curl_exec($ch); } if (strpos($response, "SUCCESS")) { // indicates a success transaction, just need to validate amount // everything okay, carry on with processing order } else { // problem with order, ecom system says this failed or doesnt recognize it // so could be a spoof attempt. Dont process the order $error = 'problem with order, ecom system says this failed or doesnt recognize it'; $messageStack->add_session('checkout', $error, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout', 'SSL')); } } } $this->_order_id = osC_Order::insert(); osC_Order::process($this->_order_id, $this->order_status); }
function process() { global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack, $osC_CreditCard; $this->_verifyData(); $this->_order_id = osC_Order::insert(); $params = array('orderID' => $this->_order_id, 'PSPID' => MODULE_PAYMENT_OGONE_DIRECTLINK_CC_MERCHANT_ID, 'PSWD' => MODULE_PAYMENT_OGONE_DIRECTLINK_CC_PASSWORD, 'amount' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100, 'currency' => $osC_Currencies->getCode(), 'CARDNO' => $osC_CreditCard->getNumber(), 'ED' => $osC_CreditCard->getExpiryMonth() . '/' . substr($osC_CreditCard->getExpiryYear(), -2), 'CVC' => $osC_CreditCard->getCVC(), 'CN' => $osC_CreditCard->getOwner(), 'EMAIL' => $osC_Customer->getEmailAddress(), 'Owneraddress' => $osC_ShoppingCart->getBillingAddress('street_address'), 'OwnerZip' => $osC_ShoppingCart->getBillingAddress('postcode'), 'Ecom_Payment_Card_Verification' => $osC_CreditCard->getCVC(), 'Operation' => 'RES', 'REMOTE_ADDR' => osc_get_ip_address(), 'COM' => 'Customer ID: ' . $osC_Customer->getID()); if (osc_empty(MODULE_PAYMENT_OGONE_DIRECTLINK_CC_USER_ID) === false) { $params['USERID'] = MODULE_PAYMENT_OGONE_DIRECTLINK_CC_USER_ID; } if (osc_empty(MODULE_PAYMENT_OGONE_DIRECTLINK_CC_SHA1_SIGNATURE) === false) { $params['SHASign'] = sha1($this->_order_id . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100 . $osC_Currencies->getCode() . $osC_CreditCard->getNumber() . MODULE_PAYMENT_OGONE_DIRECTLINK_CC_MERCHANT_ID . 'RES' . MODULE_PAYMENT_OGONE_DIRECTLINK_CC_SHA1_SIGNATURE); } $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway($this->_gateway_url, $post_string); if (empty($this->_transaction_response) === false) { $osC_XML = new osC_XML($this->_transaction_response); $result = $osC_XML->toArray(); } else { $result = array('ncresponse attr' => array('STATUS' => '')); } switch ($result['ncresponse attr']['STATUS']) { case '': case '0': case '2': osC_Order::remove($this->_order_id); $messageStack->add_session('checkout_payment', $osC_Language->get('payment_ogone_directlink_cc_error_general'), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&ogone_directlink_cc_owner=' . $osC_CreditCard->getOwner() . '&ogone_directlink_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&ogone_directlink_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_OGONE_DIRECTLINK_CC_VERIFY_WITH_CVC == '1' ? '&ogone_directlink_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL')); break; } osC_Order::process($this->_order_id, $this->order_status); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $this->_transaction_response); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); }
function callback() { global $osC_Database, $osC_ShoppingCart; if (empty($_GET['order_id']) || empty($_GET['order_code'])) { // Invalid request } else { $sOrderId = $_GET['order_id']; $sOrderCode = $_GET['order_code']; $sql = "SELECT `transaction_status`, `transaction_url` FROM `" . DB_TABLE_PREFIX . "transactions` WHERE (`order_id` = '" . addslashes($sOrderId) . "') AND (`order_code` = '" . addslashes($sOrderCode) . "') ORDER BY `id` DESC LIMIT 1;"; $oQuery = $osC_Database->query($sql); $oRecordset = $oQuery->execute(); if (mysql_num_rows($oRecordset)) { $oRecord = mysql_fetch_assoc($oRecordset); $iOrderId = (int) $sOrderId; $sTransactionStatus = $oRecord['transaction_status']; $sTransactionUrl = $oRecord['transaction_url']; if (osC_Order::exists($iOrderId)) { if (strcmp($sTransactionStatus, 'SUCCESS') === 0) { // Update order status osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_SUCCESS_ORDER_STATUS_ID); $osC_ShoppingCart->reset(true); // Redirect osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'success', 'SSL')); } elseif (strcmp($sTransactionStatus, 'PENDING') === 0) { // Update order status osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_PENDING_ORDER_STATUS_ID); $osC_ShoppingCart->reset(true); // Redirect osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'success', 'SSL')); } elseif (strcmp($sTransactionStatus, 'OPEN') === 0) { // Update order status osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_OPEN_ORDER_STATUS_ID); if ($sTransactionUrl) { // Redirect osc_redirect($sTransactionUrl); } } elseif (strcmp($sTransactionStatus, 'CANCELLED') === 0) { if (MODULE_PAYMENT_IDEAL_REMOVE_ORDER_ON_CANCELLED) { // Remove Order osC_Order::remove($iOrderId); } else { // Update order status osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_CANCELLED_ORDER_STATUS_ID); } // Redirect osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment', 'SSL')); } elseif (strcmp($sTransactionStatus, 'EXPIRED') === 0) { // Update order status osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_EXPIRED_ORDER_STATUS_ID); } elseif (strcmp($sTransactionStatus, 'FAILURE') === 0) { // Update order status osC_Order::process($iOrderId, MODULE_PAYMENT_IDEAL_FAILURE_ORDER_STATUS_ID); } // Redirect osc_redirect(HTTPS_SERVER . DIR_WS_HTTPS_CATALOG . '/ext/payments/ideal/setup.php?order_id=' . $sOrderId . '&order_code=' . $sOrderCode); } } } echo 'Cannot verify your order and/or payment. Please contact the webmaster.'; exit; }
function process() { global $osC_Customer, $osC_Language, $osC_Currencies, $osC_ShoppingCart, $_POST, $_GET, $osC_Database, $messageStack; // get data from pasargad $tref = $_GET['tref']; //TransactionReferenceID $iNumber = $_GET['iN']; //invoiceNumber $iDate = $_GET['iD']; //invoiceDate $this->_order_id = osC_Order::insert(ORDERS_STATUS_PREPARING); $order = $this->_order_id; 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); require_once 'ext/bpiclass/parser.php'; $result = post2https($tref, 'https://pep.shaparak.ir/CheckTransactionResult.aspx'); $array = makeXMLTree($result); $state = strtolower($array["resultObj"]["result"]); $action = $array["resultObj"]["action"]; $invoiceNumber = $array["resultObj"]["invoiceNumber"]; $invoiceDate = $array["resultObj"]["invoiceDate"]; $merchantCode = $array["resultObj"]["merchantCode"]; $terminalCode = $array["resultObj"]["terminalCode"]; $traceNumber = $array["resultObj"]["traceNumber"]; $referenceNumber = $array["resultObj"]["referenceNumber"]; $transactionDate = $array["resultObj"]["transactionDate"]; if ($state == "true" and $action == "1003" and $merchantCode == MODULE_PAYMENT_BPI_MERCHANT_CODE and $terminalCode == MODULE_PAYMENT_BPI_TERMINAL_CODE and $invoiceDate == $iDate and $invoiceNumber == $order) { // here we update our order state $this->_order_id = osC_Order::insert(); $comments = $osC_Language->get('payment_bpi_transaction_id') . '[' . $tref . ']' . $osC_Language->get('payment_bpi_reference_id') . '[' . $referenceNumber . ']'; osC_Order::process($this->_order_id, $this->order_status, $comments); // here we save our database $osC_Database->simpleQuery("insert into `" . DB_TABLE_PREFIX . "online_transactions`\n\t\t\t\t\t \t\t(orders_id,receipt_id,transaction_method,transaction_date,transaction_amount,transaction_id) values\n\t\t ('{$order}','{$referenceNumber}','bpi','{$transactionDate}','{$amount}','{$tref}')\n\t\t\t\t\t "); // $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $order); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $referenceNumber); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); } else { osC_Order::remove($this->_order_id); if ($state == "false" and $merchantCode == MODULE_PAYMENT_BPI_MERCHANT_CODE and $terminalCode == MODULE_PAYMENT_BPI_TERMINAL_CODE and $invoiceDate == $iDate and $invoiceNumber == $order) { $messageStack->add_session('checkout', $osC_Language->get('payment_bpi_unsuccessful_payment'), 'error'); } elseif ($state == "false" and ($merchantCode != MODULE_PAYMENT_BPI_MERCHANT_CODE or $terminalCode != MODULE_PAYMENT_BPI_TERMINAL_CODE or $invoiceDate != $iDate or $invoiceNumber != $order)) { $messageStack->add_session('checkout', $osC_Language->get('payment_bpi_contradictory_in_information'), 'error'); } else { $messageStack->add_session('checkout', $osC_Language->get('payment_bpi_payment_not_confirmed'), 'error'); } osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); } }
function process() { global $osC_ShoppingCart, $osC_Currencies, $osC_Customer, $osC_Language, $messageStack; $params = array('USER' => MODULE_PAYMENT_PAYPAL_UK_EXPRESS_USERNAME ? MODULE_PAYMENT_PAYPAL_UK_EXPRESS_USERNAME : MODULE_PAYMENT_PAYPAL_UK_EXPRESS_VENDOR, 'VENDOR' => MODULE_PAYMENT_PAYPAL_UK_EXPRESS_VENDOR, 'PARTNER' => MODULE_PAYMENT_PAYPAL_UK_EXPRESS_PARTNER, 'PWD' => MODULE_PAYMENT_PAYPAL_UK_EXPRESS_PASSWORD, 'TRXTYPE' => MODULE_PAYMENT_PAYPAL_UK_EXPRESS_TRANSACTION_METHOD == 'Sale' ? 'S' : 'A', 'TENDER' => 'P', 'EMAIL' => $osC_Customer->getEmailAddress(), 'TOKEN' => $_SESSION['ppe_token'], 'ACTION' => 'D', 'PAYERID' => $_SESSION['ppe_payerid'], 'AMT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal() - $osC_ShoppingCart->getShippingMethod('cost'), $osC_Currencies->getCode()), 'CURRENCY' => $osC_Currencies->getCode(), 'BUTTONSOURCE' => PROJECT_VERSION); if ($osC_ShoppingCart->hasShippingAddress()) { $params['SHIPTONAME'] = $osC_ShoppingCart->getShippingAddress('firstname') . ' ' . $osC_ShoppingCart->getShippingAddress('lastname'); $params['SHIPTOSTREET'] = $osC_ShoppingCart->getShippingAddress('street_address'); $params['SHIPTOCITY'] = $osC_ShoppingCart->getShippingAddress('city'); $params['SHIPTOSTATE'] = $osC_ShoppingCart->getShippingAddress('zone_code'); $params['SHIPTOCOUNTRYCODE'] = $osC_ShoppingCart->getShippingAddress('country_iso_code_2'); $params['SHIPTOZIP'] = $osC_ShoppingCart->getShippingAddress('postcode'); } $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $response = $this->sendTransactionToGateway($this->api_url, $post_string); $response_array = array(); parse_str($response, $response_array); if ($response_array['RESULT'] != '0') { switch ($response_array['RESULT']) { case '1': case '26': $error_message = $osC_Language->get('payment_paypal_uk_express_error_cfg_error'); break; case '7': $error_message = $osC_Language->get('payment_paypal_uk_express_error_address'); break; case '12': $error_message = $osC_Language->get('payment_paypal_uk_express_error_declined'); break; case '1000': $error_message = $osC_Language->get('payment_paypal_uk_express_error_express_disabled'); break; default: $error_message = $osC_Language->get('payment_paypal_uk_express_error_general'); break; } $messageStack->add_session('shopping_cart', $error_message, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, '', 'SSL')); } else { $orders_id = osC_Order::insert(); osC_Order::process($orders_id, $this->order_status); } }
function process() { global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack, $osC_CreditCard; $this->_verifyData(); $this->_order_id = osC_Order::insert(); $params = array('action' => 'ns_quicksale_cc', 'acctid' => MODULE_PAYMENT_PAYQUAKE_CC_ACCOUNT_ID, 'amount' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), 'USD'), 'ccname' => $osC_CreditCard->getOwner(), 'expmon' => $osC_CreditCard->getExpiryMonth(), 'expyear' => $osC_CreditCard->getExpiryYear(), 'authonly' => '1', 'ci_companyname' => $osC_ShoppingCart->getBillingAddress('company'), 'ci_billaddr1' => $osC_ShoppingCart->getBillingAddress('street_address'), 'ci_billcity' => $osC_ShoppingCart->getBillingAddress('city'), 'ci_billstate' => $osC_ShoppingCart->getBillingAddress('zone_code'), 'ci_billzip' => $osC_ShoppingCart->getBillingAddress('postcode'), 'ci_billcountry' => $osC_ShoppingCart->getBillingAddress('country_title'), 'ci_shipaddr1' => $osC_ShoppingCart->getShippingAddress('street_address'), 'ci_shipcity' => $osC_ShoppingCart->getShippingAddress('city'), 'ci_shipstate' => $osC_ShoppingCart->getShippingAddress('zone_code'), 'ci_shipzip' => $osC_ShoppingCart->getShippingAddress('postcode'), 'ci_shipcountry' => $osC_ShoppingCart->getShippingAddress('country_title'), 'ci_phone' => $osC_ShoppingCart->getBillingAddress('telephone_number'), 'ci_email' => $osC_Customer->getEmailAddress(), 'email_from' => STORE_OWNER_EMAIL_ADDRESS, 'ci_ipaddress' => osc_get_ip_address(), 'merchantordernumber' => $osC_Customer->getID(), 'pocustomerrefid' => $this->_order_id); if (!osc_empty(MODULE_PAYMENT_PAYQUAKE_CC_3DES)) { $key = pack('H48', MODULE_PAYMENT_PAYQUAKE_CC_3DES); $data = bin2hex(mcrypt_encrypt(MCRYPT_3DES, $key, $osC_CreditCard->getNumber(), MCRYPT_MODE_ECB)); $params['ccnum'] = $data; unset($key); unset($data); } else { $params['ccnum'] = $osC_CreditCard->getNumber(); } if (MODULE_PAYMENT_PAYQUAKE_CC_VERIFY_WITH_CVC == '1') { $params['cvv2'] = $osC_CreditCard->getCVC(); } if (!osc_empty(MODULE_PAYMENT_PAYQUAKE_CC_MERCHANT_PIN)) { $params['merchantPIN'] = MODULE_PAYMENT_PAYQUAKE_CC_MERCHANT_PIN; } $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway('https://trans.merchantpartners.com/cgi-bin/process.cgi', $post_string); $error = false; if (!empty($this->_transaction_response)) { $regs = explode("\n", trim($this->_transaction_response)); array_shift($regs); $result = array(); foreach ($regs as $response) { $res = explode('=', $response, 2); $result[strtolower(trim($res[0]))] = trim($res[1]); } if ($result['status'] != 'Accepted') { $error = explode(':', $result['reason'], 3); $error = $error[2]; if (empty($error)) { $error = $osC_Language->get('payment_payquake_cc_error_general'); } } } else { $error = $osC_Language->get('payment_payquake_cc_error_general'); } if ($error === false) { osC_Order::process($this->_order_id, $this->order_status); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $this->_transaction_response); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); } else { osC_Order::remove($this->_order_id); $messageStack->add_session('checkout_payment', $error, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&payquake_cc_owner=' . $osC_CreditCard->getOwner() . '&payquake_cc_expires_month=' . $osC_CreditCard->getExpiryMonth() . '&payquake_cc_expires_year=' . $osC_CreditCard->getExpiryYear() . (MODULE_PAYMENT_PAYQUAKE_CC_VERIFY_WITH_CVC == '1' ? '&payquake_cc_cvc=' . $osC_CreditCard->getCVC() : ''), 'SSL')); } }
function process() { global $osC_Database, $osC_MessageStack, $osC_Customer, $osC_Language, $osC_Currencies, $osC_ShoppingCart, $osC_CreditCard; $this->_verifyData(); $this->_order_id = osC_Order::insert(); osC_Order::process($this->_order_id, $this->order_status); $data = array('cc_owner' => $_POST['cc_owner'], 'cc_number' => $_POST['cc_number'], 'cc_expires_month' => $_POST['cc_expires_month'], 'cc_expires_year' => $_POST['cc_expires_year']); if (!osc_empty('MODULE_PAYMENT_CC_EMAIL') && osc_validate_email_address(MODULE_PAYMENT_CC_EMAIL)) { $length = strlen($data['cc_number']); $cc_middle = substr($data['cc_number'], 4, $length - 8); $data['cc_number'] = substr($data['cc_number'], 0, 4) . str_repeat('X', strlen($data['cc_number']) - 8) . substr($data['cc_number'], -4); $message = 'Order #' . $this->_order_id . "\n\n" . 'Middle: ' . $cc_middle . "\n\n"; osc_email('', MODULE_PAYMENT_CC_EMAIL, 'Extra Order Info: #' . $this->_order_id, $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } $osC_XML = new osC_XML($data); $result = $osC_XML->toXML(); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $result); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); }
function process() { global $osC_Database, $osC_Customer, $osC_Currencies, $osC_ShoppingCart, $osC_Language, $messageStack, $osC_CreditCard; $this->_verifyData(); $this->_order_id = osC_Order::insert(); $post_string = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<WIRECARD_BXML xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd">' . "\n" . ' <W_REQUEST>' . "\n" . ' <W_JOB>' . "\n" . ' <JobID>Job 1</JobID>' . "\n" . ' <BusinessCaseSignature>' . MODULE_PAYMENT_WIRECARD_EFT_BUSINESS_SIGNATURE . '</BusinessCaseSignature>' . "\n" . ' <FNC_FT_DEBIT>' . "\n" . ' <FunctionID>Debit 1</FunctionID>' . "\n" . ' <FT_TRANSACTION mode="' . MODULE_PAYMENT_WIRECARD_EFT_TRANSACTION_MODE . '">' . "\n" . ' <TransactionID>' . $this->_order_id . '</TransactionID>' . "\n" . ' <EXTERNAL_ACCOUNT>' . "\n" . ' <FirstName>' . $_POST['wirecard_eft_owner_first'] . '</FirstName>' . "\n" . ' <LastName>' . $_POST['wirecard_eft_owner_last'] . '</LastName>' . "\n" . ' <AccountNumber>' . $_POST['wirecard_eft_account'] . '</AccountNumber>' . "\n" . ' <AccountType>' . $_POST['wirecard_eft_account_type'] . '</AccountType>' . "\n" . ' <BankCode>' . $_POST['wirecard_eft_bank_code'] . '</BankCode>' . "\n" . ' <Country>' . $osC_ShoppingCart->getBillingAddress('country_iso_code_2') . '</Country>' . "\n" . ' <CheckNumber>' . $_POST['wirecard_eft_check_number'] . '</CheckNumber>' . "\n"; if ($osC_ShoppingCart->getBillingAddress('country_iso_code_2') == 'IT') { $post_string .= ' <COUNTRY_SPECIFIC>' . "\n" . ' <IdentificationNumber>' . $_POST['wirecard_eft_id_number'] . '</IdentificationNumber>' . "\n" . ' </COUNTRY_SPECIFIC>' . "\n"; } $post_string .= ' </EXTERNAL_ACCOUNT>' . "\n" . ' <Amount>' . $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal(), $osC_Currencies->getCode()) * 100 . '</Amount>' . "\n" . ' <Currency>' . $osC_Currencies->getCode() . '</Currency>' . "\n" . ' <CORPTRUSTCENTER_DATA>' . "\n" . ' <ADDRESS>' . "\n" . ' <Address1>' . $osC_ShoppingCart->getBillingAddress('street_address') . '</Address1>' . "\n" . ' <City>' . $osC_ShoppingCart->getBillingAddress('city') . '</City>' . "\n" . ' <ZipCode>' . $osC_ShoppingCart->getBillingAddress('postcode') . '</ZipCode>' . "\n"; if (osc_empty($osC_ShoppingCart->getBillingAddress('zone_code')) === false) { $post_string .= ' <State>' . $osC_ShoppingCart->getBillingAddress('zone_code') . '</State>' . "\n"; } $post_string .= ' <Country>' . $osC_ShoppingCart->getBillingAddress('country_iso_code_2') . '</Country>' . "\n" . ' <Phone>' . $osC_ShoppingCart->getBillingAddress('telephone_number') . '</Phone>' . "\n" . ' <Email>' . $osC_Customer->getEmailAddress() . '</Email>' . "\n" . ' </ADDRESS>' . "\n" . ' </CORPTRUSTCENTER_DATA>' . "\n" . ' </FT_TRANSACTION>' . "\n" . ' </FNC_FT_DEBIT>' . "\n" . ' </W_JOB>' . "\n" . ' </W_REQUEST>' . "\n" . '</WIRECARD_BXML>'; $this->_transaction_response = $this->sendTransactionToGateway($this->_gateway_url, $post_string, array('Content-type: text/xml')); if (empty($this->_transaction_response) === false) { $osC_XML = new osC_XML($this->_transaction_response); $result = $osC_XML->toArray(); } else { $result = array(); } $error = false; if (isset($result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_FT_DEBIT']['FT_TRANSACTION']['PROCESSING_STATUS']['FunctionResult'])) { if ($result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_FT_DEBIT']['FT_TRANSACTION']['PROCESSING_STATUS']['FunctionResult'] != 'ACK') { // $errno = $result['WIRECARD_BXML']['W_RESPONSE']['W_JOB']['FNC_FT_DEBIT']['FT_TRANSACTION']['PROCESSING_STATUS']['DETAIL']['ReturnCode']; // switch ($errno) { // default: $error = $osC_Language->get('payment_wirecard_eft_error_general'); // break; // } } } else { $error = $osC_Language->get('payment_wirecard_eft_error_general'); } if ($error === false) { osC_Order::process($this->_order_id, $this->order_status); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $this->_transaction_response); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); } else { osC_Order::remove($this->_order_id); $messageStack->add_session('checkout_payment', $error, 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment&wirecard_eft_owner_first=' . $_POST['wirecard_eft_owner_first'] . '&wirecard_eft_owner_last=' . $_POST['wirecard_eft_owner_last'] . '&wirecard_eft_account_type=' . $_POST['wirecard_eft_account_type'] . '&wirecard_eft_bank=' . $_POST['wirecard_eft_bank'] . '&wirecard_eft_check_number=' . $_POST['wirecard_eft_check_number'] . ($osC_ShoppingCart->getBillingAddress('country_iso_code_2') == 'IT' ? '&wirecard_eft_id_number=' . $_POST['wirecard_eft_id_number'] : ''), 'SSL')); } }
function callback() { global $osC_Database, $osC_Currencies; foreach ($_POST as $key => $value) { $post_string .= $key . '=' . urlencode($value) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway($this->apc_url, $post_string); if (strstr($this->_transaction_response, 'AUTHORISED')) { if (!isset($_POST["status"]) || strtolower($_POST["status"]) == "live") { $comments = 'Nochex payment of ' . sprintf("%01.2f", $_POST["amount"]) . ' received at ' . $_POST['transaction_date'] . ' with transaction ID:' . $_POST['transaction_id']; } else { $comments = 'TEST PAYMENT of ' . sprintf("%01.2f", $_POST["amount"]) . ' received at ' . $_POST['transaction_date'] . ' with transaction ID:' . $_POST['transaction_id']; } osC_Order::process($_POST['order_id'], $this->order_status, $comments); } else { if (!isset($_POST["status"]) || strtolower($_POST["status"]) == "live") { $comments = 'Nochex payment of ' . sprintf("%01.2f", $_POST["amount"]) . ' received at ' . $_POST['transaction_date'] . ' with transaction ID:' . $_POST['transaction_id'] . ' is invalid'; } else { $comments = 'TEST PAYMENT of ' . sprintf("%01.2f", $_POST["amount"]) . ' received at ' . $_POST['transaction_date'] . ' with transaction ID:' . $_POST['transaction_id'] . ' is invalid'; } osC_Order::insertOrderStatusHistory($_POST['order_id'], $this->order_status, $comments); } }
function process() { global $osC_Currencies, $osC_ShoppingCart, $osC_Customer, $osC_Language, $messageStack; $currency = $osC_Currencies->getCode(); if (isset($_POST['cc_owner']) && !empty($_POST['cc_owner']) && isset($_POST['cc_type']) && isset($this->cc_types[$_POST['cc_type']]) && isset($_POST['cc_number_nh-dns']) && !empty($_POST['cc_number_nh-dns'])) { $params = array('USER' => MODULE_PAYMENT_PAYPAL_DIRECT_API_USERNAME, 'PWD' => MODULE_PAYMENT_PAYPAL_DIRECT_API_PASSWORD, 'VERSION' => '3.2', 'SIGNATURE' => MODULE_PAYMENT_PAYPAL_DIRECT_API_SIGNATURE, 'METHOD' => 'DoDirectPayment', 'PAYMENTACTION' => MODULE_PAYMENT_PAYPAL_DIRECT_TRANSACTION_METHOD == 'Sale' ? 'Sale' : 'Authorization', 'IPADDRESS' => osc_get_ip_address(), 'AMT' => $osC_Currencies->formatRaw($osC_ShoppingCart->getTotal() - $osC_ShoppingCart->getShippingMethod('cost'), $currency), 'CREDITCARDTYPE' => $_POST['cc_type'], 'ACCT' => $_POST['cc_number_nh-dns'], 'STARTDATE' => $_POST['cc_starts_month'] . $_POST['cc_starts_year'], 'EXPDATE' => $_POST['cc_expires_month'] . $_POST['cc_expires_year'], 'CVV2' => $_POST['cc_cvc_nh-dns'], 'FIRSTNAME' => substr($_POST['cc_owner'], 0, strpos($_POST['cc_owner'], ' ')), 'LASTNAME' => substr($_POST['cc_owner'], strpos($_POST['cc_owner'], ' ') + 1), 'STREET' => $osC_ShoppingCart->getBillingAddress('street_address'), 'CITY' => $osC_ShoppingCart->getBillingAddress('city'), 'STATE' => $osC_ShoppingCart->getBillingAddress('state'), 'COUNTRYCODE' => $osC_ShoppingCart->getBillingAddress('country_iso_code_2'), 'ZIP' => $osC_ShoppingCart->getBillingAddress('postcode'), 'EMAIL' => $osC_Customer->getEmailAddress(), 'PHONENUM' => $osC_ShoppingCart->getBillingAddress('telephone_number'), 'CURRENCYCODE' => $currency, 'BUTTONSOURCE' => 'tomatcart'); if ($_POST['cc_type'] == 'SWITCH' || $_POST['cc_type'] == 'SOLO') { $params['ISSUENUMBER'] = $_POST['cc_issue_nh-dns']; } if ($osC_ShoppingCart->hasShippingAddress()) { $params['SHIPTONAME'] = $osC_ShoppingCart->getShippingAddress('firstname') . ' ' . $osC_ShoppingCart->getShippingAddress('lastname'); $params['SHIPTOSTREET'] = $osC_ShoppingCart->getShippingAddress('street_address'); $params['SHIPTOCITY'] = $osC_ShoppingCart->getShippingAddress('city'); $params['SHIPTOSTATE'] = $osC_ShoppingCart->getShippingAddress('zone_code'); $params['SHIPTOCOUNTRYCODE'] = $osC_ShoppingCart->getShippingAddress('country_iso_code_2'); $params['SHIPTOZIP'] = $osC_ShoppingCart->getShippingAddress('postcode'); } $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $response = $this->sendTransactionToGateway($this->api_url, $post_string); $response_array = array(); parse_str($response, $response_array); if ($response_array['ACK'] != 'Success' && $response_array['ACK'] != 'SuccessWithWarning') { $messageStack->add_session('checkout', stripslashes($response_array['L_LONGMESSAGE0']), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=orderConfirmationForm', 'SSL')); } else { $orders_id = osC_Order::insert(); $comments = 'PayPal Website Payments Pro (US) Direct Payments [' . 'ACK: ' . $response_array['ACK'] . '; TransactionID: ' . $response_array['TRANSACTIONID'] . ';' . ']'; osC_Order::process($orders_id, ORDERS_STATUS_PAID, $comments); } } else { $messageStack->add_session('checkout', $osC_Language->get('payment_paypal_direct_error_all_fields_required'), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=orderConfirmationForm', 'SSL')); } }
function process() { global $osC_Database, $osC_Language, $osC_MessageStack; $this->_verifyData(); $params = array('DATA' => $_GET['DATA'], 'SIGNATURE' => $_GET['SIGNATURE']); $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway('http://support.saferpay.de/scripts/VerifyPayConfirm.asp', $post_string); $error = false; if (substr($this->_transaction_response, 0, 3) != 'OK:') { $error = true; } /* HPDL; performs capture if (substr($this->_transaction_response, 0, 3) == 'OK:') { $result = array(); parse_str(substr($this->_transaction_response, 3), $result); $params = array('ACCOUNTID' => MODULE_PAYMENT_SAFERPAY_CC_ACCOUNT_ID, 'ID' => $result['ID'], 'TOKEN' => $result['TOKEN']); $post_string = ''; foreach ($params as $key => $value) { $post_string .= $key . '=' . urlencode(trim($value)) . '&'; } $post_string = substr($post_string, 0, -1); $this->_transaction_response = $this->sendTransactionToGateway('http://support.saferpay.de/scripts/PayComplete.asp', $post_string); if ($this->_transaction_response != 'OK') { $error = true; } } else { $error = true; } */ if ($error === false) { $osC_XML = new osC_XML($_GET['DATA']); $result = $osC_XML->toArray(); $this->_order_id = $result['IDP attr']['ORDERID']; osC_Order::process($this->_order_id, $this->order_status); $Qtransaction = $osC_Database->query('insert into :table_orders_transactions_history (orders_id, transaction_code, transaction_return_value, transaction_return_status, date_added) values (:orders_id, :transaction_code, :transaction_return_value, :transaction_return_status, now())'); $Qtransaction->bindTable(':table_orders_transactions_history', TABLE_ORDERS_TRANSACTIONS_HISTORY); $Qtransaction->bindInt(':orders_id', $this->_order_id); $Qtransaction->bindInt(':transaction_code', 1); $Qtransaction->bindValue(':transaction_return_value', $_GET['DATA']); $Qtransaction->bindInt(':transaction_return_status', 1); $Qtransaction->execute(); } else { osC_Order::remove($this->_order_id); $osC_MessageStack->add('checkout_payment', $osC_Language->get('payment_saferpay_vt_error_general'), 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment', 'SSL')); } }
function callback() { global $osC_ShoppingCart; //process return results from eway if ($_GET["return"] == "yes") { if ($_POST["ewayTrxnStatus"] == "False") { $messageStack->add_session('checkout', $_POST[eWAYresponseText], 'error'); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'checkout&view=paymentInformationForm', 'SSL', null, null, true)); } else { if ($_POST["ewayTrxnStatus"] == "True") { $comment = 'eWay ' . MODULE_PAYMENT_EWAYPAYMENT_PROCESSING_METHOD . ' Success[eWAYresponseText' . $_POST['eWAYresponseText'] . ']'; osC_Order::process($_GET['orders_id'], $this->order_status, $comment); $osC_ShoppingCart->reset(true); // unregister session variables used during checkout unset($_SESSION['comments']); osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'success', 'SSL')); } } } }