Fixed a gap in the payment transaction reversal job where asynchronous results were put in a FAILED_REVERSAL
management state.
This fix correctly handles asynchronous reversal transaction results and adds new reversal and management states to support this.
Additionally, this fix updates the webhook service to handle this scenario by checking for the new AWAITING_ASYNC_REVERSAL_RESULTS
management state, and updating the parent transaction’s management state based on the asynchronous results received via the webhook.
Enhanced webhook logging to include application and tenant IDs when there are exceptions around fetching and using the discriminated payment gateway properties.
No changes were made in PaymentTransactionService for this logging, all the changes were made in the respective gateway implementation libraries.
In case the transaction was marked as failed/canceled/reversal, and later a success received via a webhook for that transaction, it will update the transaction type and management state
Introduce new MODIFIED_TRANSACTION_STATUS
transaction management state
Method signature change for isTransactionRequiring3DSVerification and isHostedPaymentPageSetupTransaction in DefaultTransactionWebhookService - paymentResponse
is added a 3rd parameter
Disallow webhook to update archived payments
Fixed an issue where transactions executed via application-discriminated payment gateway properties failed reversal in the payment transaction reversal job.
Added a new applicationDiscriminationId
field on the Payment
to store the application ID on payment creation.
Updated the payment reversal job to use this new applicationDiscriminationId
when fetching application-discriminated payment gateway properties.
Non system payment management endpoints(CustomerPaymentManagementEndpoint) now cannot archive inaccessible existing payments in create requests