def _reversal_request_handler(self): invoice_id_raw = self.from_iso.get_invoice_id() # if len(invoice_id_raw) != 11: # return self.ack_invalid_number() #self.invoice_id_raw = real_invoice_id_raw(invoice_id_raw) self.invoice_id_raw = invoice_id_raw rev = Reversal(other_models, OtherDBSession, self.invoice_id_raw) if not rev.payment: return self.ack_payment_not_found() if not rev.paid: return self.parent.ack_invoice_open() iso_pay = query.get_iso_payment(rev.payment) if not iso_pay: return self.ack_iso_payment_not_found() if not self.is_transaction_owner(iso_pay): return self.ack_payment_owner() if iso_pay.ntb != self.get_ntb(): return self.ack_ntb() self.ack() self.save_response_log() iso_rev = models.IsoReversal(id=iso_pay.id) iso_rev.request_id = self.request_log.id iso_rev.response_id = self.response_log.id rev.set_unpaid(iso_rev) flush(DBSession, iso_rev) self.commit()
class ReversalResponse(BaseResponse): def __init__(self, parent): BaseResponse.__init__(self, parent) self.rev = Reversal(models, DBSession, self.invoice_id_raw) def response(self): if not self.rev.invoice: return self.parent.ack_payment_not_found() if not self.rev.is_paid(): return self.parent.ack_invoice_open() if not self.rev.payment: return self.parent.ack_payment_not_found() iso_pay = self.rev.get_iso_payment() if not iso_pay: return self.parent.ack_payment_not_found_2() if not self.is_transaction_owner(iso_pay): return self.parent.ack_payment_owner() self.rev.set_unpaid() self.commit()
def set_unpaid(self): Reversal.set_unpaid(self) self.DBSession.commit()
def set_unpaid(self): if self.payment: Reversal.set_unpaid(self) self.DBSession.commit()