Airbnb has developed an intricate payment andfinancial accounting system which operates in roughly 190 countries, with morethan 70 currencies and 20 processors.
The firm has experienced such asignificant transaction growth thanks to also an increase, on the platform, ofnew features and products. However, since the beginning, online payments weremade straight between lodger and the landlord of the property. In fact, Airbnboriginally implemented a reasonable solution which allowed gueststo pay via PayPal and hosts instead to collect a check in the mail. Despite ofthis, users started demanding another way to process own payments thus, thefirm set up partnerships to use credit cards. The limitations of Airbnb payment systemcame out soon mostly because of the absence of real framework for integratingprocessors and the growing complexity of transactions. For instance, thoseeuropean guests in search of a good deal in the US would have been charged indollars with an additional conversion fee even to pay, while for hosts outsidethe US, receiving dollars in a PayPal account wasn’t always convenient due tothe presence of multiple payment networks.
Moreover, in case an onlinereservation was changed, the process to recalculate the price, fees andadditional taxes such as VAT in Europe became difficult to drive effectively.The constant variation of the productiondata brought initially Airbnb to adopt a MySQL data pipeline financial systemthat provided a detailed financial reporting and data accuracy in order to increase the transparency ofeach component of the transaction. MySQL database could capture and trackpossible change to reservations and payments records. However, the system was not performing as expected due to some crucialaspects: SQL is adequate for lightweight data transformation and not for elaborate data; SQL was mainly focused on the reservation logic instead of also supporting the product logic, hard to modify and time consuming to test the logic of accuracy; Validation and testing became difficult because of the array of reports built, according to the different data, by the financial team to get a better and comprehensive result; Airbnb integrated new payment processors to use with SQL increasing the code complexity and the lack of clean interfaces around billing and payments made it difficult to introduce support for new products and features.
Although this SQL system worked smootly at the first stage, the moneymoving through the platform grew dramatically, thus, the system becamedifficult to support mostly because of the continuous development of newreporting processors and product changes. Therefore, in order to become a worldwide leading travel company andachieve a competitive advantage in the market, Airbnb was supposed to create asolid and more accessible payment infrastructure.