1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 13:12:50 +01:00

Fixes for processInternallyFailedPayment

This commit is contained in:
Benjamin Beganović 2021-08-27 16:19:10 +02:00
parent 760de008f8
commit 38ceefc536

View File

@ -360,16 +360,15 @@ class BaseDriver extends AbstractPaymentDriver
public function processInternallyFailedPayment($gateway, $e) public function processInternallyFailedPayment($gateway, $e)
{ {
if (!is_null($this->payment_hash)) {
$this->unWindGatewayFees($this->payment_hash); $this->unWindGatewayFees($this->payment_hash);
}
if ($e instanceof CheckoutHttpException) { if ($e instanceof CheckoutHttpException) {
$error = $e->getBody(); $error = $e->getBody();
} } else if ($e instanceof Exception) {
else if ($e instanceof Exception) {
$error = $e->getMessage(); $error = $e->getMessage();
} } else
else
$error = $e->getMessage(); $error = $e->getMessage();
PaymentFailureMailer::dispatch( PaymentFailureMailer::dispatch(
@ -379,29 +378,29 @@ class BaseDriver extends AbstractPaymentDriver
$this->payment_hash $this->payment_hash
); );
$nmo = new NinjaMailerObject; if (!is_null($this->payment_hash)) {
$nmo->mailable = new NinjaMailer( (new ClientPaymentFailureObject($gateway->client, $error, $gateway->client->company, $this->payment_hash))->build() );
$nmo->company = $gateway->client->company;
$nmo->settings = $gateway->client->company->settings;
$invoices = Invoice::whereIn('id', $this->transformKeys(array_column($this->payment_hash->invoices(), 'invoice_id')))->withTrashed()->get(); $nmo = new NinjaMailerObject;
$nmo->mailable = new NinjaMailer((new ClientPaymentFailureObject($gateway->client, $error, $gateway->client->company, $this->payment_hash))->build());
$nmo->company = $gateway->client->company;
$nmo->settings = $gateway->client->company->settings;
$invoices->each(function ($invoice){ $invoices = Invoice::whereIn('id', $this->transformKeys(array_column($this->payment_hash->invoices(), 'invoice_id')))->withTrashed()->get();
$invoice->service()->deletePdf(); $invoices->each(function ($invoice) {
}); $invoice->service()->deletePdf();
});
$invoices->first()->invitations->each(function ($invitation) use ($nmo){ $invoices->first()->invitations->each(function ($invitation) use ($nmo) {
if ($invitation->contact->send_email && $invitation->contact->email) { if ($invitation->contact->send_email && $invitation->contact->email) {
$nmo->to_user = $invitation->contact; $nmo->to_user = $invitation->contact;
NinjaMailerJob::dispatch($nmo); NinjaMailerJob::dispatch($nmo);
}
} });
}
});
SystemLogger::dispatch( SystemLogger::dispatch(