| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 331 |
| Technical Name |
tzk_payment_sslcommerz |
| License | OPL-1 |
| Website | https://www.tirzok.com |
| Versions | 13.0 14.0 15.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 331 |
| Technical Name |
tzk_payment_sslcommerz |
| License | OPL-1 |
| Website | https://www.tirzok.com |
| Versions | 13.0 14.0 15.0 |
SSLCOMMERZ Payment Module Business Flow
Overview
The SSLCOMMERZ payment module enables Odoo to process online payments via the SSLCOMMERZ payment gateway, supporting both test and production environments. It handles payment initiation, validation, and status updates for transactions, ensuring seamless integration with Odoo's e-commerce and payment workflows.
Business Flow
1. Payment Configuration
- The merchant configures the SSLCOMMERZ payment acquirer in Odoo, specifying the Store ID and Store Password provided by SSLCOMMERZ.
- The environment (test or production) is set, determining whether the module interacts with the sandbox (
https://sandbox.sslcommerz.com) or live (https://securepay.sslcommerz.com) gateway.
2. Payment Initiation
- During checkout in Odoo's e-commerce module, the customer selects SSLCOMMERZ as the payment method.
- The
sslcommerz_form_generate_valuesmethod prepares transaction data, including:- Store ID, store password, transaction amount, currency, and reference ID.
- Customer details (name, email, address, etc.).
- Success, failure, and cancel URLs for post-payment redirection.
- A session key is obtained by sending a POST request to the SSLCOMMERZ API (
gwprocess/v3for test orv4for production). - The customer is redirected to the SSLCOMMERZ payment gateway URL with the session key for payment processing.
3. Payment Processing
- The customer completes the payment on the SSLCOMMERZ gateway.
- SSLCOMMERZ processes the payment and sends a response to one of the predefined URLs:
- Success URL (
/shop/confirmation/): Triggered on successful payment. - Failure URL (
/shop/failure/): Triggered on payment failure. - Cancel URL (
/shop/cancel/): Triggered if the customer cancels the payment.
- Success URL (
4. Transaction Validation
- Upon receiving a response, the
sslcommerz_validate_datamethod verifies the transaction by sending a GET request to the SSLCOMMERZ validation API (validationserverAPI.php). - The response is parsed to check the transaction status (
VALID,VALIDATED, orINVALID_TRANSACTION). - If valid, the transaction is updated in Odoo via
form_feedback, setting the state todoneorpendingbased on the response. - If invalid or unrecognized, the transaction is marked as
errororcancel, and an appropriate log is recorded.
5. Post-Payment Actions
- Success: The customer is redirected to the confirmation page (
/shop/confirmation/). The module inserts a follower record in Odoo’smail_followersto link the sale order to the customer for notifications. - Failure: The customer is redirected to the cart page (
/shop/cart/) to retry or choose another payment method. - Cancel: The customer is redirected to the cart page, and the transaction is canceled in Odoo.
6. Transaction Status Update
- The
TxSslcommerzmodel updates the transaction record with details likeacquirer_reference(transaction ID) andsslcommerz_txn_type(card type). - The transaction state is set to:
donefor successful payments.pendingfor transactions requiring further action (e.g., manual review).errororcancelfor failed or canceled transactions.
- Date and time of validation are recorded, converted to UTC if provided by SSLCOMMERZ.
Key Features
- Environment Flexibility: Supports both test and production environments with dynamic URL switching.
- Secure Validation: Uses SSLCOMMERZ’s validation API to ensure transaction integrity.
- Customer Redirection: Handles success, failure, and cancel scenarios with appropriate redirects.
- Transaction Tracking: Integrates with Odoo’s payment transaction model for status updates and logging.
- Customer Notifications: Adds followers to sale orders for seamless communication.
Error Handling
- Logs errors for missing or invalid transaction references.
- Validates transaction parameters to ensure consistency (e.g., matching
tran_idwithacquirer_reference). - Handles unrecognized responses from SSLCOMMERZ, marking transactions as
errorwith detailed logs.
Conclusion
The SSLCOMMERZ payment module for Odoo provides a robust integration for processing online payments, ensuring secure transaction validation and seamless customer experience. It aligns with Odoo’s e-commerce workflow, offering flexibility for both test and live environments while maintaining detailed transaction records.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module