本文整理汇总了PHP中Payment::getPaymentProcessorId方法的典型用法代码示例。如果您正苦于以下问题:PHP Payment::getPaymentProcessorId方法的具体用法?PHP Payment::getPaymentProcessorId怎么用?PHP Payment::getPaymentProcessorId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Payment
的用法示例。
在下文中一共展示了Payment::getPaymentProcessorId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: update_status
/**
* Updates the status of the Order with the given ID
*
* If the order exists and has the pending status (status == 0),
* it is updated according to the payment and distribution type.
* Note that status other than pending are never changed!
* If the optional argument $newOrderStatus is set and not pending,
* the order status is set to that value instead.
* Returns the new Order status on success.
* If either the order ID is invalid, or if the update fails, returns
* the Order status "pending" (zero).
* @access private
* @static
* @param integer $order_id The ID of the current order
* @param integer $newOrderStatus The optional new order status.
* @param string $handler The Payment type name in use
* @return integer The new order status (may be zero)
* if the order status can be changed
* accordingly, zero otherwise
*/
static function update_status($order_id, $newOrderStatus = 0, $handler = NULL)
{
global $objDatabase, $_ARRAYLANG;
if (is_null($handler) && isset($_REQUEST['handler'])) {
$handler = contrexx_input2raw($_REQUEST['handler']);
}
$order_id = intval($order_id);
if ($order_id == 0) {
return Order::STATUS_CANCELLED;
}
$query = "\n SELECT status, payment_id, shipment_id\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_orders\n WHERE id={$order_id}";
$objResult = $objDatabase->Execute($query);
if (!$objResult || $objResult->EOF) {
return Order::STATUS_CANCELLED;
}
$status = $objResult->fields['status'];
// Never change a non-pending status!
// Whether a payment was successful or not, the status must be
// left alone.
if ($status != Order::STATUS_PENDING) {
// The status of the order is not pending.
// This may be due to a wrong order ID, a page reload,
// or a PayPal IPN that has been received already.
// No order status is changed automatically in these cases!
// Leave it as it is.
return $status;
}
// Determine and verify the payment handler
$payment_id = $objResult->fields['payment_id'];
//if (!$payment_id) DBG::log("update_status($order_id, $newOrderStatus): Failed to find Payment ID for Order ID $order_id");
$processor_id = Payment::getPaymentProcessorId($payment_id);
//if (!$processor_id) DBG::log("update_status($order_id, $newOrderStatus): Failed to find Processor ID for Payment ID $payment_id");
$processorName = PaymentProcessing::getPaymentProcessorName($processor_id);
//if (!$processorName) DBG::log("update_status($order_id, $newOrderStatus): Failed to find Processor Name for Processor ID $processor_id");
// The payment processor *MUST* match the handler returned.
if (!preg_match("/^{$handler}/i", $processorName)) {
//DBG::log("update_status($order_id, $newOrderStatus): Mismatching Handlers: Order $processorName, Request ".$_GET['handler']);
return Order::STATUS_CANCELLED;
}
// Only if the optional new order status argument is zero,
// determine the new status automatically.
if ($newOrderStatus == Order::STATUS_PENDING) {
// The new order status is determined by two properties:
// - The method of payment (instant/deferred), and
// - The method of delivery (if any).
// If the payment takes place instantly (currently, all
// external payments processors are considered to do so),
// and there is no delivery needed (because it's all
// downloads), the order status is switched to 'completed'
// right away.
// If only one of these conditions is met, the status is set to
// 'paid', or 'delivered' respectively.
// If neither condition is met, the status is set to 'confirmed'.
$newOrderStatus = Order::STATUS_CONFIRMED;
$processorType = PaymentProcessing::getCurrentPaymentProcessorType($processor_id);
$shipmentId = $objResult->fields['shipment_id'];
if ($processorType == 'external') {
// External payment types are considered instant.
// See $_SESSION['shop']['isInstantPayment'].
if ($shipmentId == 0) {
// instant, download -> completed
$newOrderStatus = Order::STATUS_COMPLETED;
} else {
// There is a shipper, so this order will bedelivered.
// See $_SESSION['shop']['isDelivery'].
// instant, delivery -> paid
$newOrderStatus = Order::STATUS_PAID;
}
} else {
// Internal payment types are considered deferred.
if ($shipmentId == 0) {
// deferred, download -> shipped
$newOrderStatus = Order::STATUS_SHIPPED;
}
//else { deferred, delivery -> confirmed }
}
}
$query = "\n UPDATE " . DBPREFIX . "module_shop" . MODULE_INDEX . "_orders\n SET status='{$newOrderStatus}'\n WHERE id={$order_id}";
$objResult = $objDatabase->Execute($query);
if (!$objResult) {
//.........这里部分代码省略.........
示例2: processor_name
static function processor_name()
{
// Added initializing of the payment processor below
// in order to determine whether to show the LSV form.
$processor_id = 0;
$processor_name = '';
if (!empty($_SESSION['shop']['paymentId'])) {
$processor_id = Payment::getPaymentProcessorId($_SESSION['shop']['paymentId']);
}
if (!empty($processor_id)) {
$processor_name = PaymentProcessing::getPaymentProcessorName($processor_id);
}
return $processor_name;
}
示例3: view_detail
/**
* Set up the detail view of the selected order
* @access public
* @param \Cx\Core\Html\Sigma $objTemplate The Template, by reference
* @param boolean $edit Edit if true, view otherwise
* @global ADONewConnection $objDatabase Database connection object
* @global array $_ARRAYLANG Language array
* @return boolean True on success,
* false otherwise
* @static
* @author Reto Kohli <reto.kohli@comvation.com> (parts)
* @version 3.1.0
*/
static function view_detail(&$objTemplate = null, $edit = false)
{
global $objDatabase, $_ARRAYLANG, $objInit;
$backend = $objInit->mode == 'backend';
if ($objTemplate->blockExists('order_list')) {
$objTemplate->hideBlock('order_list');
}
$have_option = false;
// The order total -- in the currency chosen by the customer
$order_sum = 0;
// recalculated VAT total
$total_vat_amount = 0;
$order_id = intval($_REQUEST['order_id']);
if (!$order_id) {
return \Message::error($_ARRAYLANG['TXT_SHOP_ORDER_ERROR_INVALID_ORDER_ID']);
}
if (!$objTemplate) {
$template_name = $edit ? 'module_shop_order_edit.html' : 'module_shop_order_details.html';
$objTemplate = new \Cx\Core\Html\Sigma(\Cx\Core\Core\Controller\Cx::instanciate()->getCodeBaseModulePath() . '/Shop/View/Template/Backend');
//DBG::log("Orders::view_list(): new Template: ".$objTemplate->get());
$objTemplate->loadTemplateFile($template_name);
//DBG::log("Orders::view_list(): loaded Template: ".$objTemplate->get());
}
$objOrder = Order::getById($order_id);
if (!$objOrder) {
//DBG::log("Shop::shopShowOrderdetails(): Failed to find Order ID $order_id");
return \Message::error(sprintf($_ARRAYLANG['TXT_SHOP_ORDER_NOT_FOUND'], $order_id));
}
// lsv data
$query = "\n SELECT `holder`, `bank`, `blz`\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_lsv\n WHERE order_id={$order_id}";
$objResult = $objDatabase->Execute($query);
if (!$objResult) {
return self::errorHandler();
}
if ($objResult->RecordCount() == 1) {
$objTemplate->setVariable(array('SHOP_ACCOUNT_HOLDER' => contrexx_raw2xhtml($objResult->fields['holder']), 'SHOP_ACCOUNT_BANK' => contrexx_raw2xhtml($objResult->fields['bank']), 'SHOP_ACCOUNT_BLZ' => contrexx_raw2xhtml($objResult->fields['blz'])));
}
$customer_id = $objOrder->customer_id();
if (!$customer_id) {
//DBG::log("Shop::shopShowOrderdetails(): Invalid Customer ID $customer_id");
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_INVALID_CUSTOMER_ID'], $customer_id));
}
$objCustomer = Customer::getById($customer_id);
if (!$objCustomer) {
//DBG::log("Shop::shopShowOrderdetails(): Failed to find Customer ID $customer_id");
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_CUSTOMER_NOT_FOUND'], $customer_id));
$objCustomer = new Customer();
// No editing allowed!
$have_option = true;
}
Vat::is_reseller($objCustomer->is_reseller());
Vat::is_home_country(\Cx\Core\Setting\Controller\Setting::getValue('country_id', 'Shop') == $objOrder->country_id());
$objTemplate->setGlobalVariable($_ARRAYLANG + array('SHOP_CURRENCY' => Currency::getCurrencySymbolById($objOrder->currency_id())));
//DBG::log("Order sum: ".Currency::formatPrice($objOrder->sum()));
$objTemplate->setVariable(array('SHOP_CUSTOMER_ID' => $customer_id, 'SHOP_ORDERID' => $order_id, 'SHOP_DATE' => date(ASCMS_DATE_FORMAT_INTERNATIONAL_DATETIME, strtotime($objOrder->date_time())), 'SHOP_ORDER_STATUS' => $edit ? Orders::getStatusMenu($objOrder->status(), false, null, 'swapSendToStatus(this.value)') : $_ARRAYLANG['TXT_SHOP_ORDER_STATUS_' . $objOrder->status()], 'SHOP_SEND_MAIL_STYLE' => $objOrder->status() == Order::STATUS_CONFIRMED ? 'display: inline;' : 'display: none;', 'SHOP_SEND_MAIL_STATUS' => $edit ? $objOrder->status() != Order::STATUS_CONFIRMED ? \Html::ATTRIBUTE_CHECKED : '' : '', 'SHOP_ORDER_SUM' => Currency::formatPrice($objOrder->sum()), 'SHOP_DEFAULT_CURRENCY' => Currency::getDefaultCurrencySymbol(), 'SHOP_GENDER' => $edit ? Customer::getGenderMenu($objOrder->billing_gender(), 'billing_gender') : $_ARRAYLANG['TXT_SHOP_' . strtoupper($objOrder->billing_gender())], 'SHOP_COMPANY' => $objOrder->billing_company(), 'SHOP_FIRSTNAME' => $objOrder->billing_firstname(), 'SHOP_LASTNAME' => $objOrder->billing_lastname(), 'SHOP_ADDRESS' => $objOrder->billing_address(), 'SHOP_ZIP' => $objOrder->billing_zip(), 'SHOP_CITY' => $objOrder->billing_city(), 'SHOP_COUNTRY' => $edit ? \Cx\Core\Country\Controller\Country::getMenu('billing_country_id', $objOrder->billing_country_id()) : \Cx\Core\Country\Controller\Country::getNameById($objOrder->billing_country_id()), 'SHOP_PHONE' => $objOrder->billing_phone(), 'SHOP_FAX' => $objOrder->billing_fax(), 'SHOP_EMAIL' => $objOrder->billing_email(), 'SHOP_SHIP_GENDER' => $edit ? Customer::getGenderMenu($objOrder->gender(), 'shipPrefix') : $_ARRAYLANG['TXT_SHOP_' . strtoupper($objOrder->gender())], 'SHOP_SHIP_COMPANY' => $objOrder->company(), 'SHOP_SHIP_FIRSTNAME' => $objOrder->firstname(), 'SHOP_SHIP_LASTNAME' => $objOrder->lastname(), 'SHOP_SHIP_ADDRESS' => $objOrder->address(), 'SHOP_SHIP_ZIP' => $objOrder->zip(), 'SHOP_SHIP_CITY' => $objOrder->city(), 'SHOP_SHIP_COUNTRY' => $edit ? \Cx\Core\Country\Controller\Country::getMenu('shipCountry', $objOrder->country_id()) : \Cx\Core\Country\Controller\Country::getNameById($objOrder->country_id()), 'SHOP_SHIP_PHONE' => $objOrder->phone(), 'SHOP_PAYMENTTYPE' => Payment::getProperty($objOrder->payment_id(), 'name'), 'SHOP_CUSTOMER_NOTE' => $objOrder->note(), 'SHOP_COMPANY_NOTE' => $objCustomer->companynote(), 'SHOP_SHIPPING_TYPE' => $objOrder->shipment_id() ? Shipment::getShipperName($objOrder->shipment_id()) : ' '));
if ($backend) {
$objTemplate->setVariable(array('SHOP_CUSTOMER_IP' => $objOrder->ip() ? '<a href="index.php?cmd=NetTools&tpl=whois&address=' . $objOrder->ip() . '" title="' . $_ARRAYLANG['TXT_SHOW_DETAILS'] . '">' . $objOrder->ip() . '</a>' : ' ', 'SHOP_CUSTOMER_HOST' => $objOrder->host() ? '<a href="index.php?cmd=NetTools&tpl=whois&address=' . $objOrder->host() . '" title="' . $_ARRAYLANG['TXT_SHOW_DETAILS'] . '">' . $objOrder->host() . '</a>' : ' ', 'SHOP_CUSTOMER_LANG' => \FWLanguage::getLanguageParameter($objOrder->lang_id(), 'name'), 'SHOP_CUSTOMER_BROWSER' => $objOrder->browser() ? $objOrder->browser() : ' ', 'SHOP_LAST_MODIFIED' => $objOrder->modified_on() && $objOrder->modified_on() != '0000-00-00 00:00:00' ? $objOrder->modified_on() . ' ' . $_ARRAYLANG['TXT_EDITED_BY'] . ' ' . $objOrder->modified_by() : $_ARRAYLANG['TXT_ORDER_WASNT_YET_EDITED']));
} else {
// Frontend: Order history ONLY. Repeat the Order, go to cart
$objTemplate->setVariable(array('SHOP_ACTION_URI_ENCODED' => \Cx\Core\Routing\Url::fromModuleAndCmd('Shop', 'cart')));
}
$ppName = '';
$psp_id = Payment::getPaymentProcessorId($objOrder->payment_id());
if ($psp_id) {
$ppName = PaymentProcessing::getPaymentProcessorName($psp_id);
}
$objTemplate->setVariable(array('SHOP_SHIPPING_PRICE' => $objOrder->shipment_amount(), 'SHOP_PAYMENT_PRICE' => $objOrder->payment_amount(), 'SHOP_PAYMENT_HANDLER' => $ppName, 'SHOP_LAST_MODIFIED_DATE' => $objOrder->modified_on()));
if ($edit) {
// edit order
$strJsArrShipment = Shipment::getJSArrays();
$objTemplate->setVariable(array('SHOP_SEND_TEMPLATE_TO_CUSTOMER' => sprintf($_ARRAYLANG['TXT_SEND_TEMPLATE_TO_CUSTOMER'], $_ARRAYLANG['TXT_ORDER_COMPLETE']), 'SHOP_SHIPPING_TYP_MENU' => Shipment::getShipperMenu($objOrder->country_id(), $objOrder->shipment_id(), "calcPrice(0);"), 'SHOP_JS_ARR_SHIPMENT' => $strJsArrShipment, 'SHOP_PRODUCT_IDS_MENU_NEW' => Products::getMenuoptions(null, null, $_ARRAYLANG['TXT_SHOP_PRODUCT_MENU_FORMAT']), 'SHOP_JS_ARR_PRODUCT' => Products::getJavascriptArray($objCustomer->group_id(), $objCustomer->is_reseller())));
}
$options = $objOrder->getOptionArray();
if (!empty($options[$order_id])) {
$have_option = true;
}
// Order items
$total_weight = $i = 0;
$total_net_price = $objOrder->view_items($objTemplate, $edit, $total_weight, $i);
// Show VAT with the individual products:
// If VAT is enabled, and we're both in the same country
// ($total_vat_amount has been set above if both conditions are met)
// show the VAT rate.
// If there is no VAT, the amount is 0 (zero).
//if ($total_vat_amount) {
// distinguish between included VAT, and additional VAT added to sum
$tax_part_percentaged = Vat::isIncluded() ? $_ARRAYLANG['TXT_TAX_PREFIX_INCL'] : $_ARRAYLANG['TXT_TAX_PREFIX_EXCL'];
//.........这里部分代码省略.........