systempayv2: raise an error when no transaction_id is found (#47538)

This commit is contained in:
Benjamin Dauvergne 2021-03-11 14:06:45 +01:00
parent a546bbaf5b
commit b456c19e6a
1 changed files with 8 additions and 3 deletions

View File

@ -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