diff --git a/app/Ninja/PaymentDrivers/BasePaymentDriver.php b/app/Ninja/PaymentDrivers/BasePaymentDriver.php index 1508b6f3b77d..87eae2684e11 100644 --- a/app/Ninja/PaymentDrivers/BasePaymentDriver.php +++ b/app/Ninja/PaymentDrivers/BasePaymentDriver.php @@ -507,15 +507,6 @@ class BasePaymentDriver $customer->save(); } - // archive the old payment method - $paymentMethod = PaymentMethod::clientId($this->client()->id) - ->isBankAccount($this->isGatewayType(GATEWAY_TYPE_BANK_TRANSFER)) - ->first(); - - if ($paymentMethod) { - $paymentMethod->delete(); - } - $paymentMethod = $this->createPaymentMethod($customer); if ($paymentMethod) { @@ -540,6 +531,15 @@ class BasePaymentDriver $paymentMethod->setRelation('account_gateway_token', $customer); $paymentMethod = $this->creatingPaymentMethod($paymentMethod); + // archive the old payment method + $oldPaymentMethod = PaymentMethod::clientId($this->client()->id) + ->wherePaymentTypeId($paymentMethod->payment_type_id) + ->first(); + + if ($oldPaymentMethod) { + $oldPaymentMethod->delete(); + } + if ($paymentMethod) { $paymentMethod->save(); } @@ -758,7 +758,7 @@ class BasePaymentDriver } elseif ($paymentMethod->payment_type_id == PAYMENT_TYPE_PAYPAL) { $label = 'PayPal: ' . $paymentMethod->email; } else { - $label = trans('texts.use_card_on_file'); + $label = trans('texts.payment_type_on_file', ['type' => $paymentMethod->payment_type->name]); } $links[] = [ diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 230ceb74ca52..439889307b22 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -2050,6 +2050,7 @@ $LANG = array( 'no_client_selected' => 'Please select a client', 'gateway_config_error' => 'It may help to set new passwords or generate new API keys.', + 'payment_type_on_file' => ':type on file', );