diff --git a/eopayment/systempayv2.py b/eopayment/systempayv2.py index da4a470..dc1853b 100644 --- a/eopayment/systempayv2.py +++ b/eopayment/systempayv2.py @@ -492,10 +492,15 @@ class Payment(PaymentCommon): message += ' signature invalide.' test = fields[VADS_CTX_MODE] == 'TEST' - if VADS_EOPAYMENT_TRANS_ID in fields: - transaction_id = fields[VADS_EOPAYMENT_TRANS_ID] + vads_eopayment_trans_id = fields.get(VADS_EOPAYMENT_TRANS_ID) + vads_trans_date = fields.get(VADS_TRANS_DATE) + vads_trans_id = fields.get(VADS_TRANS_ID) + if vads_eopayment_trans_id: + transaction_id = vads_eopayment_trans_id + elif vads_trans_date and vads_trans_id: + transaction_id = vads_trans_date + '_' + vads_trans_id else: - transaction_id = '%s_%s' % (copy[VADS_TRANS_DATE], copy[VADS_TRANS_ID]) + raise ResponseError('backend error', message) # the VADS_AUTH_NUMBER is the number to match payment in bank logs copy[self.BANK_ID] = copy.get(VADS_AUTH_NUMBER, '') transaction_date = None