From 5211434d498a508a120ab0b16381cae448054f27 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 17 Sep 2019 15:59:09 +1000 Subject: [PATCH] Working on multiple payment methods per gateway --- app/PaymentDrivers/StripePaymentDriver.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/app/PaymentDrivers/StripePaymentDriver.php b/app/PaymentDrivers/StripePaymentDriver.php index f1c068ab984c..a68ee179de46 100644 --- a/app/PaymentDrivers/StripePaymentDriver.php +++ b/app/PaymentDrivers/StripePaymentDriver.php @@ -163,7 +163,7 @@ class StripePaymentDriver extends BasePaymentDriver if($is_default) { - $this->client->gateway_tokens->update(['is_default'=>0]); + $this->client->gateway_tokens()->update(['is_default'=>0]); $cgt->is_default = 1; $cgt->save(); @@ -206,16 +206,20 @@ class StripePaymentDriver extends BasePaymentDriver $this->init(); - $client_gateway_token = $this->client->gateway_tokens()->whereCompanyGatewayId($this->company_gateway->gateway_id)->first(); + $client_gateway_token = ClientGatewayToken::whereClientId($this->client->id)->whereCompanyGatewayId($this->company_gateway->id)->first(); if($client_gateway_token && $client_gateway_token->gateway_customer_reference) $customer = \Stripe\Customer::retrieve($client_gateway_token->gateway_customer_reference); else{ - $customer = \Stripe\Customer::create([ - "email" => $this->client->present()->email(), - "name" => $this->client->present()->name(), - "phone" => $this->client->present()->phone(), - ]); + + $data['name'] = $this->client->present()->name(); + $data['phone'] = $this->client->present()->phone(); + + if(filter_var($this->client->present()->email(), FILTER_VALIDATE_EMAIL)) + $data['email'] = $this->client->present()->email(); + + $customer = \Stripe\Customer::create($data); + } return $customer;