–Hidden comment

Use attributes in format region_from and region_to= to change the languages showing in language switcher.
Available regions are:
europe_from europe_to
asia_from asia_to
mideast_from mideast_to
america_from america_to

Example:
europe_from=0 europe_to=22 will put all languages (ordered in language switcher settings) from 1 to 21 to Europe region:
asia_from=22 asia_to=25 will put all languages from 23 to 24 (so only 2) into Asia region.

Summer Cart

Een eenvoudig te gebruiken PHP-winkelwagentje met alle functies.

Summer Cart heeft alle tools en functies waarmee online verkopers eenvoudig een werkende winkel van boven naar beneden kunnen bouwen. Of u nu een dozijn nichespecialiteiten verkoopt of honderden massaproducten opsomt, u krijgt een hoge zichtbaarheid en populariteit van uw bedrijf via een meesterlijk vervaardigde winkel.

Integratie van Post Affiliate Pro met Summer Cart vereist niet alleen het wijzigen van de voettekst van uw winkel (om kliktrackingcode toe te voegen), maar ook 2 winkelwagenklassen. Bekijk hieronder de details van deze integratie.

Klikintegratie

Kliktrackingcode moet worden opgeslagen in bestand skins//customer/footer.tmpl.

Als u dit bestand niet in uw skin hebt, kopieer het dan gewoon van de skeleton-directory naar uw thema-directory en voeg klik-trackingcode toe, die voor u is voorbereid in Post Affiliate Pro (menu Tools-> Integratie -> Kliktracking)

Voeg deze code toe vóór de

Omdat de integratie van de zomerwagen geen gebruik kan maken van het bijhouden van Flash-cookies (er worden alleen browsercookies gebruikt), moeten we het bijhouden van flash-cookies uitschakelen door de volgende regel toe te voegen aan de trackingcode voor klikken:

PostAffTracker.disableTrackingMethod('F');

Het moet direct na de regel worden opgeslagen:

PostAffTracker.setAccountId('default1');

in uw klikintegratiecode in footer.tmpl-bestand.

Verkoopsintegratie

Verkoopintegratie werkt in 2 stappen en integratie wordt gedaan door PAP API-verzoeken rechtstreeks vanuit de php-code van uw winkelwagen naar Post Affiliate Pro te bellen.

In de eerste stap wordt een transactie aangemaakt in Post Affiliate Pro (status In behandeling) en later, wanneer de bestelling bij uw klant wordt afgeleverd, verandert de transactie in Post Affiliate Pro de status in Goedgekeurd.

Transactiestap toevoegen

Uw winkelwagen zal op tijd een bestelling plaatsen, wanneer wordt de bezoeker doorgestuurd naar de betalingsverwerker (bijv. Paypal). Tegelijkertijd wordt een transactie aangemaakt in Post Affiliate Pro (status In behandeling)

Open het winkelwagenbestand: /include/sc/util/order/OrdersInProgress.php

zodat we de verkoop-trackingcode direct aan het einde van de les scOrdersInProgress kunnen plaatsen.

Om de hele bestelling als 1 transactie (commissie) in Post Affiliate Pro te volgen (zelfs als er meerdere items worden gekocht tijdens de specifieke bestelling), gebruikt u de volgende code:

private function registerNewPostAffiliateProTransaction($order) {
    include_once('<PATH_TO_PAP_API>/PapApi.class.php');
    $saleTracker = new Pap_Api_SaleTracker('https://URL_TO_PostAffiliatePro/scripts/sale.php');

    $productIDs = '';
    $items = $order->getOrderItems();
    foreach($items as $item) {
       $productIDs .= $item->get('OrderItemProductCode').',';
    }

    $sale = $saleTracker->createSale();
    $papOrderDetails = $order->getOrderTotalLines();
    $sale->setTotalCost($papOrderDetails[0]->get('OrderTotalLineCustomerCurrencyAmount'));
    $sale->setOrderID($order->getPK());
    $sale->setProductID($productIDs);
 
    $saleTracker->register();
}

Als u wilt dat elk item dat tijdens de bestelling is gekocht, wordt gevolgd als een afzonderlijke transactie (commissie) in Post Affiliate Pro, gebruik dan de volgende code:

private function registerNewPostAffiliateProTransaction($order) {
    include_once('<PATH_TO_PAP_API>/PapApi.class.php');
    $saleTracker = new Pap_Api_SaleTracker('https://URL_TO_PostAffiliatePro/scripts/sale.php');
      $items = $order->getOrderItems();
      foreach($items as $item) {
          $sale = $saleTracker->createSale();
          $sale->setTotalCost($item->get('OrderItemTotal'));
          $sale->setOrderID($order->getPK());
          $sale->setProductID($item->get('OrderItemProductCode'));
      }
      $saleTracker->register();
    }

BELANGRIJK: deze methode moet worden opgeslagen voor het einde van de les, het betekent voor de laatste } in bestand /include/sc/util/order/OrdersInProgress.php

BELANGRIJK: vergeet niet te vervangen door het juiste pad naar het bestand PapApi.class.php.

Het PapApi.class.php-bestand kan worden gedownload van uw Post Affiliate Pro-installatie in het menu Tools-> Integratie -> Api-integratie.

Kopieer het naar uw server, waar uw winkel is geïnstalleerd en stel het juiste pad in op plaats van .

Transactiestap toevoegen

