From d251df753117a7b77e9a6b07d7365cad4fe3d81b Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 5 Sep 2017 13:51:08 +0300 Subject: [PATCH] Working on Alipay --- app/Ninja/PaymentDrivers/StripePaymentDriver.php | 16 +++++++++++----- database/seeds/PaymentTypesSeeder.php | 1 + .../views/accounts/account_gateway.blade.php | 8 +++++--- 3 files changed, 17 insertions(+), 8 deletions(-) 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)