From f1c4b1cdb3cfe0c449aad0fc1dbdbd0a961a478d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Beganovi=C4=87?= Date: Sat, 1 May 2021 17:53:39 +0200 Subject: [PATCH] wip --- app/PaymentDrivers/Braintree/CreditCard.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/PaymentDrivers/Braintree/CreditCard.php b/app/PaymentDrivers/Braintree/CreditCard.php index 88359029dc5b..62cb5b650ef8 100644 --- a/app/PaymentDrivers/Braintree/CreditCard.php +++ b/app/PaymentDrivers/Braintree/CreditCard.php @@ -86,9 +86,11 @@ class CreditCard $customer = $this->braintree->findOrCreateCustomer(); + $token = $this->getPaymentToken($request->all(), $customer->id); + $result = $this->braintree->gateway->transaction()->sale([ 'amount' => $this->braintree->payment_hash->data->amount_with_fee, - 'paymentMethodToken' => $this->getPaymentToken($request->all(), $customer->id), + 'paymentMethodToken' => $token, 'deviceData' => $state['client-data'], 'options' => [ 'submitForSettlement' => true @@ -99,6 +101,8 @@ class CreditCard $this->braintree->logSuccessfulGatewayResponse(['response' => $request->server_response, 'data' => $this->braintree->payment_hash], SystemLog::TYPE_BRAINTREE); if ($request->store_card && is_null($request->token)) { + $payment_method = $this->braintree->gateway->paymentMethod()->find($token); + $this->storePaymentMethod($payment_method, $customer->id); } @@ -185,15 +189,15 @@ class CreditCard { try { $payment_meta = new \stdClass; - $payment_meta->exp_month = (string)$method->paymentMethod->expirationMonth; - $payment_meta->exp_year = (string)$method->paymentMethod->expirationYear; - $payment_meta->brand = (string)$method->paymentMethod->cardType; - $payment_meta->last4 = (string)$method->paymentMethod->last4; + $payment_meta->exp_month = (string)$method->expirationMonth; + $payment_meta->exp_year = (string)$method->expirationYear; + $payment_meta->brand = (string)$method->cardType; + $payment_meta->last4 = (string)$method->last4; $payment_meta->type = GatewayType::CREDIT_CARD; $data = [ 'payment_meta' => $payment_meta, - 'token' => $method->paymentMethod->token, + 'token' => $method->token, 'payment_method_id' => $this->braintree->payment_hash->data->payment_method_id, ];