conflicts

Signed-off-by: Nisaba <34550856+Nisaba@users.noreply.github.com>
This commit is contained in:
Nisaba 2024-05-18 12:51:29 +00:00 committed by GitHub
parent 1c341f885a
commit be82cc6b23
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19933 additions and 20142 deletions

View File

@ -1,230 +1,229 @@
<?php <?php
/**
* Invoice Ninja (https://invoiceninja.com). /**
* * Invoice Ninja (https://invoiceninja.com).
* @link https://github.com/invoiceninja/invoiceninja source repository *
* * @link https://github.com/invoiceninja/invoiceninja source repository
* @copyright Copyright (c) 2024. Invoice Ninja LLC (https://invoiceninja.com) *
* * @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
* @license https://www.elastic.co/licensing/elastic-license *
*/ * @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\Models;
namespace App\Models;
/**
* App\Models\Gateway /**
* * App\Models\Gateway
* @property int $id *
* @property string $name * @property int $id
* @property string $key * @property string $name
* @property string $provider * @property string $key
* @property bool $visible * @property string $provider
* @property int $sort_order * @property bool $visible
* @property string|null $site_url * @property int $sort_order
* @property bool $is_offsite * @property string|null $site_url
* @property bool $is_secure * @property bool $is_offsite
* @property object|null $fields * @property bool $is_secure
* @property string $default_gateway_type_id * @property object|null $fields
* @property int|null $created_at * @property string $default_gateway_type_id
* @property int|null $updated_at * @property int|null $created_at
* @property-read mixed $options * @property int|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel company() * @property-read mixed $options
* @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns) * @method static \Illuminate\Database\Eloquent\Builder|StaticModel company()
* @method static \Illuminate\Database\Eloquent\Builder|Gateway newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|StaticModel exclude($columns)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway newQuery() * @method static \Illuminate\Database\Eloquent\Builder|Gateway newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Gateway query() * @method static \Illuminate\Database\Eloquent\Builder|Gateway newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway query()
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereDefaultGatewayTypeId($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereFields($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereDefaultGatewayTypeId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereFields($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereIsOffsite($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereIsSecure($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereIsOffsite($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereKey($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereIsSecure($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereKey($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereProvider($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereSiteUrl($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereProvider($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereSortOrder($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereSiteUrl($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereSortOrder($value)
* @method static \Illuminate\Database\Eloquent\Builder|Gateway whereVisible($value) * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereUpdatedAt($value)
* @mixin \Eloquent * @method static \Illuminate\Database\Eloquent\Builder|Gateway whereVisible($value)
*/ * @mixin \Eloquent
class Gateway extends StaticModel */
{ class Gateway extends StaticModel
protected $casts = [ {
'is_offsite' => 'boolean', protected $casts = [
'is_secure' => 'boolean', 'is_offsite' => 'boolean',
'recommended' => 'boolean', 'is_secure' => 'boolean',
'visible' => 'boolean', 'recommended' => 'boolean',
'sort_order' => 'int', 'visible' => 'boolean',
'updated_at' => 'timestamp', 'sort_order' => 'int',
'created_at' => 'timestamp', 'updated_at' => 'timestamp',
'default_gateway_type_id' => 'string', 'created_at' => 'timestamp',
// 'fields' => 'json', 'default_gateway_type_id' => 'string',
'fields' => 'object', // 'fields' => 'json',
'options' => 'array', 'fields' => 'object',
]; 'options' => 'array',
];
protected $appends = [
'options', protected $appends = [
]; 'options',
];
protected $dateFormat = 'Y-m-d H:i:s.u';
protected $dateFormat = 'Y-m-d H:i:s.u';
public function getOptionsAttribute()
{ public function getOptionsAttribute()
return $this->getMethods(); {
} return $this->getMethods();
}
// /**
// * Test if gateway is custom. /**
// * @return bool TRUE|FALSE * Test if gateway is custom.
// */ * @return bool TRUE|FALSE
// public function isCustom(): bool */
// { public function isCustom(): bool
// return in_array($this->id, [62, 67, 68]); //static table ids of the custom gateways {
// } return in_array($this->id, [62, 67, 68]); //static table ids of the custom gateways
}
public function getHelp()
{ public function getHelp()
$link = ''; {
$link = '';
if ($this->id == 1) {
$link = 'http://reseller.authorize.net/application/?id=5560364'; if ($this->id == 1) {
} elseif (in_array($this->id, [15,60,61])) { $link = 'http://reseller.authorize.net/application/?id=5560364';
$link = 'https://www.paypal.com/us/cgi-bin/webscr?cmd=_login-api-run'; } elseif (in_array($this->id, [15, 60, 61])) {
} elseif ($this->id == 24) { $link = 'https://www.paypal.com/us/cgi-bin/webscr?cmd=_login-api-run';
$link = 'https://www.2checkout.com/referral?r=2c37ac2298'; } elseif ($this->id == 24) {
} elseif ($this->id == 35) { $link = 'https://www.2checkout.com/referral?r=2c37ac2298';
$link = 'https://bitpay.com/dashboard/signup'; } elseif ($this->id == 35) {
} elseif ($this->id == 18) { $link = 'https://bitpay.com/dashboard/signup';
$link = 'https://applications.sagepay.com/apply/2C02C252-0F8A-1B84-E10D-CF933EFCAA99'; } elseif ($this->id == 18) {
} elseif ($this->id == 20 || $this->id == 56) { $link = 'https://applications.sagepay.com/apply/2C02C252-0F8A-1B84-E10D-CF933EFCAA99';
$link = 'https://dashboard.stripe.com/account/apikeys'; } elseif ($this->id == 20 || $this->id == 56) {
} elseif ($this->id == 59) { $link = 'https://dashboard.stripe.com/account/apikeys';
$link = 'https://www.forte.net/'; } elseif ($this->id == 59) {
} elseif ($this->id == 62) { $link = 'https://www.forte.net/';
$link = 'https://docs.btcpayserver.org'; } elseif ($this->id == 62) {
} $link = 'https://docs.btcpayserver.org';
}
return $link;
} return $link;
}
/**
* Returns an array of methods and the gatewaytypes possible /**
* * Returns an array of methods and the gatewaytypes possible
* @return array *
*/ * @return array
public function getMethods() */
{ public function getMethods()
switch ($this->id) { {
case 1: switch ($this->id) {
return [GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true]]; //Authorize.net case 1:
case 3: return [GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true]]; //Authorize.net
return [GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => true]]; //eWay case 3:
case 11: return [GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => true]]; //eWay
return [GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => true]]; //Payfast case 11:
case 7: return [GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => true]]; //Payfast
return [ case 7:
GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => true, 'webhooks' => [' ']], // Mollie return [
GatewayType::BANK_TRANSFER => ['refund' => false, 'token_billing' => true, 'webhooks' => [' ']], GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => true, 'webhooks' => [' ']], // Mollie
GatewayType::KBC => ['refund' => false, 'token_billing' => false, 'webhooks' => [' ']], GatewayType::BANK_TRANSFER => ['refund' => false, 'token_billing' => true, 'webhooks' => [' ']],
GatewayType::BANCONTACT => ['refund' => false, 'token_billing' => false, 'webhooks' => [' ']], GatewayType::KBC => ['refund' => false, 'token_billing' => false, 'webhooks' => [' ']],
GatewayType::IDEAL => ['refund' => false, 'token_billing' => false, 'webhooks' => [' ']], GatewayType::BANCONTACT => ['refund' => false, 'token_billing' => false, 'webhooks' => [' ']],
]; GatewayType::IDEAL => ['refund' => false, 'token_billing' => false, 'webhooks' => [' ']],
case 15: ];
return [ case 15:
GatewayType::PAYPAL => ['refund' => false, 'token_billing' => false], return [
]; //Paypal GatewayType::PAYPAL => ['refund' => false, 'token_billing' => false],
case 20: ]; //Paypal
case 56: case 20:
return [ case 56:
GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true, 'webhooks' => ['payment_intent.succeeded', 'payment_intent.payment_failed']], return [
GatewayType::BANK_TRANSFER => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'customer.source.updated','payment_intent.processing', 'payment_intent.payment_failed', 'charge.failed']], GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true, 'webhooks' => ['payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::DIRECT_DEBIT => ['refund' => false, 'token_billing' => false, 'webhooks' => ['payment_intent.processing','payment_intent.succeeded','payment_intent.partially_funded', 'payment_intent.payment_failed']], GatewayType::BANK_TRANSFER => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'customer.source.updated', 'payment_intent.processing', 'payment_intent.payment_failed']],
GatewayType::ALIPAY => ['refund' => false, 'token_billing' => false], GatewayType::DIRECT_DEBIT => ['refund' => false, 'token_billing' => false, 'webhooks' => ['payment_intent.processing', 'payment_intent.succeeded', 'payment_intent.partially_funded', 'payment_intent.payment_failed']],
GatewayType::APPLE_PAY => ['refund' => false, 'token_billing' => false], GatewayType::ALIPAY => ['refund' => false, 'token_billing' => false],
GatewayType::BACS => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.processing', 'payment_intent.succeeded', 'mandate.updated', 'payment_intent.payment_failed']], GatewayType::APPLE_PAY => ['refund' => false, 'token_billing' => false],
GatewayType::SOFORT => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::BACS => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.processing', 'payment_intent.succeeded', 'mandate.updated', 'payment_intent.payment_failed']],
GatewayType::KLARNA => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::SOFORT => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::SEPA => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::KLARNA => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::PRZELEWY24 => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::SEPA => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::GIROPAY => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::PRZELEWY24 => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::EPS => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::GIROPAY => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::BANCONTACT => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::EPS => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::BECS => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::BANCONTACT => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::IDEAL => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::BECS => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::ACSS => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', 'payment_intent.succeeded', 'payment_intent.payment_failed']], GatewayType::IDEAL => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
GatewayType::FPX => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'charge.failed', ]], GatewayType::ACSS => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded', 'payment_intent.succeeded', 'payment_intent.payment_failed']],
]; GatewayType::FPX => ['refund' => true, 'token_billing' => true, 'webhooks' => ['source.chargeable', 'charge.succeeded']],
case 39: ];
return [GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true, 'webhooks' => [' ']]]; //Checkout case 39:
case 46: return [GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true, 'webhooks' => [' ']]]; //Checkout
return [GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true]]; //Paytrace case 46:
case 49: return [GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true]]; //Paytrace
return [ case 49:
GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true], return [
GatewayType::BANK_TRANSFER => ['refund' => true, 'token_billing' => true, 'webhooks' => [' ']], GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true],
]; //WePay GatewayType::BANK_TRANSFER => ['refund' => true, 'token_billing' => true, 'webhooks' => [' ']],
case 50: ]; //WePay
return [ case 50:
GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true], //Braintree return [
GatewayType::PAYPAL => ['refund' => true, 'token_billing' => true], GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true], //Braintree
GatewayType::BANK_TRANSFER => ['refund' => true, 'token_billing' => true, 'webhooks' => [' ']], GatewayType::PAYPAL => ['refund' => true, 'token_billing' => true],
]; GatewayType::BANK_TRANSFER => ['refund' => true, 'token_billing' => true, 'webhooks' => [' ']],
case 57: ];
return [ case 57:
GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true], //Square return [
]; GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true], //Square
case 52: ];
return [ case 52:
GatewayType::BANK_TRANSFER => ['refund' => false, 'token_billing' => true, 'webhooks' => ['confirmed','paid_out','failed','fulfilled']], // GoCardless return [
GatewayType::DIRECT_DEBIT => ['refund' => false, 'token_billing' => true, 'webhooks' => ['confirmed','paid_out','failed','fulfilled']], GatewayType::BANK_TRANSFER => ['refund' => false, 'token_billing' => true, 'webhooks' => ['confirmed', 'paid_out', 'failed', 'fulfilled']], // GoCardless
GatewayType::SEPA => ['refund' => false, 'token_billing' => true, 'webhooks' => ['confirmed','paid_out','failed','fulfilled']], GatewayType::DIRECT_DEBIT => ['refund' => false, 'token_billing' => true, 'webhooks' => ['confirmed', 'paid_out', 'failed', 'fulfilled']],
GatewayType::INSTANT_BANK_PAY => ['refund' => false, 'token_billing' => true, 'webhooks' => ['confirmed','paid_out','failed','fulfilled']], GatewayType::SEPA => ['refund' => false, 'token_billing' => true, 'webhooks' => ['confirmed', 'paid_out', 'failed', 'fulfilled']],
]; GatewayType::INSTANT_BANK_PAY => ['refund' => false, 'token_billing' => true, 'webhooks' => ['confirmed', 'paid_out', 'failed', 'fulfilled']],
case 58: ];
return [ case 58:
GatewayType::HOSTED_PAGE => ['refund' => false, 'token_billing' => false, 'webhooks' => [' ']], // Razorpay return [
]; GatewayType::HOSTED_PAGE => ['refund' => false, 'token_billing' => false, 'webhooks' => [' ']], // Razorpay
case 59: ];
return [ case 59:
GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true], // Forte return [
GatewayType::BANK_TRANSFER => ['refund' => true, 'token_billing' => true, 'webhooks' => [' ']], GatewayType::CREDIT_CARD => ['refund' => true, 'token_billing' => true], // Forte
]; GatewayType::BANK_TRANSFER => ['refund' => true, 'token_billing' => true, 'webhooks' => [' ']],
case 60: ];
return [ case 60:
GatewayType::PAYPAL => ['refund' => false, 'token_billing' => false], return [
GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => false], GatewayType::PAYPAL => ['refund' => false, 'token_billing' => false],
GatewayType::VENMO => ['refund' => false, 'token_billing' => false], GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => false],
GatewayType::PAYPAL_ADVANCED_CARDS => ['refund' => false, 'token_billing' => true], GatewayType::VENMO => ['refund' => false, 'token_billing' => false],
// GatewayType::SEPA => ['refund' => false, 'token_billing' => false], // GatewayType::SEPA => ['refund' => false, 'token_billing' => false],
// GatewayType::BANCONTACT => ['refund' => false, 'token_billing' => false], // GatewayType::BANCONTACT => ['refund' => false, 'token_billing' => false],
// GatewayType::EPS => ['refund' => false, 'token_billing' => false], // GatewayType::EPS => ['refund' => false, 'token_billing' => false],
// GatewayType::MYBANK => ['refund' => false, 'token_billing' => false], // GatewayType::MYBANK => ['refund' => false, 'token_billing' => false],
// GatewayType::PAYLATER => ['refund' => false, 'token_billing' => false], // GatewayType::PAYLATER => ['refund' => false, 'token_billing' => false],
// GatewayType::PRZELEWY24 => ['refund' => false, 'token_billing' => false], // GatewayType::PRZELEWY24 => ['refund' => false, 'token_billing' => false],
// GatewayType::SOFORT => ['refund' => false, 'token_billing' => false], // GatewayType::SOFORT => ['refund' => false, 'token_billing' => false],
]; //Paypal ]; //Paypal
case 61: case 61:
return [ return [
GatewayType::PAYPAL => ['refund' => false, 'token_billing' => false], GatewayType::PAYPAL => ['refund' => false, 'token_billing' => false],
GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => false], GatewayType::CREDIT_CARD => ['refund' => false, 'token_billing' => false],
GatewayType::VENMO => ['refund' => false, 'token_billing' => false], GatewayType::VENMO => ['refund' => false, 'token_billing' => false],
GatewayType::PAYPAL_ADVANCED_CARDS => ['refund' => false, 'token_billing' => true], // GatewayType::SEPA => ['refund' => false, 'token_billing' => false],
// GatewayType::SEPA => ['refund' => false, 'token_billing' => false], // GatewayType::BANCONTACT => ['refund' => false, 'token_billing' => false],
// GatewayType::BANCONTACT => ['refund' => false, 'token_billing' => false], // GatewayType::EPS => ['refund' => false, 'token_billing' => false],
// GatewayType::EPS => ['refund' => false, 'token_billing' => false], // GatewayType::MYBANK => ['refund' => false, 'token_billing' => false],
// GatewayType::MYBANK => ['refund' => false, 'token_billing' => false], GatewayType::PAYLATER => ['refund' => false, 'token_billing' => false],
GatewayType::PAYLATER => ['refund' => false, 'token_billing' => false], // GatewayType::PRZELEWY24 => ['refund' => false, 'token_billing' => false],
// GatewayType::PRZELEWY24 => ['refund' => false, 'token_billing' => false], // GatewayType::SOFORT => ['refund' => false, 'token_billing' => false],
// GatewayType::SOFORT => ['refund' => false, 'token_billing' => false], ]; //Paypal PPCP
]; //Paypal PPCP case 62:
case 62: return [
return [ GatewayType::CRYPTO => ['refund' => true, 'token_billing' => false, 'webhooks' => ['confirmed', 'paid_out', 'failed', 'fulfilled']],
GatewayType::CRYPTO => ['refund' => true, 'token_billing' => false, 'webhooks' => ['confirmed', 'paid_out', 'failed', 'fulfilled']], ]; //BTCPay
]; //BTCPay default:
default: return [];
return []; }
} }
} }
}

