–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

Łatwy w użyciu, w pełni funkcjonalny koszyk na zakupy w PHP.

Summer Cart posiada wszystkie narzędzia i funkcje umożliwiające sprzedawcom internetowym łatwe zbudowanie działającego sklepu. Niezależnie od tego, czy sprzedajesz kilkanaście niszowych produktów, czy setki produktów, dzięki mistrzowsko wykonanemu sklepowi uzyskasz wysoką widoczność i popularność swojej działalności.

Integracja Post Affiliate Pro z Summer Cart będzie wymagała nie tylko modyfikacji stopki sklepu (aby dodać kod śledzenia kliknięć), ale także 2 klas koszyka. Zobacz szczegóły tej integracji poniżej.

Integracja przez kliknięcie

Kod śledzenia kliknięć powinien być umieszczony w pliku skins//customer/footer.tmpl.

Jeśli nie masz tego pliku, po prostu skopiuj go z katalogu szkieletowego do katalogu motywu i dodaj kod śledzenia kliknięć, który jest przygotowany dla Ciebie w Post Affiliate Pro (menu Narzędzia -> Integracja -> Śledzenie kliknięć)

Dodaj ten kod przed znacznikiem

Integracja sprzedaży

Integracja sprzedaży będzie działać w 2 krokach, a odbywa się ona poprzez wywołanie żądań PAP API do Post Affiliate Pro bezpośrednio z kodu php Twojego koszyka.

W pierwszym kroku zostanie utworzona transakcja w Post Affiliate Pro (status Pending), a później, gdy zamówienie zostanie dostarczone do klienta, transakcja w Post Affiliate Pro zmieni status na Approved.

Dodaj etap transakcji

Twój koszyk stworzy zamówienie w czasie, gdy odwiedzający zostanie przekierowany do procesora płatności (np. Paypal). W tym samym czasie powstaje transakcja w Post Affiliate Pro (status Pending)

Otwórz plik koszyka: /include/sc/util/order/OrdersInProgress.php

abyśmy mogli umieścić tam kod śledzenia sprzedaży na samym końcu klasy scOrdersInProgress .

Aby śledzić całe zamówienie jako 1 transakcję (prowizję) w Post Affiliate Pro (nawet jeśli podczas danego zamówienia zakupiono wiele pozycji) użyj następującego kodu:

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();
}

Jeśli chcesz, aby każda pozycja zakupiona podczas zamówienia była śledzona jako osobna transakcja (prowizja) w Post Affiliate Pro, to użyj następującego kodu:

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();
    }

WAŻNE: metoda ta powinna być zapisana przed końcem klasy, czyli przed ostatnim } w pliku /include/sc/util/order/OrdersInProgress.php

WAŻNE: Nie zapomnij zastąpić prawidłowej ścieżki do pliku PapApi.class.php.

Plik PapApi.class.php można pobrać z instalacji Post Affiliate Pro w menu Narzędzia-> Integracja -> Integracja Api.

Skopiuj go na swój serwer, na którym zainstalowany jest Twój sklep i ustaw odpowiednią ścieżkę.

Dodaj etap transakcji

Teraz powinniśmy użyć metody registerNewPostAffiliateProTransaction, którą dodaliśmy w poprzednim kroku.

Proszę dodać następującą linię kodu do metody createOrder tuż przed ostatnim wersem

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

Zmiana statusu transakcji

Status istniejących transakcji w Post Affiliate Pro może być kontrolowany poprzez zmianę statusu w koszyku.

Poniższy kod zmieni status transakcji PAP na Approved, jeśli zamówienie w koszyku będzie miało status Delivered.

I ustawi transakcję PAP na status Declined, jeśli ustawisz zamówienie w koszyku na status Cancelled, Failed lub Returned.

Edytuj plik koszyka /include/sc/domainobj/Order.php i na końcu klasy Zamówienia dodaj następującą metodę:

    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;
    }

WAŻNE: metoda ta powinna być zapisana przed końcem klasy, czyli przed ostatnim } w pliku /include/sc/domainobj/Order.php

WAŻNE: Nie zapomnij zastąpić prawidłowej ścieżki do pliku PapApi.class.php.
Plik PapApi.class.php można pobrać z instalacji Post Affiliate Pro w menu Narzędzia-> Integracja -> Integracja Api.

Skopiuj go na swój serwer, na którym zainstalowany jest Twój sklep i ustaw odpowiednią ścieżkę.

WAŻNE: Znaczenie ma Twoja nazwa użytkownika sprzedawcy i Twoje hasło. Żądanie API użyje Twoich danych uwierzytelniających, aby uzyskać dostęp do transakcji w Twojej instalacji Post Affiliate Pro.

Zmiana statusu transakcji

Teraz powinniśmy użyć metody, którą dodaliśmy do klasy Zamówienia.

Dodaj następującą linię kodu (znajdującą się w ramce poniżej) do pliku /include/sc/domainobj/Order.php na samym końcu metod updateOrderStatus i setOrderStatus.

$this->updatePostAffiliateProTransaction();

Niestandardowe statusy zamówień

W przypadku, gdy planujesz używać niestandardowych statusów zamówień w swoim Summer Cart, powinieneś dostosować metodę updatePostAffiliateProTransaction w pliku koszyka /include/sc/domainobj/Order.php.

w funkcji switch powinieneś dodać nowe instrukcje przypadków, gdzie wartością będzie ID twojego niestandardowego statusu.

Powrót do Integracji Załóż konto za DARMO

Our website uses cookies. By continuing we assume your permission to deploy cookies as detailed in our polityka prywatności i plików cookie.

×

Umów się na indywidualną rozmowę i dowiedz się, jakie korzyści Post Affiliate Pro może przynieść Twojej firmie.

Jesteśmy dostępni w wielu terminach

Umów się na rozmowę