Nu moeten we de methode registerNewPostAffiliateProTransaction gebruiken, die we in de vorige stap hebben toegevoegd.

Voeg de volgende regel code toe aan de methode createOrder vlak voor de laatste regel

return $this->_lastOrderId;
$this->registerNewPostAffiliateProTransaction($order);

Status van transactie wijzigen

De status van bestaande transacties in Post Affiliate Pro kan worden gecontroleerd door de status in uw winkelwagen te wijzigen.

De volgende code verandert de status van de PAP-transactie in Goedgekeurd, als u uw winkelwagenbestelling instelt op de status Afgeleverd.

En het zet de PAP-transactie op de status Geweigerd, als u uw winkelwagenbestelling instelt op de status Geannuleerd, Mislukt of Geretourneerd.

Bewerk uw winkelwagenbestand /include/sc/domainobj/Order.php en voeg aan het einde van de les Order de volgende methode toe:
    private function updatePostAffiliateProTransaction() {
      try {
  		  include_once('<PATH_TO_PAP_API>/PapApi.class.php');
        $session = new Gpf_Api_Session("https://URL_TO_PostAffiliatePro/scripts/server.php");

        if(!$session->login("<MERCHANT_USERNAME>","<MERCHANT_PASSWORD>")) {
          return false;
        }


        $request = new Pap_Api_TransactionsGrid($session);
        $request->addFilter("orderid", Gpf_Data_Filter::LIKE, $this->getPK());
        $request->addFilter("rtype", Gpf_Data_Filter::EQUALS, 'S');
        try {
        	$request->sendNow();
        	$grid = $request->getGrid();
        	$recordset = $grid->getRecordset();
        } catch (Exception $e) {
          return false;
        }

        foreach($recordset as $rec) {
          $transaction = new Pap_Api_Transaction($session);
          $transaction->setTransid($rec->get('transid'));
          try {
        	  if(!$transaction->load()) {
        	   return false;
        	  } else {
        	     if ($transaction->getStatus() != 'D') {
                  $newStatus = '';
                  switch($this->get('OrderStatus')) {
                    case scOrderStatus::ORDER_STATUS_UNFINISHED:
              		  case scOrderStatus::ORDER_STATUS_PAYMENT_PENDING:
              		  case scOrderStatus::ORDER_STATUS_NEW:
              		  case scOrderStatus::ORDER_STATUS_IN_PROGRESS:
              		  case scOrderStatus::ORDER_STATUS_ON_HOLD:
              		  case scOrderStatus::ORDER_STATUS_QUEUED:
              		    $newStatus = 'P';
              		    break;
              		  case scOrderStatus::ORDER_STATUS_RETURNED:
              	    case scOrderStatus::ORDER_STATUS_PAYMENT_FAILED:
              		  case scOrderStatus::ORDER_STATUS_CANCELLED:
              		    $newStatus = 'D';
              		    break;
              		  case scOrderStatus::ORDER_STATUS_DELIVERED:
              		    $newStatus = 'A';
              		    break;
            		  default:
            		    return false;
                  }
                  // changing the status of a transaction
                  if (strlen($newStatus) && $transaction->getStatus() != $newStatus) {
                    $transaction->setStatus($newStatus);
                    $transaction->save();
                  }
               }
        	  }
          } catch (Exception $e) {
            return false;
          }
        }
        } catch (Exception $e) {
          return false;
        }
        return true;
    }

BELANGRIJK: deze methode moet worden opgeslagen voor het einde van de les, het betekent voor de laatste } in bestand /include/sc/domainobj/Order.php

BELANGRIJK: vergeet niet te vervangen door het juiste pad naar het bestand PapApi.class.php. Het PapApi.class.php-bestand kan worden gedownload van uw Post Affiliate Pro-installatie in het menu Tools-> Integratie -> Api-integratie.

Kopieer het naar uw server, waar uw winkel is geïnstalleerd en stel het juiste pad in op plaats van .

BELANGRIJK: op de plaats van gebruik uw gebruikersnaam van de handelaar en op de plaats van gebruik uw wachtwoord. API-verzoek gebruikt uw gebruikersreferenties om toegang te krijgen tot transacties in uw Post Affiliate Pro-installatie.

Status van transactie wijzigen

Nu moeten we de methode gebruiken die we hebben toegevoegd aan de klasse Order.

Voeg de volgende regel code (te vinden in het onderstaande vak) toe aan het bestand /include/sc/domainobj/Order.php helemaal aan het einde van de updateOrderStatus– en setOrderStatus-methoden.
$this->updatePostAffiliateProTransaction();

Aangepaste bestelstatussen

Als u van plan bent om aangepaste bestelstatussen in uw zomermandje te gebruiken, moet u de methode updatePostAffiliateProTransaction aanpassen in uw winkelwagenbestand /include/sc/domainobj/Order.php.

in de schakelfunctie moet u nieuwe case-statements toevoegen, waarbij de waarde de ID van uw aangepaste status is.

Terug naar Integraties GRATIS account aanmaken

Onze website maakt gebruik van cookies. Door verder te gaan, gaan we uit van uw toestemming om cookies te plaatsen zoals beschreven in onze privacy- en cookiebeleid.

×

Plan een één-op-één gesprek en ontdek hoe Post Affiliate Pro uw bedrijf ten goede kan komen.

We zijn beschikbaar op meerdere data

Plan een gesprek