View File

@ -1,187 +1,186 @@
{ {
"name": "invoiceninja/invoiceninja", "name": "invoiceninja/invoiceninja",
"description": "Invoices, expenses & time-tracking built with Laravel", "description": "Invoices, expenses & time-tracking built with Laravel",
"keywords": [ "keywords": [
"invoice", "invoice",
"laravel", "laravel",
"invoicing", "invoicing",
"time tracking", "time tracking",
"expenses", "expenses",
"CRM", "CRM",
"Credit card billing", "Credit card billing",
"projects", "projects",
"tasks", "tasks",
"freelancer", "freelancer",
"quotes", "quotes",
"purchase orders", "purchase orders",
"stripe billing", "stripe billing",
"invoices", "invoices",
"subscriptions" "subscriptions"
], ],
"license": "Elastic License", "license": "Elastic License",
"authors": [ "authors": [
{ {
"name": "Hillel Coren", "name": "Hillel Coren",
"email": "hillelcoren@gmail.com" "email": "hillelcoren@gmail.com"
}, },
{ {
"name": "David Bomba", "name": "David Bomba",
"email": "turbo124@gmail.com" "email": "turbo124@gmail.com"
} }
], ],
"type": "project", "type": "project",
"require": { "require": {
"php": "^8.1|^8.2", "php": "^8.1|^8.2",
"ext-dom": "*", "ext-dom": "*",
"ext-json": "*", "ext-json": "*",
"ext-libxml": "*", "ext-libxml": "*",
"afosto/yaac": "^1.4", "afosto/yaac": "^1.4",
"asm/php-ansible": "^4.0", "asm/php-ansible": "^4.0",
"authorizenet/authorizenet": "^2.0", "authorizenet/authorizenet": "^2.0",
"awobaz/compoships": "^2.1", "awobaz/compoships": "^2.1",
"bacon/bacon-qr-code": "^2.0", "bacon/bacon-qr-code": "^2.0",
"beganovich/snappdf": "^4", "beganovich/snappdf": "^4",
"braintree/braintree_php": "^6.0", "braintree/braintree_php": "^6.0",
"btcpayserver/btcpayserver-greenfield-php": "^2.6", "btcpayserver/btcpayserver-greenfield-php": "^2.6",
"checkout/checkout-sdk-php": "^3.0", "checkout/checkout-sdk-php": "^3.0",
"invoiceninja/ubl_invoice": "^2", "invoiceninja/ubl_invoice": "^2",
"doctrine/dbal": "^3.0", "doctrine/dbal": "^3.0",
"eway/eway-rapid-php": "^1.3", "eway/eway-rapid-php": "^1.3",
"fakerphp/faker": "^1.14", "fakerphp/faker": "^1.14",
"getbrevo/brevo-php": "^1.0", "gocardless/gocardless-pro": "^4.12",
"gocardless/gocardless-pro": "^4.12", "google/apiclient": "^2.7",
"google/apiclient": "^2.7", "guzzlehttp/guzzle": "^7.2",
"guzzlehttp/guzzle": "^7.2", "halaxa/json-machine": "^0.7.0",
"halaxa/json-machine": "^0.7.0", "hashids/hashids": "^4.0",
"hashids/hashids": "^4.0", "hedii/laravel-gelf-logger": "^8",
"hedii/laravel-gelf-logger": "^8", "horstoeko/zugferd": "^1",
"horstoeko/zugferd": "^1", "imdhemy/laravel-purchases": "^1.7",
"horstoeko/orderx": "^1", "intervention/image": "^2.5",
"imdhemy/laravel-purchases": "^1.7", "invoiceninja/inspector": "^2.0",
"intervention/image": "^2.5", "josemmo/facturae-php": "^1.7",
"invoiceninja/inspector": "^2.0", "laracasts/presenter": "^0.2.1",
"josemmo/facturae-php": "^1.7", "laravel/framework": "^10",
"laracasts/presenter": "^0.2.1", "laravel/slack-notification-channel": "^2.2",
"laravel/framework": "^10", "laravel/socialite": "^5",
"laravel/slack-notification-channel": "^2.2", "laravel/tinker": "^2.7",
"laravel/socialite": "^5", "laravel/ui": "^4.0",
"laravel/tinker": "^2.7", "league/csv": "^9.6",
"laravel/ui": "^4.0", "league/flysystem-aws-s3-v3": "^3.0",
"league/csv": "^9.6", "league/fractal": "^0.20.0",
"league/flysystem-aws-s3-v3": "^3.0", "league/omnipay": "^3.1",
"league/fractal": "^0.20.0", "livewire/livewire": "^3.0",
"league/omnipay": "^3.1", "microsoft/microsoft-graph": "^1.69",
"livewire/livewire": "^3", "mollie/mollie-api-php": "^2.36",
"microsoft/microsoft-graph": "^1.69", "nelexa/zip": "^4.0",
"mollie/mollie-api-php": "^2.36", "nordigen/nordigen-php": "^1.1",
"nelexa/zip": "^4.0", "nwidart/laravel-modules": "^10.0",
"nordigen/nordigen-php": "^1.1", "omnipay/paypal": "^3.0",
"nwidart/laravel-modules": "^10.0", "payfast/payfast-php-sdk": "^1.1",
"omnipay/paypal": "^3.0", "phpoffice/phpspreadsheet": "^1.29",
"phpoffice/phpspreadsheet": "^1.29", "pragmarx/google2fa": "^8.0",
"pragmarx/google2fa": "^8.0", "predis/predis": "^2",
"predis/predis": "^2", "psr/http-message": "^1.0",
"psr/http-message": "^1.0", "pusher/pusher-php-server": "^7.2",
"pusher/pusher-php-server": "^7.2", "razorpay/razorpay": "2.*",
"razorpay/razorpay": "2.*", "sentry/sentry-laravel": "^3",
"sentry/sentry-laravel": "^3", "setasign/fpdf": "^1.8",
"setasign/fpdf": "^1.8", "setasign/fpdi": "^2.3",
"setasign/fpdi": "^2.3", "shopify/shopify-api": "^4.3",
"shopify/shopify-api": "^4.3", "socialiteproviders/apple": "dev-master",
"socialiteproviders/apple": "dev-master", "socialiteproviders/microsoft": "^4.1",
"socialiteproviders/microsoft": "^4.1", "spatie/laravel-data": "^3.5",
"spatie/laravel-data": "^3.5", "sprain/swiss-qr-bill": "^4.3",
"sprain/swiss-qr-bill": "^4.3", "square/square": "30.0.0.*",
"square/square": "30.0.0.*", "stripe/stripe-php": "^12",
"stripe/stripe-php": "^12", "symfony/http-client": "^6.0",
"symfony/brevo-mailer": "6.4", "symfony/mailgun-mailer": "^6.1",
"symfony/http-client": "^6.0", "symfony/postmark-mailer": "^6.1",
"symfony/mailgun-mailer": "^6.1", "turbo124/beacon": "^1.5",
"symfony/postmark-mailer": "^6.1", "twig/intl-extra": "^3.7",
"turbo124/beacon": "^1.5", "twig/twig": "^3",
"twig/intl-extra": "^3.7", "twilio/sdk": "^6.40",
"twig/twig": "^3", "webpatser/laravel-countries": "dev-master#75992ad",
"twilio/sdk": "^6.40", "wepay/php-sdk": "^0.3",
"webpatser/laravel-countries": "dev-master#75992ad", "wildbit/postmark-php": "^4.0",
"wepay/php-sdk": "^0.3", "hyvor/php-json-exporter": "^0.0.3"
"wildbit/postmark-php": "^4.0", },
"hyvor/php-json-exporter": "^0.0.3" "require-dev": {
}, "php": "^8.1|^8.2",
"require-dev": { "barryvdh/laravel-debugbar": "^3.6",
"php": "^8.1|^8.2", "barryvdh/laravel-ide-helper": "^2.13",
"barryvdh/laravel-debugbar": "^3.6", "beyondcode/laravel-query-detector": "^1.8",
"barryvdh/laravel-ide-helper": "^2.13", "brianium/paratest": "^7",
"beyondcode/laravel-query-detector": "^1.8", "fakerphp/faker": "^1.14",
"brianium/paratest": "^7", "filp/whoops": "^2.7",
"filp/whoops": "^2.7", "friendsofphp/php-cs-fixer": "^3.14",
"friendsofphp/php-cs-fixer": "^3.14", "laracasts/cypress": "^3.0",
"laracasts/cypress": "^3.0", "larastan/larastan": "^2",
"larastan/larastan": "^2", "mockery/mockery": "^1.4.4",
"mockery/mockery": "^1.4.4", "nunomaduro/collision": "^7.0",
"nunomaduro/collision": "^7.0", "phpstan/phpstan": "^1.9",
"phpstan/phpstan": "^1.9", "phpunit/phpunit": "^10.0",
"phpunit/phpunit": "^10.0", "spatie/laravel-ignition": "^2.0",
"spatie/laravel-ignition": "^2.0", "spaze/phpstan-stripe": "^3.0"
"spaze/phpstan-stripe": "^3.0" },
}, "autoload": {
"autoload": { "psr-4": {
"psr-4": { "App\\": "app/",
"App\\": "app/", "Database\\Factories\\": "database/factories/",
"Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/",
"Database\\Seeders\\": "database/seeders/", "Modules\\": "Modules/"
"Modules\\": "Modules/" },
}, "files": [
"files": [ "app/Helpers/TranslationHelper.php",
"app/Helpers/TranslationHelper.php", "app/Helpers/Generic.php",
"app/Helpers/Generic.php", "app/Helpers/ClientPortal.php"
"app/Helpers/ClientPortal.php" ]
] },
}, "autoload-dev": {
"autoload-dev": { "psr-4": {
"psr-4": { "Tests\\": "tests/"
"Tests\\": "tests/" }
} },
}, "extra": {
"extra": { "laravel": {
"laravel": { "dont-discover": []
"dont-discover": [] }
} },
}, "scripts": {
"scripts": { "post-install-cmd": [],
"post-install-cmd": [], "post-update-cmd": [
"post-update-cmd": [ "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
"@php artisan vendor:publish --tag=laravel-assets --ansi --force" ],
], "post-root-package-install": [
"post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ],
], "post-create-project-cmd": [
"post-create-project-cmd": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"",
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\"", "@php artisan key:generate",
"@php artisan key:generate", "@php artisan storage:link"
"@php artisan storage:link" ],
], "post-autoload-dump": [
"post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi"
"@php artisan package:discover --ansi" ],
], "format": [
"format": [ "vendor/bin/php-cs-fixer fix"
"vendor/bin/php-cs-fixer fix" ]
] },
}, "config": {
"config": { "preferred-install": "dist",
"preferred-install": "dist", "sort-packages": true,
"sort-packages": true, "optimize-autoloader": true,
"optimize-autoloader": true, "allow-plugins": {
"allow-plugins": { "php-http/discovery": true
"php-http/discovery": true }
} },
}, "repositories": [
"repositories": [ {
{ "type": "vcs",
"type": "vcs", "url": "https://github.com/turbo124/apple"
"url": "https://github.com/turbo124/apple" }
} ],
], "minimum-stability": "dev",
"minimum-stability": "dev", "prefer-stable": true
"prefer-stable": true }
}

39243
composer.lock generated

File diff suppressed because it is too large Load Diff