diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-25 11:53:29 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-25 11:53:29 +0700 |
| commit | 13c90b5a95391d797b89c39b90c1430400ed29b7 (patch) | |
| tree | 1df668fee68e72a76cbcc5255e5d533b3721d190 /indoteknik_custom/models/midtrans.py | |
| parent | 0f7f7fa273295fadde403c4ff9333b3bbe14489a (diff) | |
| parent | 029e8fce907060de2a2514b5abc731f4cd9da96e (diff) | |
Merge branch 'staging' into release
Diffstat (limited to 'indoteknik_custom/models/midtrans.py')
| -rw-r--r-- | indoteknik_custom/models/midtrans.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/indoteknik_custom/models/midtrans.py b/indoteknik_custom/models/midtrans.py index 76dee447..c99c8410 100644 --- a/indoteknik_custom/models/midtrans.py +++ b/indoteknik_custom/models/midtrans.py @@ -1,5 +1,6 @@ from odoo import fields, models, api import logging +import json _logger = logging.getLogger(__name__) @@ -25,6 +26,30 @@ class MidtransNotification(models.Model): ], string='Payment Status', help='Payment Gateway Status / Midtrans / Web, https://docs.midtrans.com/en/after-payment/status-cycle') + def _parse_notification(self): + query = [ + ('payment_status', '=', False) + ] + notifications = self.env['midtrans.notification'].search(query, order='id') + for notif in notifications: + payment_status = json.loads(notif.json_raw)['transaction_status'] + payment_type = json.loads(notif.json_raw)['payment_type'] + gross_amount = json.loads(notif.json_raw)['gross_amount'] + order_id = json.loads(notif.json_raw)['order_id'] + + orders = order_id.split('_') + order = orders[0].replace('-', '/') + sale_order = self.env['sale.order'].search([('name', '=', order)], limit=1) + + notif.payment_status = payment_status + notif.sale_order_id = sale_order.id + + sale_order.payment_type = payment_type + sale_order.gross_amount = gross_amount + sale_order.payment_status = payment_status + + _logger.info('Success Parsing Midtrans Notification %s' % notif.id) + class MidtransRecurring(models.Model): _name = 'midtrans.recurring' |
