В настоящее время я обрабатываю страйп-платежи с помощью библиотеки Stripe Omnipay. Аналогично приведенному ниже примеру:
$gateway = Omnipay::create('Stripe');
$gateway->setApiKey("sk_test_xHGgkZtGOlTwxi4d8GYOHifZ");
$formData = array('number' => '4242424242424242', 'expiryMonth' => '6', 'expiryYear' => '2030', 'cvv' => '123');
$response = $gateway->purchase(array('amount' => '10.00', 'currency' => 'USD', 'card' => $formData))->send();
Однако существует слишком много разных платежных шлюзов. Предположим, у меня есть пакеты omnipay для Paypal и Stripe. Как мне справиться с пакетом omnipay, выбранным по умолчанию на db. Я не знаю, что делать. Конечно, можно просто использовать if и else. Но на практике это не очень хорошо. Что не дает мне покоя и беспокоит, так это реализация этой идеи общим способом с S.O.L.I.D. принципы в Laravel.





