コード例 #1
0
ファイル: ShippingAddress.php プロジェクト: Aziz-JH/core
 /**
  * Return review information for last page of checkout
  * @return  string
  */
 public function review()
 {
     $objAddress = Isotope::getCart()->getShippingAddress();
     if ($objAddress->id == Isotope::getCart()->getBillingAddress()->id) {
         return false;
     }
     return array('shipping_address' => array('headline' => $GLOBALS['TL_LANG']['MSC']['shipping_address'], 'info' => $objAddress->generateHtml(Isotope::getConfig()->getShippingFieldsConfig()), 'edit' => \Isotope\Module\Checkout::generateUrlForStep('address')));
 }
コード例 #2
0
ファイル: BillingAddress.php プロジェクト: Aziz-JH/core
 /**
  * Return review information for last page of checkout
  * @return  string
  */
 public function review()
 {
     $blnRequiresPayment = Isotope::getCart()->requiresPayment();
     $blnRequiresShipping = Isotope::getCart()->requiresShipping();
     $objBillingAddress = Isotope::getCart()->getBillingAddress();
     $objShippingAddress = Isotope::getCart()->getShippingAddress();
     $strHeadline = $GLOBALS['TL_LANG']['MSC']['billing_address'];
     if ($blnRequiresPayment && $blnRequiresShipping && $objBillingAddress->id == $objShippingAddress->id) {
         $strHeadline = $GLOBALS['TL_LANG']['MSC']['billing_shipping_address'];
     } elseif ($blnRequiresShipping && $objBillingAddress->id == $objShippingAddress->id) {
         $strHeadline = $GLOBALS['TL_LANG']['MSC']['shipping_address'];
     } elseif (!$blnRequiresPayment && !$blnRequiresShipping) {
         $strHeadline = $GLOBALS['TL_LANG']['MSC']['customer_address'];
     }
     return array('billing_address' => array('headline' => $strHeadline, 'info' => $objBillingAddress->generateHtml(Isotope::getConfig()->getBillingFieldsConfig()), 'edit' => \Isotope\Module\Checkout::generateUrlForStep('address')));
 }
コード例 #3
0
 /**
  * Return review information for last page of checkout
  * @return  string
  */
 public function review()
 {
     return array('payment_method' => array('headline' => $GLOBALS['TL_LANG']['MSC']['payment_method'], 'info' => Isotope::getCart()->getDraftOrder()->getPaymentMethod()->checkoutReview(), 'note' => Isotope::getCart()->getDraftOrder()->getPaymentMethod()->note, 'edit' => \Isotope\Module\Checkout::generateUrlForStep('payment')));
 }
コード例 #4
0
 /**
  * Redirect the Sparkasse server to our error page
  * @param array
  */
 private function redirectError($arrData)
 {
     $strUrl = Checkout::generateUrlForStep('failed', null, \PageModel::findWithDetails((int) $arrData['sessionid']));
     // 200 OK
     $objResponse = new Response('redirecturlf=' . \Environment::get('base') . $strUrl . '?reason=' . $arrData['directPosErrorMessage']);
     $objResponse->send();
 }
コード例 #5
0
ファイル: Worldpay.php プロジェクト: rpquadrat/core
    /**
     * Redirect client on WorldPay site to the confirmation page
     * @param   IsotopeProductCollection
     */
    protected function postsaleSuccess($objOrder)
    {
        $objPage = \PageModel::findWithDetails((int) \Input::post('M_pageId'));
        $strUrl = \Environment::get('base') . Checkout::generateUrlForStep('complete', $objOrder, $objPage);
        // Output a HTML page to redirect the client from WorldPay back to the shop
        echo '
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>The Tulle Factory</title>
<meta http-equiv="refresh" content="0; url=' . $strUrl . '">
</head>
<body>
Redirecting back to shop...
</body>
</html>
';
        exit;
    }
コード例 #6
0
ファイル: ShippingMethod.php プロジェクト: Aziz-JH/core
 /**
  * Return review information for last page of checkout
  * @return  string
  */
 public function review()
 {
     return array('shipping_method' => array('headline' => $GLOBALS['TL_LANG']['MSC']['shipping_method'], 'info' => Isotope::getCart()->getShippingMethod()->checkoutReview(), 'note' => Isotope::getCart()->getShippingMethod()->note, 'edit' => \Isotope\Module\Checkout::generateUrlForStep('shipping')));
 }
コード例 #7
0
ファイル: PSP.php プロジェクト: rpquadrat/core
 /**
  * Prepare PSP params
  *
  * @param Order  $objOrder
  * @param \Isotope\Module\Checkout $objModule
  *
  * @return array
  */
 protected function preparePSPParams($objOrder, $objModule)
 {
     $objBillingAddress = $objOrder->getBillingAddress();
     return array('PSPID' => $this->psp_pspid, 'ORDERID' => $objOrder->id, 'AMOUNT' => round($objOrder->getTotal() * 100), 'CURRENCY' => $objOrder->currency, 'LANGUAGE' => $GLOBALS['TL_LANGUAGE'] . '_' . strtoupper($GLOBALS['TL_LANGUAGE']), 'CN' => $objBillingAddress->firstname . ' ' . $objBillingAddress->lastname, 'EMAIL' => $objBillingAddress->email, 'OWNERZIP' => $objBillingAddress->postal, 'OWNERADDRESS' => $objBillingAddress->street_1, 'OWNERADDRESS2' => $objBillingAddress->street_2, 'OWNERCTY' => strtoupper($objBillingAddress->country), 'OWNERTOWN' => $objBillingAddress->city, 'OWNERTELNO' => $objBillingAddress->phone, 'ACCEPTURL' => \Environment::get('base') . $objModule->generateUrlForStep('complete', $objOrder), 'DECLINEURL' => \Environment::get('base') . $objModule->generateUrlForStep('failed'), 'BACKURL' => \Environment::get('base') . $objModule->generateUrlForStep('review'), 'PARAMPLUS' => 'mod=pay&amp;id=' . $this->id, 'TP' => $this->psp_dynamic_template ?: '');
 }
コード例 #8
0
 /**
  * Process post-sale requestion from the PSP payment server.
  * @param   IsotopeProductCollection
  */
 public function processPostsale(IsotopeProductCollection $objOrder)
 {
     if ($this->debug) {
         $this->paybyway_private_key = 'private_key';
     }
     $strChecksum = strtoupper(md5($this->paybyway_private_key . '|' . \Input::post('RETURN_CODE') . '|' . \Input::post('ORDER_NUMBER') . (\Input::post('SETTLED') ? '|' . \Input::post('SETTLED') : '') . (\Input::post('INCIDENT_ID') ? '|' . \Input::post('INCIDENT_ID') : '')));
     if (\Input::post('AUTHCODE') != $strChecksum) {
         \System::log('Postsale manipulation for order ID ' . $objOrder->id, __METHOD__, TL_ERROR);
         \Isotope\Module\Checkout::redirectToStep('failed');
     }
     switch (\Input::post('RETURN_CODE')) {
         case 0:
             // Payment completed successfully.
             if ($objOrder->checkout()) {
                 $objOrder->date_paid = time();
                 $objOrder->updateOrderStatus($this->new_order_status);
                 \Isotope\Module\Checkout::redirectToStep('complete', $objOrder);
             }
             break;
         case 4:
             // Transaction status could not be updated after customer returned from the web page of a bank. Please use the merchant UI to resolve the payment status.
             if (($objConfig = $objOrder->getRelated('config_id')) === null) {
                 \System::log('Config for Order ID ' . $objOrder->id . ' not found', __METHOD__, TL_ERROR);
             } elseif ($objOrder->checkout()) {
                 $objOrder->updateOrderStatus($objConfig->orderstatus_error);
                 \Isotope\Module\Checkout::redirectToStep('complete', $objOrder);
             }
             break;
         case 1:
             // Payment failed. Customer did not successfully finish the payment.
         // Payment failed. Customer did not successfully finish the payment.
         case 2:
             // Duplicate order number. You have reused an order number. Make sure that your order numbers are unique, and are not reused in any case.
         // Duplicate order number. You have reused an order number. Make sure that your order numbers are unique, and are not reused in any case.
         case 3:
             // User disabled. Either your Paybyway account has been temporarily disabled for security reasons, or your sub-merchant is disabled.
         // User disabled. Either your Paybyway account has been temporarily disabled for security reasons, or your sub-merchant is disabled.
         case 10:
             // Maintenance break. The transaction is not created and the user has been notified and transferred back to the cancel address.
             // Do nothing here, we redirect to "failed" by default
             break;
     }
     \System::log('Paybyway checkout failed for order ID ' . $objOrder->id, __METHOD__, TL_ERROR);
     \Isotope\Module\Checkout::redirectToStep('failed');
 }