Si vous attendez une suggestion concernant la conception architecturale de la solution,
vous devez d'abord créer une interface avec toutes les méthodes qui sont obligatoires avec toutes les passerelles
interface PaymentGateway {
public function processPayment();
public function authorize();
}
puis créer des classes concrètes pour chaque passerelle de paiement
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
}
}
puis créer une méthode logique d'entreprise pour traiter le paiement en traitant avec différentes passerelles
public class PaymentProcessor {
public function processPayment(string gateway) {
//Create the respective object depending upon gateway
$gateway = getGateway(type);
$response = $gateway->processPayment();
}
}
Cette conception vous aidera à ajouter des passerelles addtional plus tard
Ne pouvez-vous pas les implémenter vous-même? De cette façon, vous pouvez éviter beaucoup plus de «lourdeur» :) Tous les fournisseurs ci-dessus auront un exemple de code pour PHP avec leurs téléchargements SDK. – Ing
vous auriez un contrôleur pour chaque passerelle de paiement puis utilisez le contrôleur sur quelle passerelle de paiement l'utilisateur choisit. –