2012-04-05 10 views
3

Ich erstelle eine Website, wo ich einen einzelnen Artikel verkaufen und in der Lage sein werde, Zahlungen über Paypal, Google Checkout und Amazon zu akzeptieren, aber keine schwere E-Commerce-Software für nur verwenden möchten ein einzelner Gegenstand.PHP - Annahme mehrerer Zahlungs-Gateways

Ich bin auf der Suche nach einer guten PHP-Lösung, die es einfach macht, alle 3 zu implementieren, etwas wie Django-Merchant für Django.

Dank

+1

Können Sie diese nicht einfach selbst implementieren? Auf diese Weise können Sie viel mehr "Schwerfälligkeit" vermeiden :) Alle oben genannten Anbieter haben Beispielcode für PHP mit ihren SDK-Downloads. – Ing

+1

Sie würden einen Controller für jedes Zahlungs-Gateway haben, dann verwenden Sie den Controller, auf dem Zahlungs-Gateway der Benutzer wählt. –

Antwort

1

Wenn Sie einen Vorschlag zur Architectural Design der Lösung erwarten,

Zuerst müssen Sie eine Schnittstelle mit allen Methoden zu schaffen, die mit allen Gateways sind Pflicht

interface PaymentGateway { 
    public function processPayment(); 
    public function authorize(); 
} 

dann erstellen Sie konkrete Klassen für jede Zahlung Gateway

public class GoogleCheckoutGateway extends PaymentGateway { 
    public function processPayment() { 
     //Code to process google checkout payment 
    } 
} 

//Same like other payment gateways like paypal 
public class PaypalCheckoutGateway extends PaymentGateway { 
    public function processPayment() { 
     //Code to process paypal payment 
    } 
} 

dann eine Business-Logik-Methode erstellen Zahlung zu verarbeiten, indem sie mit verschiedenen Gateways

public class PaymentProcessor { 
    public function processPayment(string gateway) { 
     //Create the respective object depending upon gateway 
     $gateway = getGateway(type); 
     $response = $gateway->processPayment(); 
    } 
} 

Dieser Entwurf, den Sie später addtional Gateways für die absehbare Zukunft

0

Einzel Artikel hinzufügen, wird dazu beitragen, den Umgang? Jede dieser Drittanbieter-Checkout-Alternativen (die den Begriff "Gateway" unterscheidet, der eine andere Bedeutung hat, wenn es um Kreditkartenzahlungen geht) bietet eine API und Beispielcode/SDK.

Ich denke, es ist eine gute Übung für Sie, sie zu suchen, so dass Sie "aus erster Hand" wissen, wie jede Arbeit, die Ihnen weiter helfen wird, wenn es Zeit für ein Software-Paket geht - re: Sie können basteln auf Ihre Bedürfnisse und/oder wissen, wie mit Problemen umzugehen ist, wenn/wenn sie auftreten.

Sie kann auch feststellen, dass, was auch immer „Order-Management-Schnittstelle“ jeder bietet alles, was Sie wirklich verwenden müssen (re: einzelnes Element) - ein klassischer Fall von zwischen Entwickler und Unternehmer Hüte gefangen (weiß, was du wirklich machen und/oder erreichen willst).

Verwandte Themen