Wie erstelle ich mein eigenes VPS-Hosting und verdiene Geld damit? Einfache Abrechnung mit Virtuemart


    Hallo liebe Leser von Habr. Dieses Material ist eine Fortsetzung einer Reihe von Artikeln zum Erstellen eines VPS-Hostings von Grund auf auf der Grundlage der RUVDS White Label-API. Und heute werden wir uns das beliebte Joomla CMS und eine der beliebtesten E-Commerce-Lösungen dafür ansehen - VirtueMart .

    Virtuemart


    Generell gibt es die Erweiterung schon lange (die erste Version wurde bereits 2005 veröffentlicht).
    Das Produkt ist mit CMS Joomla gewachsen und entwickelt worden und verfügt derzeit über eine ziemlich breite Funktionalität.

    Lassen Sie uns gemeinsam die Vor- und Nachteile des Virtuemart 3-Plugins betrachten.

    Vorteile


    • frei
    • benutzerdefinierte Felder
    • Bestellformular mit einem Klick
    • Mehrwährung
    • einfacher Checkout-Prozess
    • flexibles und leistungsfähiges Zugangskontrollsystem
    • Viele Zahlungsmethoden sind sofort verfügbar.


    Nachteile


    • sperriger Code und Leistungsprobleme
    • Es gibt keine einfache API für die Integration mit externen Diensten
    • Standardmäßig unterstützte Zahlungssysteme sind nach Westen ausgerichtet (paypal, skill, 2checkout)
    • relativ kleine Community (~ 317127 Personen sind im offiziellen Forum registriert , das Repository arbeitet nicht sehr aktiv und die Anzahl der beteiligten Entwickler ist gering (im Vergleich dazu befinden sich 470 Entwickler im Woocommerce-Repository, was 10-mal mehr ist)
    • Geringe Geschwindigkeit beim Hinzufügen neuer Funktionen (Folge des Einfügens des vorherigen Absatzes)
    • Sicherheitsprobleme, die sowohl durch die Popularität des Joomla CMS als auch durch die virtuemart-Erweiterung selbst verursacht werden


    Anpassungsmerkmale für vps-hosting


    Akzeptiere Zahlungen


    Das Verfahren ist dasselbe wie bei anderen Paketen wie WordPress und Woocommerce . Laden Sie die kostenlose Erweiterung herunter, um sie in den Paymaster-Aggregator zu integrieren, den wir bereits kennen . Das Einrichten der Paymaster-Erweiterung wird unter demselben Link ausführlich beschrieben.

    Gasteinkauf deaktivieren


    Gehen Sie zu Virtuemart> Konfiguration> Auschecken und setzen Sie das Flag "Nur registrierte Benutzer können auschecken".

    Seite einrichten


    Nach der Installation des Virtuemart-Plugins haben wir die Möglichkeit, spezielle Seiten im Menü zu verwenden. Um eine Präsentation von der Hauptseite aus zu erstellen, gehen Sie zu Menüs> Verwalten und bearbeiten Sie das Menü mit dem Alias ​​home. Wir müssen den Menüelementtyp in einen der von Virtuemart bereitgestellten Typen ändern:
    • Kontowartung
    • Kategorielayout
    • Zeigt den Verkäuferkontakt an
    • Zeigt Herstellerdetails an
    • Zeigt Anbieter an
    • Titelseite
    • Bestellungen auflisten
    • Hersteller-Standardlayout
    • Hersteller Details Layout
    • Produktdetails Layout
    • Einkaufswagen
    • Benutzer Adresse bearbeiten
    • Vendor TOS anzeigen

    Wir haben das Kategorielayout und das Standard-Joomla-Layout (Version 3.5) ausgewählt. Nach dem Hinzufügen der grundlegenden VPS- Konfigurationen sieht die Hauptseite folgendermaßen aus:



    Bezahlte Bestellungen bearbeiten


    Wir haben also die gleichen Aufgaben:
    • Initiieren Sie die Servererstellung mithilfe der RuVDS Whitelabel-API und stellen Sie dem Client alle erforderlichen Daten zum Erstellungsprozess zur Verfügung (Server-ID, Erstellungsphase, Erstellungsfortschritt, Serverkonfiguration).
    • Geben Sie nach dem Erstellen des Servers die erforderlichen Daten für die Verbindung sowie die Serververwaltungsfunktionen und Informationen zum Enddatum des Abrechnungszeitraums an


    Was steht uns für die Integration zur Verfügung

    • automatisch generierte Dokumentation für die Virtuemart 2 API (im Artikel betrachten wir die 3. Version)
    • api2cart service - eine einheitliche API für Online-Shops (ab 500 US-Dollar pro Monat)
    • kostenlose Komponente von SOAP-Diensten für Virtuemart 3 (eine etwas verkürzte Version, deren Funktionalität jedoch für unsere Aufgaben völlig ausreicht)


    Kommen wir zur letzten Option. Nach der Installation dieses Plugins stehen folgende SOAP-Dienste zur Verfügung:
    • VM_Categories
    • VM_Order
    • VM_Product
    • VM_SQLQueries
    • VM_Users
    • VM_Upload


    Auf ihre wsdl kann über die URL zugegriffen werden (Beispiel für einen Dienst, der eine Produktkategorie verwaltet):
    http: // host / administrator / components / com_vm_soa / services /VM_CategoriesWSDL.php

    Wir benötigen 3 - VM_Order, VM_Product und VM_SQLQueries.

    Leider steht uns bei Verwendung dieser Integrationsmethode der Hakenmechanismus nicht zur Verfügung. Daher werden wir regelmäßig Aufträge mit dem entsprechenden Status auswählen und die Erstellung von Servern mit der gewünschten Konfiguration einleiten.

    Wir werden ein einfaches Skript in der PHP-Sprache schreiben, das den Server nach der Bezahlung der Bestellung erstellt:
    'admin',
    		'password'=>'admin',
    		'orderServiceWsdl'=>'http://localhost/administrator/components/com_vm_soa/services/VM_OrderWSDL.php',
    		'productServiceWsdl' =>'http://localhost/administrator/components/com_vm_soa/services/VM_ProductWSDL.php'
    	];
    }
    function getCompleteOrders($limitStart = 0, $limitEnd=1000)
    {
    	$applicationSettings = getApplicationSettings();	
    	$loginInfo = new stdClass;
    	$loginInfo->login=$applicationSettings['login'];
    	$loginInfo->password=$applicationSettings['password'];
    	$loginInfo->isEncrypted="Y";
    	$loginInfo->lang=null;	
    	$orderServiceClient = new SoapClient($applicationSettings['orderServiceWsdl']);
    	$getOrderFromStatusRequest = new stdClass;
    	$getOrderFromStatusRequest->limite_start = $limitStart;
    	$getOrderFromStatusRequest->limite_end = $limitEnd;
    	$getOrderFromStatusRequest->status = 'F'; 					//завершенные заказы
    	$getOrderFromStatusRequest->loginInfo = $loginInfo;
    	try {		
    		// выбираем все заказы со статусом "завершенный"
    		return [$orderServiceClient->GetOrdersFromStatus($getOrderFromStatusRequest)];		
    	}catch(\SoapFault $e){
    		echo $e->getMessage();		
    		return false;
    	}
    }
    function processPayedOrder($orderId)
    {
    	$applicationSettings = getApplicationSettings();	
    	$loginInfo = new stdClass;
    	$loginInfo->login=$applicationSettings['login'];
    	$loginInfo->password=$applicationSettings['password'];
    	$loginInfo->isEncrypted="Y";
    	$loginInfo->lang=null;
    	$productServiceClient = new SoapClient($applicationSettings['productServiceWsdl']);
    	$getProductsFromOrderIdRequest = new stdClass;
    	$getProductsFromOrderIdRequest->order_id = $orderId;
    	$getProductsFromOrderIdRequest->include_prices = true;
    	$getProductsFromOrderIdRequest->loginInfo = $loginInfo;
    	try {
    		// выбираем заказанные конфигурации
    		$products = [$productServiceClient->GetProductsFromOrderId($getProductsFromOrderIdRequest)];	
    	} catch(\SoapFault $e){
    		echo $e->getMessage();
    		return false;
    	}
    	// создаём сервер в зависимости от конфигурации
    	foreach($products as $product) createRuvdsServer($product);
    	return true;
    }
    function createRuvdsServer($product)
    {	
    	// код создания сервера через RUVDS White-Label Api и ожидания завершения процесса
    }
    $orders = getCompleteOrders();
    if (!$orders || count($orders)==0) return 1;
    foreach ($orders as $order)
    {
    	$orderId=$order->Order->id;	
    	$res = processPayedOrder($orderId);	
    	if(!$res) echo 'Processing order with id '.$orderId.' failed!';
    }
    


    Anschließend konfigurieren wir mit einem beliebigen Taskplaner, z. B. cron, den Start dieses Skripts mit der erforderlichen Häufigkeit.

    Zusammenfassung


    Im Allgemeinen sieht das Joomla 3 + Virtuemart 3-Bundle wie ein ziemlich funktionales und leistungsstarkes Tool aus, das als Grundlage für die Organisation Ihres VPS-Hostings dient. Sofort einsatzbereit gibt es viele Einstellungen für alles, was Sie sich vorstellen können. Aber ob es für den Weiterverkauf erforderlich ist, sagen, 10.03 beliebte Konfigurationen von virtuellen Servern ?

    Im nächsten Artikel werden wir uns CMS Drupal und eine der beliebtesten eCommerce-Erweiterungen ansehen. Vielleicht ist das neue CMS besser für diese Aufgabe geeignet. Bis bald

    Jetzt auch beliebt: