Can't authorize code more than once.

When I try to authorize a code a second time I get error 400. This is a blocker in our system because we have two very separate services that are intentially firewalled from each other for PCI compliance (credit card processing). We need to identify the user in both systems. Normally we use the login token for this. Since we can't double verify we cannot use SIWA. This happens concurrently so its not an issue of the code timing out. We just need to verify it more than once.