Synchronous vs Asynchronous
synchronous the previous p2p apis provided synchronous payments this means that the api call remained open until the payment was complete this created problems for various reasons because calls, especially for international payments (which requires ofac checking) can be significantly delayed waiting for a response \[new] asynchronous the new system is fully asynchronous this allows for holds/pending statuses to be put into place and then handled later, meaning payment initiations are decoupled from status tracking and settlements this is designed for event driven architecture , relying on webhooks or message queues to track payment lifecycle the advantages are operations are not blocked asynchronous apis allows the platform to execute other tasks while waiting for the response better performance asynchronous apis allow microservices and prevent bottlenecks, allowing the platform to simultaneously make calls to the networks, query databases, etc improves scalability threads aren’t tied up waiting for responses, allowing more concurrent requests higher fault tolerance & resilience asynchronous apis have better retry mechanisms if timeouts do occur for international payments, there is still an option to do synchronous payments, but we highly recommend moving towards the asynchronous model