Test mode for company gateway

This commit is contained in:
David Bomba 2020-08-28 07:34:15 +10:00
parent 23a8acccc2
commit a5248f7a93
4 changed files with 27 additions and 0 deletions

View File

@ -201,6 +201,18 @@ class CompanyGateway extends BaseModel
return floatval($this->fee_amount) || floatval($this->fee_percent);
}
public function isTestMode()
{
$config = $this->getConfig();
if($this->gateway->provider == 'Stripe' && strpos($config->publishableKey, 'test'))
return true;
if(property_exists($config, 'testMode') && $config->testMode)
return true;
return false;
}
/**
* Get Publishable Key
* Only works for STRIPE and PAYMILL

View File

@ -14,6 +14,8 @@ class CompanyGatewayObserver
*/
public function created(CompanyGateway $company_gateway)
{
/* Set company gateway if not exists*/
if(!$company_gateway->label){
$company_gateway->label = $company_gateway->gateway->name;
$company_gateway->save();

View File

@ -64,6 +64,7 @@ class CompanyGatewayTransformer extends EntityTransformer
'custom_value4' => $company_gateway->custom_value4 ?: '',
'label' => (string)$company_gateway->label ?: '',
'token_billing' => (string)$company_gateway->token_billing,
'test_mode' => (bool)$company_gateway->isTestMode(),
];
}

View File

@ -43,6 +43,18 @@ class AddIsPublicToDocumentsTable extends Migration
$table->timestamps(6);
});
Schema::table('recurring_invoices', function ($table) {
$table->string('auto_bill');
});
Schema::table('recurring_expenses', function ($table) {
$table->table('auto_bill');
});
Schema::table('companies', function ($table) {
$table->enum('default_auto_bill', ['off', 'always','optin','optout'])->default('off');
});
}
/**