From f77303c4d17f753932e43bd03b6439034461b71a Mon Sep 17 00:00:00 2001 From: cnohall Date: Fri, 6 Sep 2024 13:02:18 +0900 Subject: [PATCH] add invoice number --- .../Blockonomics/Blockonomics.php | 32 ++++++++++++------- .../gateways/blockonomics/pay.blade.php | 2 +- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/app/PaymentDrivers/Blockonomics/Blockonomics.php b/app/PaymentDrivers/Blockonomics/Blockonomics.php index f149f60f4792..ff8f43a10833 100644 --- a/app/PaymentDrivers/Blockonomics/Blockonomics.php +++ b/app/PaymentDrivers/Blockonomics/Blockonomics.php @@ -15,11 +15,13 @@ namespace App\PaymentDrivers\Blockonomics; use App\Models\Payment; use App\Models\PaymentType; use App\Models\GatewayType; +use App\Models\SystemLog; use App\PaymentDrivers\BlockonomicsPaymentDriver; use App\Utils\Traits\MakesHash; use App\PaymentDrivers\Common\MethodInterface; use App\Http\Requests\ClientPortal\Payments\PaymentResponseRequest; use App\Exceptions\PaymentFailed; +use App\Jobs\Util\SystemLogger; use App\Jobs\Mail\PaymentFailureMailer; use Illuminate\Mail\Mailables\Address; use App\Services\Email\EmailObject; @@ -147,6 +149,7 @@ class Blockonomics implements MethodInterface public function paymentView($data) { + $_invoice = collect($this->blockonomics->payment_hash->data->invoices)->first(); $data['gateway'] = $this->blockonomics; $data['amount'] = $data['total']['amount_with_fee']; $data['currency'] = $this->blockonomics->client->getCurrencyCode(); @@ -154,8 +157,8 @@ class Blockonomics implements MethodInterface $data['btc_amount'] = number_format($btc_amount, 10, '.', ''); $btc_address = $this->getBTCAddress(); $data['btc_address'] = $btc_address; - //TODO: set invoice_id - $data['invoice_id'] = "123"; + $data['invoice_id'] = $_invoice->invoice_id; + $data['invoice_number'] = $_invoice->invoice_number; $data['end_time'] = $this->getTenMinutesCountDownEndTime(); $data['callback_url'] = $this->setCallbackUrl(); @@ -173,16 +176,23 @@ class Blockonomics implements MethodInterface 'txid' => ['required'], ]); - try { - $data = [ - 'payment_method' => $request->payment_method_id, - 'payment_type' => PaymentType::CRYPTO, - 'amount' => $request->amount, - 'gateway_type_id' => GatewayType::CRYPTO, - 'transaction_reference' => $request->txid, - ]; - $payment = $this->blockonomics->createPayment($data, Payment::STATUS_COMPLETED); + $data = []; + $data['amount'] = $request->amount; + $data['payment_method_id'] = $request->payment_method_id; + $data['payment_type'] = PaymentType::CRYPTO; + $data['gateway_type_id'] = GatewayType::CRYPTO; + $data['transaction_reference'] = $request->txid; + $payment = $this->blockonomics->createPayment($data); + + SystemLogger::dispatch( + ['response' => $payment, 'data' => $data], + SystemLog::CATEGORY_GATEWAY_RESPONSE, + SystemLog::EVENT_GATEWAY_SUCCESS, + SystemLog::TYPE_BLOCKONOMICS, + $this->blockonomics->client, + $this->blockonomics->client->company, + ); return redirect()->route('client.payments.show', ['payment' => $this->encodePrimaryKey($payment->id)]); } catch (\Throwable $e) { diff --git a/resources/views/portal/ninja2020/gateways/blockonomics/pay.blade.php b/resources/views/portal/ninja2020/gateways/blockonomics/pay.blade.php index aa17ac630d23..8739189b61c0 100644 --- a/resources/views/portal/ninja2020/gateways/blockonomics/pay.blade.php +++ b/resources/views/portal/ninja2020/gateways/blockonomics/pay.blade.php @@ -5,7 +5,7 @@
-
Invoice #{{$invoice_id}}
+
Invoice #{{$invoice_number}}
To pay, send exactly this BTC amount
To this bitcoin address