Stripe Integration with Montepasso Application
NodeJS, MongoDB, Angular, Express
In addition to custom software development from the ground up, Enginerasoft develops its own IT solutions. One of which is our parking space rental automation service, Montepasso. In this case, we are our own customer.
Our company developed its own product called Montepasso that allows renting parking spaces and granting remote access through automatic barriers or gates. We also planned to add payment functionality—the possibility of paying for a parking lot (for renters) and easily withdrawing money (for parking lot owners). We set the following goals for ourselves: payment functionality should work properly in Europe and in the U.S; banking data should be kept safe. For this, we decided to integrate the Stripe payment processing platform.
The functionality and capabilities of Stripe mesh fully with our Montapasso service. All operations are carried out on secure connections with Stripe and the use of payment tokens, which allow protection of user banking data from leakage and hacking.
Stripe also provides a special mode for testing and development. Developers can use a large data set and various virtual banking cards for testing. Such an approach helped us test all possible cases that might appear when working with Stripe. For example, we can check the successful execution of payment operations, verification of 3D-Secure, manage a lack of funds on a card, and identify an incorrect CVC, among others.
The API and documentation are friendly for developers, clear, and detailed, facilitates quick learning of a desired functionality, and what and how it should work with minimum effort. As a result, we successfully implemented a payment for parking passes system. Our goal was to add the opportunity, when a user (parking lot renter) could add banking card details, delete them, or choose which card should be used in order to pay for a parking pass.
The next integration activities were related to Stripe Connect, which connects other businesses to the system. These businesses can receive payouts into their accounts.
Money from a renter of a parking lot is held in Montepasso’s main account in Stripe. Only upon the request from a parking lot owner is the money transferred to the owner’s account in Stripe. Then the funds are credited to a banking account on the next business day. At the same time, Montepasso charges its commission.
During this integration project, our team faced some issues with payment functionality. Initially, funds including the Stripe fee (after payment) immediately went to the lot owner’s Connect account. This was problematic because lot owners could create parking lots and passes in the Montepasso app even before registering on Stripe. Consequently, they were not able to receive payments. And even if they were registered with Stripe, the data had to be verified by the service in order to receive funds on the Stripe account. A lot renter could not pay for the parking pass or use the Montepasso service. On their end, lot owners couldn’t receive money. However, our technical specialists created an appropriate solution: We decided to transfer the receipt of funds to the main account in Stripe. And when a lot owner registers with Stripe, it becomes possible to receive payments. Regardless whether a lot owner has any issues or not, a lot renter can alway use the Montepasso service.
Our technical support along with Stripe allowed us to solve this problem as quickly as possible for lot owners and renters. Stripe themselves suggested where the problem was and who the user could contact (e.g., a user should contact their bank, if payment didn’t go through).
Thanks to the Stripe–Montepasso integration, a renter pays for the use of the parking space, and the owner can easily withdraw their money through the application. Also this integration allows users to carry out all banking transactions safely.
The payment functionality of Stripe permits analyzing user transactions in detail, the issues a user may encounter, and what, if anything, went wrong when money reached the Stripe account. It is also possible to see related transactions with common data such as the client, banking data, and IP.