From 2009544c562403b747956d09de2345dc78482ad8 Mon Sep 17 00:00:00 2001 From: cnohall Date: Thu, 13 Mar 2025 16:52:29 +0900 Subject: [PATCH 1/2] Remove callbackSecret from Blockonomics payments gateway --- .../BlockonomicsPaymentDriver.php | 11 ++--- .../2025_03_13_073151_update_blockonomics.php | 40 +++++++++++++++++++ database/seeders/PaymentLibrariesSeeder.php | 5 +-- 3 files changed, 47 insertions(+), 9 deletions(-) create mode 100644 database/migrations/2025_03_13_073151_update_blockonomics.php diff --git a/app/PaymentDrivers/BlockonomicsPaymentDriver.php b/app/PaymentDrivers/BlockonomicsPaymentDriver.php index d7586e4c76..fcc4260625 100644 --- a/app/PaymentDrivers/BlockonomicsPaymentDriver.php +++ b/app/PaymentDrivers/BlockonomicsPaymentDriver.php @@ -92,12 +92,13 @@ class BlockonomicsPaymentDriver extends BaseDriver $company = $request->getCompany(); - $url_callback_secret = $request->secret; - $db_callback_secret = $this->company_gateway->getConfigField('callbackSecret'); + // Re-introduce secret in a later stage if needed. + // $url_callback_secret = $request->secret; + // $db_callback_secret = $this->company_gateway->getConfigField('callbackSecret'); - if ($url_callback_secret != $db_callback_secret) { - throw new PaymentFailed('Secret does not match'); - } + // if ($url_callback_secret != $db_callback_secret) { + // throw new PaymentFailed('Secret does not match'); + // } $txid = $request->txid; $value = $request->value; diff --git a/database/migrations/2025_03_13_073151_update_blockonomics.php b/database/migrations/2025_03_13_073151_update_blockonomics.php new file mode 100644 index 0000000000..9719cfbbe9 --- /dev/null +++ b/database/migrations/2025_03_13_073151_update_blockonomics.php @@ -0,0 +1,40 @@ +fields); + unset($fields->callbackSecret); + + $gateway->fields = json_encode($fields); + $gateway->site_url = 'https://help.blockonomics.co/support/solutions/articles/33000291849'; + $gateway->save(); + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + $gateway = Gateway::find(65); + if ($gateway) { + // Optionally restore the original state + $fields = json_decode($gateway->fields); + $fields->callbackSecret = ""; // Adding it back if needed + $gateway->fields = json_encode($fields); + $gateway->site_url = 'https://blockonomics.co'; + $gateway->save(); + } + } +}; diff --git a/database/seeders/PaymentLibrariesSeeder.php b/database/seeders/PaymentLibrariesSeeder.php index f271630922..65d61f898a 100644 --- a/database/seeders/PaymentLibrariesSeeder.php +++ b/database/seeders/PaymentLibrariesSeeder.php @@ -25,9 +25,6 @@ class PaymentLibrariesSeeder extends Seeder { Model::unguard(); - // Generate a random callback secret for Blockonomics users - $callbackSecret = Str::random(32); - $gateways = [ ['id' => 1, 'name' => 'Authorize.Net', 'provider' => 'Authorize', 'sort_order' => 5, 'key' => '3b6621f970ab18887c4f6dca78d3f8bb', 'fields' => '{"apiLoginId":"","transactionKey":"","testMode":false,"developerMode":false,"liveEndpoint":"https:\/\/api2.authorize.net\/xml\/v1\/request.api","developerEndpoint":"https:\/\/apitest.authorize.net\/xml\/v1\/request.api"} '], @@ -94,7 +91,7 @@ class PaymentLibrariesSeeder extends Seeder ['id' => 62, 'name' => 'BTCPay', 'provider' => 'BTCPay', 'key' => 'vpyfbmdrkqcicpkjqdusgjfluebftuva', 'fields' => '{"btcpayUrl":"", "apiKey":"", "storeId":"", "webhookSecret":""}'], ['id' => 63, 'name' => 'Rotessa', 'is_offsite' => false, 'sort_order' => 22, 'provider' => 'Rotessa', 'key' => '91be24c7b792230bced33e930ac61676', 'fields' => '{"apiKey":"", "testMode":false}'], ['id' => 64, 'name' => 'CBA PowerBoard', 'is_offsite' => false, 'sort_order' => 26, 'provider' => 'CBAPowerBoard', 'key' => 'b67581d804dbad1743b61c57285142ad', 'fields' => '{"publicKey":"", "secretKey":"", "testMode":false, "gatewayId":"", "amex":false, "ausbc":false, "discover":false, "japcb":false, "laser":false, "mastercard":true, "solo":false, "visa":true, "visa_white":false}'], - ['id' => 65, 'name' => 'Blockonomics', 'is_offsite' => false, 'sort_order' => 27, 'provider' => 'Blockonomics', 'key' => 'wbhf02us6owgo7p4nfjd0ymssdshks4d', 'fields' => '{"apiKey":"", "callbackSecret":"' . $callbackSecret . '"}'], + ['id' => 65, 'name' => 'Blockonomics', 'is_offsite' => false, 'sort_order' => 27, 'provider' => 'Blockonomics', 'key' => 'wbhf02us6owgo7p4nfjd0ymssdshks4d', 'fields' => '{"apiKey":""}'], ]; foreach ($gateways as $gateway) { From 76caeaa096270eb3a99e4df9086ef533152a335c Mon Sep 17 00:00:00 2001 From: cnohall Date: Tue, 18 Mar 2025 09:53:37 +0900 Subject: [PATCH 2/2] remove reverse migration for update_blockonomics --- .../2025_03_13_073151_update_blockonomics.php | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/database/migrations/2025_03_13_073151_update_blockonomics.php b/database/migrations/2025_03_13_073151_update_blockonomics.php index 9719cfbbe9..21b0eb9c85 100644 --- a/database/migrations/2025_03_13_073151_update_blockonomics.php +++ b/database/migrations/2025_03_13_073151_update_blockonomics.php @@ -27,14 +27,6 @@ return new class extends Migration */ public function down(): void { - $gateway = Gateway::find(65); - if ($gateway) { - // Optionally restore the original state - $fields = json_decode($gateway->fields); - $fields->callbackSecret = ""; // Adding it back if needed - $gateway->fields = json_encode($fields); - $gateway->site_url = 'https://blockonomics.co'; - $gateway->save(); - } + // } };