Broadcasting Error after Bits Transaction

Extension Transactions happen externally to the Extensions iframe, so when a transaction happens the receipt is sent to ALL instances of that extension, on that channel, with that user (or all users if set to Broadcast).

This means that even if you only had 1 Extension installed, you’d still experience the same thing if you opened the channel in multiple tabs, as each tab on that same channel with the same user logged in will get a receipt.

This is just how Extensions work, and you’ll need to de-dupe accordingly. For example if you have an EBS you’d drop all duplicate transaction IDs. For the front-end you could set up a variable that is ‘true’ when a client uses useBits, and then when it receives onTransactionComplete it checks if that variable is true, and if it’s not it just discards it. This does unfortunately leave a very rare edge case where a user could open up multiple tabs (or have multiple of the same Extension running if they have access to an in-testing Extension as well as live) and opens up the useBits dialog on multiple instances of the extension, as there’s no way to know which instance was the one to actually complete the useBits flow.

1 Like