22 lines
845 B
Python
22 lines
845 B
Python
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
from odoo.exceptions import UserError
|
||
|
from odoo import _, models
|
||
|
|
||
|
|
||
|
class PosPaymentMethod(models.Model):
|
||
|
_inherit = "pos.payment.method"
|
||
|
|
||
|
def l10n_id_verify_qris_status(self, trx_uuid):
|
||
|
""" Verify qris payment status from the provided transaction UUID
|
||
|
|
||
|
For all qris_invoice_details linked to the transaction, check the payment status
|
||
|
"""
|
||
|
if self.payment_method_type != 'qr_code' or self.qr_code_method != 'id_qr':
|
||
|
return True
|
||
|
trx = self.env['l10n_id.qris.transaction']._get_latest_transaction('pos.order', trx_uuid)
|
||
|
if not trx:
|
||
|
raise UserError(_("No QRIS transaction record is found based on this order"))
|
||
|
|
||
|
result = trx._l10n_id_get_qris_qr_statuses()
|
||
|
return result['paid']
|