From 17434b4caaa5f1e3944ecb025d9045f3a1a5b4df Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 16 Mar 2022 10:09:21 +1100 Subject: [PATCH] WePay ACH auto detect if payment method is authorized --- app/PaymentDrivers/WePay/ACH.php | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/app/PaymentDrivers/WePay/ACH.php b/app/PaymentDrivers/WePay/ACH.php index b73cd9742b6f..8b5edb770806 100644 --- a/app/PaymentDrivers/WePay/ACH.php +++ b/app/PaymentDrivers/WePay/ACH.php @@ -214,13 +214,29 @@ class ACH public function paymentResponse($request) { - // nlog($request->all()); $token = ClientGatewayToken::find($this->decodePrimaryKey($request->input('source'))); $token_meta = $token->meta; - if(!property_exists($token_meta, 'state') || $token_meta->state != "authorized") - return redirect()->route('client.payment_methods.verification', ['payment_method' => $token->hashed_id, 'method' => GatewayType::BANK_TRANSFER]); + if(!property_exists($token_meta, 'state') || $token_meta->state != "authorized"){ + + $response = $this->wepay_payment_driver->wepay->request('/payment_bank', [ + 'client_id' => config('ninja.wepay.client_id'), + 'client_secret' => config('ninja.wepay.client_secret'), + 'payment_bank_id' => $token->token, + ]); + + if($response->state == 'authorized') + { + $meta = $token->meta; + $meta->state = $response->state; + $token->meta = $meta; + $token->save(); + } + else + return redirect()->route('client.payment_methods.verification', ['payment_method' => $token->hashed_id, 'method' => GatewayType::BANK_TRANSFER]); + + } $app_fee = (config('ninja.wepay.fee_ach_multiplier') * $this->wepay_payment_driver->payment_hash->data->amount_with_fee) + config('ninja.wepay.fee_fixed');