conflicts

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

View File

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

View File

@ -1,186 +1,187 @@
{ {
"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",
"doctrine/dbal": "^3.0", "invoiceninja/ubl_invoice": "^2",
"eway/eway-rapid-php": "^1.3", "doctrine/dbal": "^3.0",
"fakerphp/faker": "^1.14", "eway/eway-rapid-php": "^1.3",
"gocardless/gocardless-pro": "^4.12", "fakerphp/faker": "^1.14",
"google/apiclient": "^2.7", "getbrevo/brevo-php": "^1.0",
"guzzlehttp/guzzle": "^7.2", "gocardless/gocardless-pro": "^4.12",
"halaxa/json-machine": "^0.7.0", "google/apiclient": "^2.7",
"hashids/hashids": "^4.0", "guzzlehttp/guzzle": "^7.2",
"hedii/laravel-gelf-logger": "^8", "halaxa/json-machine": "^0.7.0",
"horstoeko/zugferd": "^1", "hashids/hashids": "^4.0",
"hyvor/php-json-exporter": "^0.0.3", "hedii/laravel-gelf-logger": "^8",
"imdhemy/laravel-purchases": "^1.7", "horstoeko/zugferd": "^1",
"intervention/image": "^2.5", "horstoeko/orderx": "^1",
"invoiceninja/inspector": "^2.0", "imdhemy/laravel-purchases": "^1.7",
"invoiceninja/ubl_invoice": "^2", "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",
}, "wildbit/postmark-php": "^4.0",
"require-dev": { "hyvor/php-json-exporter": "^0.0.3"
"php": "^8.1|^8.2", },
"barryvdh/laravel-debugbar": "^3.6", "require-dev": {
"barryvdh/laravel-ide-helper": "^2.13", "php": "^8.1|^8.2",
"beyondcode/laravel-query-detector": "^1.8", "barryvdh/laravel-debugbar": "^3.6",
"brianium/paratest": "^7", "barryvdh/laravel-ide-helper": "^2.13",
"fakerphp/faker": "^1.14", "beyondcode/laravel-query-detector": "^1.8",
"filp/whoops": "^2.7", "brianium/paratest": "^7",
"friendsofphp/php-cs-fixer": "^3.14", "filp/whoops": "^2.7",
"laracasts/cypress": "^3.0", "friendsofphp/php-cs-fixer": "^3.14",
"larastan/larastan": "^2", "laracasts/cypress": "^3.0",
"mockery/mockery": "^1.4.4", "larastan/larastan": "^2",
"nunomaduro/collision": "^7.0", "mockery/mockery": "^1.4.4",
"phpstan/phpstan": "^1.9", "nunomaduro/collision": "^7.0",
"phpunit/phpunit": "^10.0", "phpstan/phpstan": "^1.9",
"spatie/laravel-ignition": "^2.0", "phpunit/phpunit": "^10.0",
"spaze/phpstan-stripe": "^3.0" "spatie/laravel-ignition": "^2.0",
}, "spaze/phpstan-stripe": "^3.0"
"autoload": { },
"psr-4": { "autoload": {
"App\\": "app/", "psr-4": {
"Database\\Factories\\": "database/factories/", "App\\": "app/",
"Database\\Seeders\\": "database/seeders/", "Database\\Factories\\": "database/factories/",
"Modules\\": "Modules/" "Database\\Seeders\\": "database/seeders/",
}, "Modules\\": "Modules/"
"files": [ },
"app/Helpers/TranslationHelper.php", "files": [
"app/Helpers/Generic.php", "app/Helpers/TranslationHelper.php",
"app/Helpers/ClientPortal.php" "app/Helpers/Generic.php",
] "app/Helpers/ClientPortal.php"
}, ]
"autoload-dev": { },
"psr-4": { "autoload-dev": {
"Tests\\": "tests/" "psr-4": {
} "Tests\\": "tests/"
}, }
"extra": { },
"laravel": { "extra": {
"dont-discover": [] "laravel": {
} "dont-discover": []
}, }
"scripts": { },
"post-install-cmd": [], "scripts": {
"post-update-cmd": [ "post-install-cmd": [],
"@php artisan vendor:publish --tag=laravel-assets --ansi --force" "post-update-cmd": [
], "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
"post-root-package-install": [ ],
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" "post-root-package-install": [
], "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
"post-create-project-cmd": [ ],
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\"", "post-create-project-cmd": [
"@php artisan key:generate", "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"",
"@php artisan storage:link" "@php artisan key:generate",
], "@php artisan storage:link"
"post-autoload-dump": [ ],
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "post-autoload-dump": [
"@php artisan package:discover --ansi" "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
], "@php artisan package:discover --ansi"
"format": [ ],
"vendor/bin/php-cs-fixer fix" "format": [
] "vendor/bin/php-cs-fixer fix"
}, ]
"config": { },
"preferred-install": "dist", "config": {
"sort-packages": true, "preferred-install": "dist",
"optimize-autoloader": true, "sort-packages": true,
"allow-plugins": { "optimize-autoloader": true,
"php-http/discovery": true "allow-plugins": {
} "php-http/discovery": true
}, }
"repositories": [ },
{ "repositories": [
"type": "vcs", {
"url": "https://github.com/turbo124/apple" "type": "vcs",
} "url": "https://github.com/turbo124/apple"
], }
"minimum-stability": "dev", ],
"prefer-stable": true "minimum-stability": "dev",
} "prefer-stable": true
}

39243
composer.lock generated

File diff suppressed because it is too large Load Diff