mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
introduce ENV-variables for nordigen
This commit is contained in:
parent
a937f5dcef
commit
fab47bd08c
@ -21,7 +21,7 @@ use Nordigen\NordigenPHP\Exceptions\NordigenExceptions\NordigenException;
|
|||||||
|
|
||||||
class Nordigen
|
class Nordigen
|
||||||
{
|
{
|
||||||
public bool $test_mode = false; // https://developer.gocardless.com/bank-account-data/sandbox
|
public bool $test_mode = config('ninja.nordigen.test_mode'); // https://developer.gocardless.com/bank-account-data/sandbox
|
||||||
|
|
||||||
public string $sandbox_institutionId = "SANDBOXFINANCE_SFIN0000";
|
public string $sandbox_institutionId = "SANDBOXFINANCE_SFIN0000";
|
||||||
|
|
||||||
|
@ -35,11 +35,12 @@ class NordigenController extends BaseController
|
|||||||
return response()->redirectTo($data["redirect"] . "?action=nordigen_connect&status=failed&reason=token-invalid");
|
return response()->redirectTo($data["redirect"] . "?action=nordigen_connect&status=failed&reason=token-invalid");
|
||||||
|
|
||||||
$company = $request->getCompany();
|
$company = $request->getCompany();
|
||||||
|
$account = $company->account;
|
||||||
|
|
||||||
if (!$company->account->bank_integration_nordigen_secret_id || !$company->account->bank_integration_nordigen_secret_key)
|
if (!(($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||||
return response()->redirectTo($data["redirect"] . "?action=nordigen_connect&status=failed&reason=account-config-invalid");
|
return response()->redirectTo($data["redirect"] . "?action=nordigen_connect&status=failed&reason=account-config-invalid");
|
||||||
|
|
||||||
$nordigen = new Nordigen($company->account->bank_integration_nordigen_secret_id, $company->account->bank_integration_nordigen_secret_key);
|
$nordigen = ($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) ? new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||||
|
|
||||||
// show bank_selection_screen, when institution_id is not present
|
// show bank_selection_screen, when institution_id is not present
|
||||||
if (!array_key_exists("institution_id", $data)) {
|
if (!array_key_exists("institution_id", $data)) {
|
||||||
@ -156,11 +157,11 @@ class NordigenController extends BaseController
|
|||||||
$company = Company::where('company_key', $context["company_key"])->first();
|
$company = Company::where('company_key', $context["company_key"])->first();
|
||||||
$account = $company->account;
|
$account = $company->account;
|
||||||
|
|
||||||
if (!$account->bank_integration_nordigen_secret_id || !$account->bank_integration_nordigen_secret_key)
|
if (!(($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||||
return response()->redirectTo($context["redirect"] . "?action=nordigen_connect&status=failed&reason=account-config-invalid");
|
return response()->redirectTo($context["redirect"] . "?action=nordigen_connect&status=failed&reason=account-config-invalid");
|
||||||
|
|
||||||
// fetch requisition
|
// fetch requisition
|
||||||
$nordigen = new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key);
|
$nordigen = ($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) ? new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||||
$requisition = $nordigen->getRequisition($context["requisitionId"]);
|
$requisition = $nordigen->getRequisition($context["requisitionId"]);
|
||||||
|
|
||||||
// check validity of requisition
|
// check validity of requisition
|
||||||
@ -302,10 +303,10 @@ class NordigenController extends BaseController
|
|||||||
{
|
{
|
||||||
$account = auth()->user()->account;
|
$account = auth()->user()->account;
|
||||||
|
|
||||||
if (!$account->bank_integration_nordigen_secret_id || !$account->bank_integration_nordigen_secret_key)
|
if (!(($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||||
return response()->json(['message' => 'Not yet authenticated with Nordigen Bank Integration service'], 400);
|
return response()->json(['message' => 'Not yet authenticated with Nordigen Bank Integration service'], 400);
|
||||||
|
|
||||||
$nordigen = new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key);
|
$nordigen = ($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) ? new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||||
return response()->json($nordigen->getInstitutions());
|
return response()->json($nordigen->getInstitutions());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,7 +213,7 @@ class BankIntegrationController extends BaseController
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if ($user->account->bank_integration_nordigen_secret_id && $user->account->bank_integration_nordigen_secret_key)
|
if (($user->account->bank_integration_nordigen_secret_id && $user->account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key')))
|
||||||
$user_account->bank_integrations->where("integration_type", BankIntegration::INTEGRATION_TYPE_NORDIGEN)->andWhere('auto_sync', true)->each(function ($bank_integration) use ($user_account) {
|
$user_account->bank_integrations->where("integration_type", BankIntegration::INTEGRATION_TYPE_NORDIGEN)->andWhere('auto_sync', true)->each(function ($bank_integration) use ($user_account) {
|
||||||
|
|
||||||
ProcessBankTransactionsNordigen::dispatch($user_account, $bank_integration);
|
ProcessBankTransactionsNordigen::dispatch($user_account, $bank_integration);
|
||||||
@ -263,10 +263,12 @@ class BankIntegrationController extends BaseController
|
|||||||
|
|
||||||
private function refreshAccountsNordigen(User $user)
|
private function refreshAccountsNordigen(User $user)
|
||||||
{
|
{
|
||||||
if (!$user->account->bank_integration_nordigen_secret_id || !$user->account->bank_integration_nordigen_secret_key)
|
$account = $user->account;
|
||||||
|
|
||||||
|
if (!(($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$nordigen = new Nordigen($user->account->bank_integration_nordigen_secret_id, $user->account->bank_integration_nordigen_secret_key);
|
$nordigen = ($account->bank_integration_nordigen_secret_id && $account->bank_integration_nordigen_secret_key) ? new Nordigen($account->bank_integration_nordigen_secret_id, $account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||||
|
|
||||||
BankIntegration::withTrashed()->where("integration_type", BankIntegration::INTEGRATION_TYPE_NORDIGEN)->each(function (BankIntegration $bank_integration) use ($nordigen) {
|
BankIntegration::withTrashed()->where("integration_type", BankIntegration::INTEGRATION_TYPE_NORDIGEN)->each(function (BankIntegration $bank_integration) use ($nordigen) {
|
||||||
$account = $nordigen->getAccount($bank_integration->nordigen_account_id);
|
$account = $nordigen->getAccount($bank_integration->nordigen_account_id);
|
||||||
|
@ -56,8 +56,10 @@ class ProcessBankTransactionsNordigen implements ShouldQueue
|
|||||||
if ($this->bank_integration->integration_type != BankIntegration::INTEGRATION_TYPE_NORDIGEN)
|
if ($this->bank_integration->integration_type != BankIntegration::INTEGRATION_TYPE_NORDIGEN)
|
||||||
throw new \Exception("Invalid BankIntegration Type");
|
throw new \Exception("Invalid BankIntegration Type");
|
||||||
|
|
||||||
$this->nordigen = new Nordigen($this->account->bank_integration_nordigen_secret_id, $this->account->bank_integration_nordigen_secret_key);
|
if (!(($this->account->bank_integration_nordigen_secret_id && $this->account->bank_integration_nordigen_secret_key) || (config('ninja.nordigen.secret_id') && config('ninja.nordigen.secret_key'))))
|
||||||
|
throw new \Exception("Missing credentials for bank_integration service nortigen");
|
||||||
|
|
||||||
|
$this->nordigen = ($this->account->bank_integration_nordigen_secret_id && $this->account->bank_integration_nordigen_secret_key) ? new Nordigen($this->account->bank_integration_nordigen_secret_id, $this->account->bank_integration_nordigen_secret_key) : new Nordigen(config('ninja.nordigen.secret_id'), config('ninja.nordigen.secret_key'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -78,7 +80,8 @@ class ProcessBankTransactionsNordigen implements ShouldQueue
|
|||||||
try {
|
try {
|
||||||
$this->updateAccount();
|
$this->updateAccount();
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
nlog("{$this->account->bank_integration_nordigen_secret_id} - exited abnormally => " . $e->getMessage());
|
$secretId = $this->account->bank_integration_nordigen_secret_id ?: config('ninja.nortigen.secret_id');
|
||||||
|
nlog("{$secretId} - exited abnormally => " . $e->getMessage());
|
||||||
|
|
||||||
$content = [
|
$content = [
|
||||||
"Processing transactions for account: {$this->bank_integration->account->key} failed",
|
"Processing transactions for account: {$this->bank_integration->account->key} failed",
|
||||||
@ -98,7 +101,8 @@ class ProcessBankTransactionsNordigen implements ShouldQueue
|
|||||||
try {
|
try {
|
||||||
$this->processTransactions();
|
$this->processTransactions();
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
nlog("{$this->account->bank_integration_nordigen_secret_id} - exited abnormally => " . $e->getMessage());
|
$secretId = $this->account->bank_integration_nordigen_secret_id ?: config('ninja.nortigen.secret_id');
|
||||||
|
nlog("{$secretId} - exited abnormally => " . $e->getMessage());
|
||||||
|
|
||||||
$content = [
|
$content = [
|
||||||
"Processing transactions for account: {$this->bank_integration->account->key} failed",
|
"Processing transactions for account: {$this->bank_integration->account->key} failed",
|
||||||
|
@ -52,7 +52,7 @@ class BankTransactionSync implements ShouldQueue
|
|||||||
if (Ninja::isHosted()) { // @turbo124 @todo I migrated the schedule for the job within the kernel to execute on all platforms and use the same expression here to determine if yodlee can run or not. Please chek/verify
|
if (Ninja::isHosted()) { // @turbo124 @todo I migrated the schedule for the job within the kernel to execute on all platforms and use the same expression here to determine if yodlee can run or not. Please chek/verify
|
||||||
nlog("syncing transactions - yodlee");
|
nlog("syncing transactions - yodlee");
|
||||||
|
|
||||||
$a = Account::with('bank_integrations')->whereNotNull('bank_integration_yodlee_account_id')->cursor()->each(function ($account) {
|
Account::with('bank_integrations')->whereNotNull('bank_integration_yodlee_account_id')->cursor()->each(function ($account) {
|
||||||
// $queue = Ninja::isHosted() ? 'bank' : 'default';
|
// $queue = Ninja::isHosted() ? 'bank' : 'default';
|
||||||
|
|
||||||
if ($account->isPaid() && $account->plan == 'enterprise') {
|
if ($account->isPaid() && $account->plan == 'enterprise') {
|
||||||
@ -65,11 +65,18 @@ class BankTransactionSync implements ShouldQueue
|
|||||||
|
|
||||||
nlog("syncing transactions - nordigen");
|
nlog("syncing transactions - nordigen");
|
||||||
|
|
||||||
$b = Account::with('bank_integrations')->whereNotNull('bank_integration_nordigen_secret_id')->andWhereNotNull('bank_integration_nordigen_secret_key')->cursor()->each(function ($account) {
|
if (config("ninja.nortigen.secret_id") && config("ninja.nortigen.secret_key"))
|
||||||
$account->bank_integrations()->where('integration_type', BankIntegration::INTEGRATION_TYPE_NORDIGEN)->andWhere('auto_sync', true)->cursor()->each(function ($bank_integration) use ($account) {
|
Account::with('bank_integrations')->cursor()->each(function ($account) {
|
||||||
(new ProcessBankTransactionsNordigen($account, $bank_integration))->handle();
|
$account->bank_integrations()->where('integration_type', BankIntegration::INTEGRATION_TYPE_NORDIGEN)->andWhere('auto_sync', true)->cursor()->each(function ($bank_integration) use ($account) {
|
||||||
|
(new ProcessBankTransactionsNordigen($account, $bank_integration))->handle();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
else
|
||||||
|
Account::with('bank_integrations')->whereNotNull('bank_integration_nordigen_secret_id')->andWhereNotNull('bank_integration_nordigen_secret_key')->cursor()->each(function ($account) {
|
||||||
|
$account->bank_integrations()->where('integration_type', BankIntegration::INTEGRATION_TYPE_NORDIGEN)->andWhere('auto_sync', true)->cursor()->each(function ($bank_integration) use ($account) {
|
||||||
|
(new ProcessBankTransactionsNordigen($account, $bank_integration))->handle();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
nlog("syncing transactions - done");
|
nlog("syncing transactions - done");
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ return [
|
|||||||
'license_url' => 'https://app.invoiceninja.com',
|
'license_url' => 'https://app.invoiceninja.com',
|
||||||
'react_url' => env('REACT_URL', 'https://app.invoicing.co'),
|
'react_url' => env('REACT_URL', 'https://app.invoicing.co'),
|
||||||
'production' => env('NINJA_PROD', false),
|
'production' => env('NINJA_PROD', false),
|
||||||
'license' => env('NINJA_LICENSE', ''),
|
'license' => env('NINJA_LICENSE', ''),
|
||||||
'version_url' => 'https://pdf.invoicing.co/api/version',
|
'version_url' => 'https://pdf.invoicing.co/api/version',
|
||||||
'app_name' => env('APP_NAME', 'Invoice Ninja'),
|
'app_name' => env('APP_NAME', 'Invoice Ninja'),
|
||||||
'app_env' => env('APP_ENV', 'selfhosted'),
|
'app_env' => env('APP_ENV', 'selfhosted'),
|
||||||
@ -86,7 +86,7 @@ return [
|
|||||||
'password' => 'password',
|
'password' => 'password',
|
||||||
'stripe' => env('STRIPE_KEYS', ''),
|
'stripe' => env('STRIPE_KEYS', ''),
|
||||||
'paypal' => env('PAYPAL_KEYS', ''),
|
'paypal' => env('PAYPAL_KEYS', ''),
|
||||||
'ppcp' => env('PPCP_KEYS', ''),
|
'ppcp' => env('PPCP_KEYS', ''),
|
||||||
'paypal_rest' => env('PAYPAL_REST_KEYS', ''),
|
'paypal_rest' => env('PAYPAL_REST_KEYS', ''),
|
||||||
'authorize' => env('AUTHORIZE_KEYS', ''),
|
'authorize' => env('AUTHORIZE_KEYS', ''),
|
||||||
'checkout' => env('CHECKOUT_KEYS', ''),
|
'checkout' => env('CHECKOUT_KEYS', ''),
|
||||||
@ -196,7 +196,7 @@ return [
|
|||||||
'ninja_default_company_id' => env('NINJA_COMPANY_ID', null),
|
'ninja_default_company_id' => env('NINJA_COMPANY_ID', null),
|
||||||
'ninja_default_company_gateway_id' => env('NINJA_COMPANY_GATEWAY_ID', null),
|
'ninja_default_company_gateway_id' => env('NINJA_COMPANY_GATEWAY_ID', null),
|
||||||
'ninja_hosted_secret' => env('NINJA_HOSTED_SECRET', ''),
|
'ninja_hosted_secret' => env('NINJA_HOSTED_SECRET', ''),
|
||||||
'ninja_hosted_header' =>env('NINJA_HEADER', ''),
|
'ninja_hosted_header' => env('NINJA_HEADER', ''),
|
||||||
'ninja_connect_secret' => env('NINJA_CONNECT_SECRET', ''),
|
'ninja_connect_secret' => env('NINJA_CONNECT_SECRET', ''),
|
||||||
'internal_queue_enabled' => env('INTERNAL_QUEUE_ENABLED', true),
|
'internal_queue_enabled' => env('INTERNAL_QUEUE_ENABLED', true),
|
||||||
'ninja_apple_api_key' => env('APPLE_API_KEY', false),
|
'ninja_apple_api_key' => env('APPLE_API_KEY', false),
|
||||||
@ -218,6 +218,11 @@ return [
|
|||||||
'dev_mode' => env("YODLEE_DEV_MODE", false),
|
'dev_mode' => env("YODLEE_DEV_MODE", false),
|
||||||
'config_name' => env("YODLEE_CONFIG_NAME", false),
|
'config_name' => env("YODLEE_CONFIG_NAME", false),
|
||||||
],
|
],
|
||||||
|
'nordigen' => [
|
||||||
|
'client_id' => env('NORDIGEN_SECRET_ID', false),
|
||||||
|
'client_secret' => env('NORDIGEN_SECRET_KEY', false),
|
||||||
|
'test_mode' => env("NORDIGEN_TEST_MODE", false),
|
||||||
|
],
|
||||||
'licenses' => env('LICENSES', false),
|
'licenses' => env('LICENSES', false),
|
||||||
'google_application_credentials' => env("GOOGLE_APPLICATION_CREDENTIALS", false),
|
'google_application_credentials' => env("GOOGLE_APPLICATION_CREDENTIALS", false),
|
||||||
'shopify' => [
|
'shopify' => [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user