diff --git a/app/Ninja/PaymentDrivers/StripePaymentDriver.php b/app/Ninja/PaymentDrivers/StripePaymentDriver.php index 08ce70a0b087..006b3951b68b 100644 --- a/app/Ninja/PaymentDrivers/StripePaymentDriver.php +++ b/app/Ninja/PaymentDrivers/StripePaymentDriver.php @@ -331,10 +331,14 @@ class StripePaymentDriver extends BasePaymentDriver $data = "type=alipay&amount={$amount}¤cy={$currency}&redirect[return_url]={$redirect}"; $response = $this->makeStripeCall('POST', 'sources', $data); - $this->invitation->transaction_reference = $response['id']; - $this->invitation->save(); + if (is_array($response) && isset($response['id'])) { + $this->invitation->transaction_reference = $response['id']; + $this->invitation->save(); - return redirect($response['redirect']['url']); + return redirect($response['redirect']['url']); + } else { + throw new Exception($response); + } } public function makeStripeCall($method, $url, $body = null) @@ -459,8 +463,10 @@ class StripePaymentDriver extends BasePaymentDriver return false; } $data = sprintf('amount=%d¤cy=%s&source=%s', $source['amount'], $source['currency'], $source['id']); - $this->purchaseResponse = $this->makeStripeCall('POST', 'charges', $data); - $this->createPayment($this->purchaseResponse['id']); + $this->purchaseResponse = $response = $this->makeStripeCall('POST', 'charges', $data); + if (is_array($response) && isset($response['id'])) { + $this->createPayment($response['id']); + } } return 'Processed successfully'; diff --git a/database/seeds/PaymentTypesSeeder.php b/database/seeds/PaymentTypesSeeder.php index 281aa27f6d15..dac2a007e086 100644 --- a/database/seeds/PaymentTypesSeeder.php +++ b/database/seeds/PaymentTypesSeeder.php @@ -37,6 +37,7 @@ class PaymentTypesSeeder extends Seeder ['name' => 'Venmo'], ['name' => 'Money Order'], ['name' => 'Alipay', 'gateway_type_id' => GATEWAY_TYPE_ALIPAY], + ['name' => 'Sofort', 'gateway_type_id' => GATEWAY_TYPE_BANK_TRANSFER], ]; foreach ($paymentTypes as $paymentType) { diff --git a/resources/views/accounts/account_gateway.blade.php b/resources/views/accounts/account_gateway.blade.php index f4bca2009388..290c08ba0ff3 100644 --- a/resources/views/accounts/account_gateway.blade.php +++ b/resources/views/accounts/account_gateway.blade.php @@ -66,6 +66,10 @@ @foreach ($gateways as $gateway)