mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-06 03:02:34 +01:00
Working on gateway fees
This commit is contained in:
parent
8a90d46287
commit
c7512f1572
29
app/DataMapper/PaymentTransaction.php
Normal file
29
app/DataMapper/PaymentTransaction.php
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Invoice Ninja (https://invoiceninja.com)
|
||||||
|
*
|
||||||
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||||
|
*
|
||||||
|
* @copyright Copyright (c) 2019. Invoice Ninja LLC (https://invoiceninja.com)
|
||||||
|
*
|
||||||
|
* @license https://opensource.org/licenses/AAL
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\DataMapper;
|
||||||
|
|
||||||
|
class PaymentTransaction
|
||||||
|
{
|
||||||
|
|
||||||
|
public $transaction_id;
|
||||||
|
|
||||||
|
public $gateway_response;
|
||||||
|
|
||||||
|
public $account_gateway_id;
|
||||||
|
|
||||||
|
public $payment_type_id;
|
||||||
|
|
||||||
|
public $status; // prepayment|payment|response|completed
|
||||||
|
|
||||||
|
public $invoices;
|
||||||
|
|
||||||
|
}
|
@ -183,10 +183,22 @@ class Client extends BaseModel
|
|||||||
$payment_methods_collections = collect($payment_methods);
|
$payment_methods_collections = collect($payment_methods);
|
||||||
$payment_methods_intersect = $payment_methods_collections->intersectByKeys( $payment_methods_collections->flatten(1)->unique() );
|
$payment_methods_intersect = $payment_methods_collections->intersectByKeys( $payment_methods_collections->flatten(1)->unique() );
|
||||||
|
|
||||||
$multiplied = $collection->map(function ($item, $key) {
|
$payment_list = $payment_methods_intersect->map(function ($value, $key) {
|
||||||
return $item * 2;
|
|
||||||
|
$gateway = $gateways->where('id', $key)->first();
|
||||||
|
|
||||||
|
$fee_label = $gateway->calcGatewayFee($amount, $this);
|
||||||
|
|
||||||
|
return [
|
||||||
|
'company_gateway_id' => $key,
|
||||||
|
'payment_method_id' => $value,
|
||||||
|
'url' => $label
|
||||||
|
'label' => ctrans('texts.'$gateway->type->alias) . $fee_label,
|
||||||
|
];
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -127,4 +127,19 @@ class CompanyGateway extends BaseModel
|
|||||||
{
|
{
|
||||||
return ! empty($this->config('enablePayPal'));
|
return ! empty($this->config('enablePayPal'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the formatted fee amount for the gateway
|
||||||
|
*
|
||||||
|
* @param float $amount The payment amount
|
||||||
|
* @param Client $client The client object
|
||||||
|
* @return string The fee amount formatted in the client currency
|
||||||
|
*/
|
||||||
|
public function calcGatewayFee($amount, Client $client) :string
|
||||||
|
{
|
||||||
|
|
||||||
|
$fee = '';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user