Reconcile marks each transaction in the result set as either new (never seen before), an update (a previously seen transaction with new data), or a deleted transaction (a previously seen transaction that did not show up in this result set). This service compares previously returned transaction data with the new results just received from the institution. We immediately zeroed in on Reconcile, the last service in our pipeline. We also noticed that the problem also occurred disproportionately frequently for the highest-traffic institutions, but we did not recognize the importance of this clue at the time. In this case, however, we saw the duplicates pop up across the board, indicating that this was a problem with our batch update system rather than an issue with any one institution. We’d seen similar in the past that had been isolated to particular banks. Reconcile processes the results and sends webhooks to the customer if we found new transactions.įor the accounts affected by this bug, these “new” transactions were duplicates of old transactions, and calls to our API would only return these duplicates for a few hours before they disappeared. When it is time for an update, the bank integration communicates with the financial institution to retrieve raw updated account data. Scheduler determines when we should poll the bank for updated transaction data for an account. Plaid keeps transactions data up-to-date with a three-phase pipeline: This post is a reflection on what we did-as well as some takeaways for handling concurrent operations across multiple services. So when we heard there was a problem, we wanted to get to the bottom of it as soon as possible. They can then retrieve the new data through the Plaid API.īecause so many of our customers count on regular data updates, we take the timeliness and accuracy of these notifications very seriously. When Plaid detects a new transaction, we send a webhook to notify the customer that the account has new data. For many customers, the best part of Plaid's approach is that we can give them nearly real-time updates on transaction data, which they use to monitor account activity for fraud, help users save money through spending “round ups,” and track progress toward budget goals. Pulling up a level, our Transactions product returns users' transaction history at almost every bank in the United States. Last summer, we started receiving feedback from a few customers that they were being notified about pairs of new transactions that appeared to be duplicates of one another.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |