Was ist der link zu redirect nach erfolgreicher Zahlung an payment-gateway in opencart?

Habe ich umgesetzt payment-Modul in Opencart basiert auf BankTransfer-Modul.
Voraussetzung für die payment-gateway zu senden mit get-Anforderung einen successurl und errorurl. Diese URL sind für eine erfolgreiche Bestellung und stornierten Auftrag.

Algorithmus:

  1. Kunde erhält auf die Bestellung der Kasse.
  2. Klicken Sie auf bestätigen, um
  3. Wird umgeleitet localhost/opencart/testkzm.php, wo Werte werden ausgegeben und es gibt einen link mit auf die ich umleiten im Falle des Erfolgs.

FRAGE: Was ist der link zu redirect nach erfolgreicher Zahlung an payment-gateway?

Ansatz:
Ich habe naiv gedacht, dass http://example.com/opencart/index.php?route=checkout/success ist der Erfolg link. Es zeigt nur Bestätigung, aber die Bestellung ist nicht im system. Ich verstehe, dass es keine Möglichkeit zu geben, externer link, wird automatisch wissen, welche Bestellung zu bestätigen, so sollte ich pass verschlüsselte eindeutige Werte in successurl, so dass bei der Rückkehr kann ich entschlüsseln und die Bestellung bestätigen?

Erklärung der Dateien:

  • banktransfer.php ist die Datei opencart bekommt Informationen von system wie
    die Auftrags-id, Betrag der Bestellung und etc.
  • erfolgen.tpl ist das template
    Datei für das Rendern der Seite im browser.(Die eigentliche front-end)
  • testkzm.php ist
    einfache Datei, die ich schrieb, um zu testen, bekomme ich die korrekten Werte aus
    system.

testkzm.php ist
einfache Datei, die ich schrieb, um zu testen, bekomme ich die korrekten Werte aus
system.

banktransfer.php in controller/Zahlung

 class ControllerPaymentBankTransfer extends Controller {
  protected function index() {
   $this->language->load('payment/bank_transfer');

   $this->data['text_instruction'] = $this->language->get('text_instruction');
   $this->data['text_description'] = $this->language->get('text_description');
   $this->data['text_payment'] = $this->language->get('text_payment');

   //Modified things for KZM
   $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
   $this->data['orderIdKZM'] = $this->session->data['order_id'];
   $this->data['amountKZM'] = $order_info['total'];

   $this->data['merchantIdKZM'] = $this->language->get('merchantIdKZM');
   $this->data['currencyKZM'] = $this->language->get('currencyKZM');
   $this->data['titleKZM'] = $this->language->get('titleKZM');
   $this->data['successuUlKZM'] = $this->language->get('successUrlKZM');
   $this->data['errorUrlKZM'] = $this->language->get('errorUrlKZM');
   $this->data['dateKZM'] = $this->language->get('dateKZM');
   $this->data['signstrKZM'] = $this->language->get('signstrKZM');
   $this->data['verKZM'] = $this->language->get('verKZM');
   //KZM

   $this->data['button_confirm'] = $this->language->get('button_confirm');

   $this->data['bank'] = nl2br($this->config->get('bank_transfer_bank_' . $this->config->get('config_language_id')));

   $this->data['continue'] = $this->url->link('checkout/success');

   if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/bank_transfer.tpl')) {
    $this->template = $this->config->get('config_template') . '/template/payment/bank_transfer.tpl';
   } else {
    $this->template = 'default/template/payment/bank_transfer.tpl';
   } 

   $this->render(); 
  }

  public function confirm() {
   $this->language->load('payment/bank_transfer');

   $this->load->model('checkout/order');

   $comment  = $this->language->get('text_instruction') . "\n\n";
   $comment .= $this->config->get('bank_transfer_bank_' . $this->config->get('config_language_id')) . "\n\n";
   $comment .= $this->language->get('text_payment');

   $this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('bank_transfer_order_status_id'), $comment, true);
  }
 }

erfolgen.tpl

<h2><?php echo $text_instruction; ?></h2>
 <div class="content">
    <p><?php echo $text_description; ?></p>
    <p><?php echo $bank; ?></p>
    <p><?php echo $text_payment; ?></p>
    <p><?php echo $orderIdKZM; ?></p>
    <p>
    <?php 
     $titleKZM = $titleKZM.$orderIdKZM; 
       $merchantIdKZM = '23';
   $currencyKZM = 'KZT';
   $successUrlKZM = '';
   $erroUrlKZM = '';
   $dateKZM = $merchantIdKZM.$orderIdKZM.$amountKZM.$currencyKZM;

    ?></p>
 </div>
 <div class="buttons">
   <div class="right">
 <form action="http://example.com/opencart/testkzm.php" method="get">
 <input type="hidden" name="merchantIdKZM" value="<?php echo $merchantIdKZM; ?>">
 <input type="hidden" name="orderIdKZM" value="<?php echo $orderIdKZM; ?>">
 <input type="hidden" name="amountKZM" value="<?php echo $amountKZM; ?>">
 <input type="hidden" name="currencyKZM" value="<?php echo $currencyKZM; ?>">
 <input type="hidden" name="successUrlKZM" value="<?php echo $successUrlKZM; ?>">
 <input type="hidden" name="errorUrlKZM" value="<?php echo $errorUrlKZM; ?>">
 <input type="hidden" name="signstrKZM" value="<?php echo $signstrKZM; ?>">
 <input type="hidden" name="verKZM"  value="<?php echo $verKZM; ?>">

 <input type="button" value="<?php echo $button_confirm; ?>" id="button-confirm" class="button" />
 </form>
     </div>
 </div>
 <script type="text/javascript"><!--
 $('#button-confirm-s').bind('click', function() {
  $.ajax({ 
   type: 'get',
   url: 'index.php?route=payment/bank_transfer/confirm',
   success: function() {
    location = '<?php echo $continue; ?>';
   }  
  });
 });
 //--></script

testkzm.php

merchantID <?php echo $_GET["merchantIdKZM"]; ?><br>
  orderID <?php echo $_GET["orderIdKZM"]; ?> <br> 
  amount <?php echo $_GET["amountKZM"]; ?><br>
  currency <?php echo $_GET["currencyKZM"]; ?> <br> 
  successURL <?php echo $_GET["successUrlKZM"]; ?><br>
  errorURL <?php echo $_GET["errorUrlKZM"]; ?> <br> 
  signstr <?php echo $_GET["signstrKZM"]; ?><br>
  ver <?php echo $_GET["verKZM"]; ?> <br> 

  <div class="buttons">
            <div class="right">
          <a href="http://example.com/opencart/index.php?route=checkout/success">asdfas</a>
         </div>
      </div>

InformationsquelleAutor kmaxat | 2013-03-19

Schreibe einen Kommentar