From b329d489280cd80d4809340e6ad7cdf9ff185dbb Mon Sep 17 00:00:00 2001 From: MD Abu Bakkar Date: Sun, 27 Sep 2026 14:04:21 +0200 Subject: [PATCH] release: prepare v1.0.1 --- CHANGELOG.md | 12 +++++ README.md | 30 ++++++++---- images/config.png | Bin 78629 -> 109423 bytes .../sslcommerz_lookup/sslcommerz_lookup.php | 2 +- modules/addons/sslcommerz_lookup/whmcs.json | 2 +- modules/gateways/sslcommerz.php | 10 ++++ modules/gateways/sslcommerz/lib/Bootstrap.php | 19 +++++++- .../sslcommerz/lib/CheckoutService.php | 45 +++++++++++++++--- modules/gateways/sslcommerz/lib/Ledger.php | 29 ++++++++--- .../gateways/sslcommerz/lib/PaymentRules.php | 44 +++++++++++++++-- modules/gateways/sslcommerz/whmcs.json | 5 +- 11 files changed, 166 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9e96c5..a33f109 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable public changes are documented here. +## 1.0.1 - 2026-09-27 + +### Added + +- Added a gateway setting that selects SSLCommerz's current conversion rate or the configured WHMCS rate for non-BDT invoices. + +### Changed + +- Locked the original invoice amount and gateway processing amount separately for callback validation, reconciliation, and refunds. +- Documented that checkout converts the current outstanding invoice balance without adding a module-level surcharge or convenience fee. +- Updated the gateway configuration documentation and screenshot for the new conversion setting. + ## 1.0.0 - 2026-09-14 First public production release. diff --git a/README.md b/README.md index 74a994b..0c5f0e2 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # SSLCommerz for WHMCS -[![Release](https://img.shields.io/badge/release-1.0.0-1565c0.svg)](CHANGELOG.md) +[![Release](https://img.shields.io/badge/release-1.0.1-1565c0.svg)](CHANGELOG.md) [![PHP](https://img.shields.io/badge/PHP-7.4%20%7C%208.1--8.3-777bb4.svg)](https://www.php.net/) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) A production-ready SSLCommerz v4 payment gateway for WHMCS, with secure checkout, callback/IPN settlement, multi-currency reconciliation, refunds, and an optional administrator transaction-lookup add-on. -Version **1.0.0** is the first public production release. +Version **1.0.1** adds a selectable foreign-currency conversion policy, allowing non-BDT invoices to use either SSLCommerz's current rate or the rate configured in WHMCS. > This is an independent community integration. It is not an official product of, sponsored by, or affiliated with SSL Wireless/SSLCommerz or WHMCS. @@ -16,6 +16,7 @@ Version **1.0.0** is the first public production release. - Server-side invoice reload and short-lived HMAC checkout tokens - Shared, idempotent browser callback and IPN payment processing - Strict transaction, amount, currency, risk, and identity validation +- Selectable SSLCommerz or WHMCS foreign-currency conversion rates - Safe USD/foreign-currency to BDT settlement reconciliation - Full and partial refunds using the payment's captured exchange rate - Searchable local transaction ledger, remote refresh, and refund status lookup @@ -37,7 +38,7 @@ Version **1.0.0** is the first public production release. 2. Download the release ZIP and extract it. 3. Copy the extracted `modules` directory into the WHMCS installation root, merging it with the existing `modules` directory. 4. Open **Configuration > Apps & Integrations > Payments** and activate **SSLCommerz Payment Gateway**. -5. Enter the store ID and password, select the environment and checkout mode, then save. +5. Enter the store ID and password, select the environment, conversion policy, and checkout mode, then save. 6. Optionally activate **SSLCommerz Transaction Lookup** under **System Settings > Addon Modules** and grant access to the required administrator roles. 7. Complete a sandbox payment and verify both the invoice and **Billing > Gateway Log** before enabling live mode. @@ -47,7 +48,14 @@ For upgrades, replace all gateway, callback, and add-on files together. Keep `le ## Configuration -Configure the credentials, Test Mode, checkout mode, invoice transaction-ID preference, and gateway display name from the WHMCS payment gateway page. Never commit or share live store credentials. +Configure the credentials, Test Mode, checkout mode, foreign-currency conversion source, invoice transaction-ID preference, and gateway display name from the WHMCS payment gateway page. Never commit or share live store credentials. + +**Foreign Currency Conversion** provides two policies for non-BDT invoices: + +- **SSLCommerz Current Rate** is the backward-compatible default. The module sends the invoice amount and currency, and SSLCommerz converts it to BDT using its current rate. +- **WHMCS Configured Rate** converts the invoice balance to BDT on the server using the rates under **System Settings > Currencies**, then sends the locked BDT amount to SSLCommerz. BDT must exist as a configured WHMCS currency with a valid rate. + +Direct BDT invoices bypass conversion in both modes. ![SSLCommerz gateway settings in WHMCS](images/config.png) @@ -88,7 +96,11 @@ Browser returns and IPNs use the same validation and settlement processor. Atomi ## Currency reconciliation -The module keeps the customer's invoice amount separate from the BDT amount settled by SSLCommerz. A `0.10 USD` invoice settled as `12.34 BDT` is displayed as those two distinct values, never as `12.34 USD`. +The module keeps the customer's invoice amount separate from the amount submitted for processing and the BDT amount settled by SSLCommerz. A `0.10 USD` invoice processed and settled as `12.34 BDT` is displayed as those two distinct values, never as `12.34 USD`. + +The conversion policy and processing amount are captured when the session is created. Later changes to the gateway setting or WHMCS currency rates do not alter callback validation or refund calculations for that transaction. + +Checkout uses the invoice's current outstanding balance, including WHMCS ledger adjustments, rather than only the original line-item total. The module does not add a conversion surcharge or convenience fee. For non-BDT invoices, refunds reuse the BDT-per-invoice-currency rate captured during payment. Historical foreign-currency payments without a captured rate are refused because applying a current rate could over-refund. Refund totals are capped at the remaining captured BDT balance, and durable reservations keep concurrent attempts idempotent. @@ -110,13 +122,14 @@ The administrator add-on provides a minimal dashboard for recent transactions, m ## Troubleshooting -- **Popup reports an error in communication:** verify all 1.0.0 files were uploaded together and clear the PHP opcode cache. The popup endpoint accepts SSLCommerz's live `cart_json` wrapper while authenticating the signed invoice token. +- **Popup reports an error in communication:** verify all 1.0.1 files were uploaded together and clear the PHP opcode cache. The popup endpoint accepts SSLCommerz's live `cart_json` wrapper while authenticating the signed invoice token. - **New Hosted opens the legacy page:** confirm `new_hosted` is saved. Live New Hosted rewrites only SSLCommerz's exact approved live session host to `pay.sslcommerz.com`. - **Unable to start payment:** inspect the newest `SESSION_FAILED` record in the lookup add-on or **Billing > Gateway Log**. Local, transport, and provider failures are logged while the customer sees a generic message. +- **WHMCS rate conversion is unavailable:** add and configure BDT under **System Settings > Currencies**, verify both source and BDT rates are positive, then retry from a freshly loaded invoice. - **Invoice remains unpaid:** confirm the public HTTPS callback and IPN endpoints are reachable and that the response matches the original invoice currency amount and settled BDT amount. -- **Customer is logged out after return:** confirm the 1.0.0 callback files replaced older scripts and that no proxy or plug-in injects a session cookie into callback responses. +- **Customer is logged out after return:** confirm the 1.0.1 callback files replaced older scripts and that no proxy or plug-in injects a session cookie into callback responses. - **Refund returns `REQUEST_FROM_INVALID_SOURCE`:** register the server's public outbound IP with SSLCommerz, then retry the same refund. -- **Lookup View reports an expired token:** clear the opcode cache. Version 1.0.0 uses WHMCS's native administrator CSRF token and has no custom rotating lookup token. +- **Lookup View reports an expired token:** clear the opcode cache. Version 1.0.1 uses WHMCS's native administrator CSRF token and has no custom rotating lookup token. ## Development @@ -144,3 +157,4 @@ GitHub Actions runs multi-version PHP syntax checks and builds the installable Z - Changes are recorded in [CHANGELOG.md](CHANGELOG.md). Released under the [MIT License](LICENSE). Copyright © 2026 Extent Technologies Limited. +Developed and maintained by [MD Abu Bakkar](https://www.google.com/search?kgmid=/g/11zwqn5szs). diff --git a/images/config.png b/images/config.png index a8e18f8a8fa5c77cd83738dbb3aebae7563b713b..9aa220fd1d22ff611d45fdbe183133b03d189a37 100644 GIT binary patch literal 109423 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 z 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 RAb#msR8Uf&m{055{{^39$!Guo literal 78629 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 diff --git a/modules/addons/sslcommerz_lookup/sslcommerz_lookup.php b/modules/addons/sslcommerz_lookup/sslcommerz_lookup.php index 624ab60..5beff24 100644 --- a/modules/addons/sslcommerz_lookup/sslcommerz_lookup.php +++ b/modules/addons/sslcommerz_lookup/sslcommerz_lookup.php @@ -18,7 +18,7 @@ function sslcommerz_lookup_config() return array( 'name' => 'SSLCommerz Transaction Lookup', 'description' => 'Search the local payment ledger, refresh transaction data through the v4 API, export CSV, and query refund status.', - 'version' => '1.0.0', + 'version' => '1.0.1', 'author' => 'Extent Technologies Limited', 'fields' => array( 'store_id' => array( diff --git a/modules/addons/sslcommerz_lookup/whmcs.json b/modules/addons/sslcommerz_lookup/whmcs.json index 73ddf36..60b4d31 100644 --- a/modules/addons/sslcommerz_lookup/whmcs.json +++ b/modules/addons/sslcommerz_lookup/whmcs.json @@ -2,7 +2,7 @@ "schema": "1.0", "type": "whmcs-addons", "name": "sslcommerz_lookup", - "version": "1.0.0", + "version": "1.0.1", "license": "MIT", "category": "utilities", "description": { diff --git a/modules/gateways/sslcommerz.php b/modules/gateways/sslcommerz.php index 5c69867..48c6323 100644 --- a/modules/gateways/sslcommerz.php +++ b/modules/gateways/sslcommerz.php @@ -23,6 +23,16 @@ function sslcommerz_config() 'store_id' => array('FriendlyName' => 'Store ID', 'Type' => 'text', 'Size' => '40'), 'store_password' => array('FriendlyName' => 'Store Password', 'Type' => 'password', 'Size' => '40'), 'testmode' => array('FriendlyName' => 'Test Mode', 'Type' => 'yesno', 'Description' => 'Enable SSLCommerz Sandbox mode.'), + 'conversion_source' => array( + 'FriendlyName' => 'Foreign Currency Conversion', + 'Type' => 'dropdown', + 'Options' => array( + 'sslcommerz' => 'SSLCommerz Current Rate', + 'whmcs' => 'WHMCS Configured Rate', + ), + 'Default' => 'sslcommerz', + 'Description' => 'For non-BDT invoices, either let SSLCommerz convert the invoice currency or convert to BDT using the current WHMCS currency rates before checkout.', + ), 'ui_mode' => array( 'FriendlyName' => 'Checkout UI Mode', 'Type' => 'dropdown', diff --git a/modules/gateways/sslcommerz/lib/Bootstrap.php b/modules/gateways/sslcommerz/lib/Bootstrap.php index 6288f08..f0537bb 100644 --- a/modules/gateways/sslcommerz/lib/Bootstrap.php +++ b/modules/gateways/sslcommerz/lib/Bootstrap.php @@ -68,7 +68,14 @@ public static function checkoutService(array $gateway) )); $ledger = new SslCommerzLedger(); $loader = new SslCommerzWhmcsInvoiceLoader($systemUrl); - return new SslCommerzCheckoutService($api, $ledger, array($loader, 'load'), $gateway, $systemUrl); + return new SslCommerzCheckoutService( + $api, + $ledger, + array($loader, 'load'), + $gateway, + $systemUrl, + array($loader, 'convertCurrency') + ); } } @@ -119,4 +126,14 @@ public function load($invoiceId) 'returnurl' => $this->systemUrl . '/viewinvoice.php?id=' . (int) $invoice->invoiceid, ); } + + public function convertCurrency($amount, $fromCode, $toCode) + { + $from = \WHMCS\Billing\Currency::where('code', strtoupper((string)$fromCode))->first(); + $to = \WHMCS\Billing\Currency::where('code', strtoupper((string)$toCode))->first(); + if (!$from || !$to) { + throw new RuntimeException('WHMCS BDT conversion rate is unavailable.'); + } + return \WHMCS\Billing\Currency::convertBetween($from, (float)$amount, $to); + } } diff --git a/modules/gateways/sslcommerz/lib/CheckoutService.php b/modules/gateways/sslcommerz/lib/CheckoutService.php index 8afb91e..4150627 100644 --- a/modules/gateways/sslcommerz/lib/CheckoutService.php +++ b/modules/gateways/sslcommerz/lib/CheckoutService.php @@ -10,15 +10,17 @@ class SslCommerzCheckoutService private $invoiceLoader; private $gateway; private $systemUrl; + private $currencyConverter; private $lastDiagnostic = array(); - public function __construct($api, $ledger, callable $invoiceLoader, array $gateway, $systemUrl) + public function __construct($api, $ledger, callable $invoiceLoader, array $gateway, $systemUrl, callable $currencyConverter = null) { $this->api = $api; $this->ledger = $ledger; $this->invoiceLoader = $invoiceLoader; $this->gateway = $gateway; $this->systemUrl = rtrim((string) $systemUrl, '/'); + $this->currencyConverter = $currencyConverter; } public function initiate($invoiceId) @@ -36,6 +38,35 @@ public function initiate($invoiceId) $tranId = SslCommerzSupport::transactionId($invoice['invoiceid']); $callback = $this->systemUrl . '/modules/gateways/callback/sslcommerz.php'; + $this->lastDiagnostic = array( + 'invoice_id' => (int)$invoice['invoiceid'], + 'tran_id' => $tranId, + 'amount' => (float)$invoice['amount'], + 'currency' => strtoupper((string)$invoice['currency']), + 'conversion_source' => isset($this->gateway['conversion_source']) && $this->gateway['conversion_source'] === 'whmcs' + ? 'whmcs' : 'sslcommerz', + ); + try { + $amounts = SslCommerzPaymentRules::checkoutAmounts($this->gateway, $invoice, $this->currencyConverter); + } catch (Throwable $error) { + $message = $this->redactDiagnosticText($error->getMessage()); + $this->lastDiagnostic['preflight_error'] = $message; + try { + $this->ledger->begin(array( + 'invoice_id' => (int) $invoice['invoiceid'], + 'tran_id' => $tranId, + 'status' => 'session_failed', + 'currency' => strtoupper((string) $invoice['currency']), + 'invoice_amount' => (float) $invoice['amount'], + 'raw_response' => json_encode(array('status'=>'PREFLIGHT_FAILED','failedreason'=>$message)), + )); + } catch (Throwable $ignored) { + // Preserve the actionable conversion error if diagnostic persistence also fails. + } + throw $error; + } + $invoice = array_merge($invoice, $amounts); + $urls = array( 'success_url' => $callback, 'fail_url' => $callback, @@ -43,11 +74,9 @@ public function initiate($invoiceId) 'ipn_url' => $this->systemUrl . '/modules/gateways/callback/sslcommerz_ipn.php', 'return_url' => isset($invoice['returnurl']) ? $invoice['returnurl'] : $this->systemUrl . '/viewinvoice.php?id=' . (int) $invoice['invoiceid'], ); - $this->lastDiagnostic = array( - 'invoice_id' => (int)$invoice['invoiceid'], - 'tran_id' => $tranId, - 'amount' => (float)$invoice['amount'], - 'currency' => strtoupper((string)$invoice['currency']), + $this->lastDiagnostic = array_merge($this->lastDiagnostic, array( + 'processing_amount' => (float)$invoice['processing_amount'], + 'processing_currency' => strtoupper((string)$invoice['processing_currency']), 'checkout_mode' => SslCommerzSupport::checkoutMode(isset($this->gateway['ui_mode']) ? $this->gateway['ui_mode'] : ''), 'test_mode' => isset($this->gateway['testmode']) && $this->gateway['testmode'] === 'on', 'customer_fields_present' => array( @@ -60,7 +89,7 @@ public function initiate($invoiceId) 'phone' => isset($invoice['phone']) && trim((string)$invoice['phone']) !== '', ), 'callback_host' => parse_url($callback, PHP_URL_HOST), - ); + )); $this->ledger->begin(array( 'invoice_id' => (int) $invoice['invoiceid'], @@ -68,6 +97,8 @@ public function initiate($invoiceId) 'status' => 'initiated', 'currency' => strtoupper((string) $invoice['currency']), 'invoice_amount' => (float) $invoice['amount'], + 'processing_currency' => strtoupper((string) $invoice['processing_currency']), + 'processing_amount' => (float) $invoice['processing_amount'], )); try { diff --git a/modules/gateways/sslcommerz/lib/Ledger.php b/modules/gateways/sslcommerz/lib/Ledger.php index ecfd302..6ef90be 100644 --- a/modules/gateways/sslcommerz/lib/Ledger.php +++ b/modules/gateways/sslcommerz/lib/Ledger.php @@ -20,6 +20,7 @@ public static function schemaDefinition() 'id' => 'increments', 'invoice_id' => 'integer', 'tran_id' => 'string:30', 'val_id' => 'string:100?', 'bank_tran_id' => 'string:100?', 'sessionkey' => 'string:128?', 'status' => 'string:32', 'currency' => 'string:8', 'invoice_amount' => 'decimal:16,2', + 'processing_currency' => 'string:8?', 'processing_amount' => 'decimal:16,2', 'bdt_amount' => 'decimal:16,2', 'currency_rate_bdt' => 'decimal:18,8', 'refunded_bdt' => 'decimal:16,2', 'refund_ref_id' => 'string:100?', 'refund_trans_id' => 'string:30?', 'card_no' => 'string:80?', 'card_type' => 'string:100?', @@ -78,6 +79,8 @@ public function ensureSchema() $table->string('status', 32)->default('initiated')->index(); $table->string('currency', 8); $table->decimal('invoice_amount', 16, 2)->default(0); + $table->string('processing_currency', 8)->nullable(); + $table->decimal('processing_amount', 16, 2)->default(0); $table->decimal('bdt_amount', 16, 2)->default(0); $table->decimal('currency_rate_bdt', 18, 8)->default(0); $table->decimal('refunded_bdt', 16, 2)->default(0); @@ -163,11 +166,16 @@ public function upsertFromGateway(array $transaction, $sessionKey = null) { if (empty($transaction['tran_id'])) { return false; } $tranId = (string)$transaction['tran_id']; - $currency = strtoupper(trim(isset($transaction['currency_type']) ? (string)$transaction['currency_type'] : (isset($transaction['currency']) ? (string)$transaction['currency'] : ''))); - $invoiceAmount = isset($transaction['currency_amount']) && (float)$transaction['currency_amount'] > 0 + $existing = $this->find($tranId); + $processingCurrency = strtoupper(trim(isset($transaction['currency_type']) ? (string)$transaction['currency_type'] : (isset($transaction['currency']) ? (string)$transaction['currency'] : ''))); + $processingAmount = isset($transaction['currency_amount']) && (float)$transaction['currency_amount'] > 0 ? (float)$transaction['currency_amount'] : 0; $bdtAmount = isset($transaction['amount']) && (float)$transaction['amount'] > 0 ? (float)$transaction['amount'] : 0; - if ($invoiceAmount <= 0 && $currency === 'BDT') { $invoiceAmount = $bdtAmount; } + if ($processingAmount <= 0 && $processingCurrency === 'BDT') { $processingAmount = $bdtAmount; } + $invoiceCurrency = $existing && !empty($existing->currency) + ? strtoupper((string)$existing->currency) : $processingCurrency; + $invoiceAmount = $existing && isset($existing->invoice_amount) && (float)$existing->invoice_amount > 0 + ? (float)$existing->invoice_amount : $processingAmount; $safeTransaction = class_exists('SslCommerzSupport') ? SslCommerzSupport::redact($transaction) : $transaction; $fields = array('raw_response'=>json_encode($safeTransaction)); if (isset($transaction['value_a']) && (int)$transaction['value_a'] > 0) { $fields['invoice_id'] = (int)$transaction['value_a']; } @@ -181,11 +189,17 @@ public function upsertFromGateway(array $transaction, $sessionKey = null) if (isset($transaction['status']) && trim((string)$transaction['status']) !== '') { $fields['status'] = strtolower(trim((string)$transaction['status'])); } - if ($currency !== '') { $fields['currency'] = $currency; } - if ($invoiceAmount > 0) { $fields['invoice_amount'] = $invoiceAmount; } + if ($processingCurrency !== '') { $fields['processing_currency'] = $processingCurrency; } + if ($processingAmount > 0) { $fields['processing_amount'] = $processingAmount; } + if (!$existing || empty($existing->currency)) { + if ($invoiceCurrency !== '') { $fields['currency'] = $invoiceCurrency; } + } + if (!$existing || !isset($existing->invoice_amount) || (float)$existing->invoice_amount <= 0) { + if ($invoiceAmount > 0) { $fields['invoice_amount'] = $invoiceAmount; } + } if ($bdtAmount > 0) { $fields['bdt_amount'] = $bdtAmount; } if ($invoiceAmount > 0 && $bdtAmount > 0) { - $fields['currency_rate_bdt'] = $currency === 'BDT' ? 1 : round($bdtAmount/$invoiceAmount, 8); + $fields['currency_rate_bdt'] = $invoiceCurrency === 'BDT' ? 1 : round($bdtAmount/$invoiceAmount, 8); } foreach (array('card_no','card_type','card_brand','card_issuer','risk_title') as $detail) { if (isset($transaction[$detail]) && trim((string)$transaction[$detail]) !== '') { @@ -195,7 +209,6 @@ public function upsertFromGateway(array $transaction, $sessionKey = null) if (isset($transaction['risk_level']) && is_numeric($transaction['risk_level'])) { $fields['risk_level'] = (int)$transaction['risk_level']; } - $existing = $this->find($tranId); if ($existing) { return $this->update($tranId, $fields); } if (!isset($fields['invoice_id'], $fields['invoice_amount'], $fields['currency']) || $fields['invoice_id'] <= 0 || $fields['invoice_amount'] <= 0 || $fields['currency'] === '') { return false; } @@ -376,6 +389,8 @@ private function filter(array $fields) private function migrateExistingTable($capsule) { $definitions = array( + 'processing_currency' => function ($t) { $t->string('processing_currency', 8)->nullable(); }, + 'processing_amount' => function ($t) { $t->decimal('processing_amount', 16, 2)->default(0); }, 'currency_rate_bdt' => function ($t) { $t->decimal('currency_rate_bdt', 18, 8)->default(0); }, 'refunded_bdt' => function ($t) { $t->decimal('refunded_bdt', 16, 2)->default(0); }, 'refund_trans_id' => function ($t) { $t->string('refund_trans_id', 30)->nullable(); }, diff --git a/modules/gateways/sslcommerz/lib/PaymentRules.php b/modules/gateways/sslcommerz/lib/PaymentRules.php index fcf57fb..ffd1f2f 100644 --- a/modules/gateways/sslcommerz/lib/PaymentRules.php +++ b/modules/gateways/sslcommerz/lib/PaymentRules.php @@ -2,10 +2,40 @@ class SslCommerzPaymentRules { + public static function checkoutAmounts(array $gateway, array $invoice, callable $converter = null) + { + $invoiceAmount = (float) $invoice['amount']; + $invoiceCurrency = strtoupper((string) $invoice['currency']); + $processingAmount = $invoiceAmount; + $processingCurrency = $invoiceCurrency; + + if (isset($gateway['conversion_source']) && $gateway['conversion_source'] === 'whmcs' && $invoiceCurrency !== 'BDT') { + if (!$converter) { + throw new RuntimeException('WHMCS BDT conversion rate is unavailable.'); + } + $converted = (float) call_user_func($converter, $invoiceAmount, $invoiceCurrency, 'BDT'); + if (!is_finite($converted) || $converted <= 0) { + throw new RuntimeException('WHMCS BDT conversion rate is unavailable.'); + } + $processingAmount = round($converted, 2); + if ($processingAmount <= 0) { + throw new RuntimeException('WHMCS BDT conversion rate is unavailable.'); + } + $processingCurrency = 'BDT'; + } + + return array( + 'invoice_amount' => $invoiceAmount, + 'invoice_currency' => $invoiceCurrency, + 'processing_amount' => $processingAmount, + 'processing_currency' => $processingCurrency, + ); + } + public static function sessionPayload(array $gateway, array $invoice, array $urls, $tranId) { - $amount = (float)$invoice['amount']; - $currency = strtoupper((string)$invoice['currency']); + $amount = isset($invoice['processing_amount']) ? (float)$invoice['processing_amount'] : (float)$invoice['amount']; + $currency = strtoupper(isset($invoice['processing_currency']) ? (string)$invoice['processing_currency'] : (string)$invoice['currency']); if ($currency === 'BDT' && ($amount < 10 || $amount > 500000)) { throw new InvalidArgumentException('SSLCommerz accepts direct BDT payments from 10.00 to 500000.00 BDT.'); } @@ -73,16 +103,20 @@ public static function validationDecision(array $attempt, array $validation) } $currency = strtoupper(isset($attempt['currency']) ? (string) $attempt['currency'] : ''); + $processingCurrency = strtoupper(isset($attempt['processing_currency']) && $attempt['processing_currency'] !== '' + ? (string) $attempt['processing_currency'] : $currency); $validatedCurrency = strtoupper(isset($validation['currency_type']) ? (string) $validation['currency_type'] : (isset($validation['currency']) ? (string) $validation['currency'] : '')); - if ($validatedCurrency !== $currency) { + if ($validatedCurrency !== $processingCurrency) { return self::reject('currency_mismatch'); } $invoiceAmount = (float) (isset($attempt['invoice_amount']) ? $attempt['invoice_amount'] : 0); - $validatedInvoiceAmount = $currency === 'BDT' + $processingAmount = isset($attempt['processing_amount']) && (float)$attempt['processing_amount'] > 0 + ? (float)$attempt['processing_amount'] : $invoiceAmount; + $validatedProcessingAmount = $processingCurrency === 'BDT' ? (float) (isset($validation['currency_amount']) && $validation['currency_amount'] !== '' ? $validation['currency_amount'] : (isset($validation['amount']) ? $validation['amount'] : 0)) : (float) (isset($validation['currency_amount']) ? $validation['currency_amount'] : 0); - if ($invoiceAmount <= 0 || abs($invoiceAmount - $validatedInvoiceAmount) > 0.01) { + if ($invoiceAmount <= 0 || $processingAmount <= 0 || abs($processingAmount - $validatedProcessingAmount) > 0.01) { return self::reject('amount_mismatch'); } diff --git a/modules/gateways/sslcommerz/whmcs.json b/modules/gateways/sslcommerz/whmcs.json index 5b4ece6..e0cd57f 100644 --- a/modules/gateways/sslcommerz/whmcs.json +++ b/modules/gateways/sslcommerz/whmcs.json @@ -2,16 +2,17 @@ "schema": "1.0", "type": "whmcs-gateways", "name": "sslcommerz", - "version": "1.0.0", + "version": "1.0.1", "license": "MIT", "category": "payments", "description": { "name": "SSLCommerz Payment Gateway", "tagline": "Bangladesh's first online payment gateway integration for WHMCS with full v4 API support.", - "long": "SSLCommerz Payment Gateway module for WHMCS. Implements v4 session creation, order validation, IPN, refunds, idempotent settlement, capture-time currency conversion, and transaction reconciliation. Supports EasyCheckout popup, hosted redirect, and the production new hosted checkout experience.", + "long": "SSLCommerz Payment Gateway module for WHMCS. Implements v4 session creation, order validation, IPN, refunds, idempotent settlement, selectable SSLCommerz or WHMCS currency conversion, and transaction reconciliation. Supports EasyCheckout popup, hosted redirect, and the production new hosted checkout experience.", "features": [ "Checkout with SSLCommerz for a faster checkout & payment experience", "EasyCheckout Popup and hosted checkout modes", + "Selectable SSLCommerz or WHMCS exchange rates", "Capture-time BDT currency reconciliation", "Transaction ledger with an audit trail", "Full and partial refund support"