diff --git a/app/PaymentDrivers/GoCardlessPaymentDriver.php b/app/PaymentDrivers/GoCardlessPaymentDriver.php new file mode 100644 index 000000000000..e03204c650b1 --- /dev/null +++ b/app/PaymentDrivers/GoCardlessPaymentDriver.php @@ -0,0 +1,79 @@ + ACH::class, + ]; + + const SYSTEM_LOG_TYPE = SystemLog::TYPE_GOCARDLESS; + + public function setPaymentMethod($payment_method_id) + { + $class = self::$methods[$payment_method_id]; + + $this->payment_method = new $class($this); + + return $this; + } + + public function authorizeView(array $data) + { + return $this->payment_method->authorizeView($data); + } + + public function authorizeResponse($request) + { + return $this->payment_method->authorizeResponse($request); + } + + public function processPaymentView(array $data) + { + return $this->payment_method->paymentView($data); + } + + public function processPaymentResponse($request) + { + return $this->payment_method->paymentResponse($request); + } + + public function refund(Payment $payment, $amount, $return_client_response = false) + { + // .. + } + + public function tokenBilling(ClientGatewayToken $cgt, PaymentHash $payment_hash) + { + // .. + } +}