We made two compensations in quick succession and one of them disappeared.
Written By Andreas Kimmehed
Last updated 27 days ago
A payment provider will normally reject a second operation while the first is still processing, with an error along the lines of another transaction already being in process. If your returns platform sends shipping and items as two separate messages, they can arrive seconds apart and collide for exactly this reason.
The order locking mechanism in Brink is event-driven and asynchronous. When an operation is initiated, Brink emits an event that the Return partner should listen to in order to correctly reflect the lock state. Since this is an asynchronous operation, it is not possible to determine the lock status based solely on the synchronous API call. The current behavior is working as intended on Brink's side.
To resolve this, the Return platform integration needs to be updated to listen to Brink's order lock event, rather than relying on the synchronous response. This is a required architectural adjustment on the integration side, as the entire flow is designed to be asynchronous. Please reach out to the Return platform to ensure the integration is working as intended.
To solve it manually before the integration is fixed you need to wait until the first compensation has completed before sending the second.Β