from .. import controller from odoo import http from odoo.http import request import json class Midtrans(controller.Controller): prefix = '/api/v1/' @http.route(prefix + 'midtrans/notification', auth='none', type='json', csrf=False, cors='*', methods=['POST', 'OPTIONS']) def midtrans_notification(self, **kw): json_raw = json.loads(request.httprequest.data) json_dump = json.dumps(json_raw, indent=4, sort_keys=True) # trx_status = json.loads(request.httprequest.data)['transaction_status'] # order_no = json.loads(request.httprequest.data)['order_id'] # query = [('name', '=', order_no)] # order = request.env['sale.order'].sudo().search(query, limit=1) # order.payment_status = trx_status request.env['midtrans.notification'].create([{ # 'sale_order_id': order.id, 'json_raw': json_dump, # 'payment_status': trx_status, }]) return @http.route(prefix + 'midtrans/recurring', auth='none', type='json', csrf=False, cors='*', methods=['POST', 'OPTIONS']) def recurring(self, **kw): json_raw = json.loads(request.httprequest.data) json_dump = json.dumps(json_raw, indent=4, sort_keys=True) request.env['midtrans.recurring'].create([{ 'json_raw': json_dump, }]) return @http.route(prefix + 'midtrans/payaccount', auth='none', type='json', csrf=False, cors='*', methods=['POST', 'OPTIONS']) def payaccount(self, **kw): json_raw = json.loads(request.httprequest.data) json_dump = json.dumps(json_raw, indent=4, sort_keys=True) request.env['midtrans.account'].create([{ 'json_raw': json_dump, }]) return