> What goes into building a international payments service like Paypal?

A LOT of bizdev and treasury work, a.k.a. doing things that's hard to scale. Let's take for example: paying out USD to NGN or IDR.

To be able to pay out in Nigeria/Indonesia in a reasonable time, you'd have to buy a lot NGN/IDR and keep that money in a bank account somewhere. You can't expect to keep wiring out USD to Nigeria because if you do, you're at the mercy of Wire Transfers and fees, it wouldn't be sustainable.

Now depending on the payout, what if they wanted to pay out on a different bank? You have to maintain balance on that different bank too. The money stuck in a country is called "float". If you're lucky, their banks are interconnected and you transfer easily, but if not, you're going to have a harder time.

That's why there's always a "3-5 banking days on withdrawal", it's not because of wiring out your actual cash, companies like Paypal are trying to manage their "float".

Here's what actually happens when someone issues a NGN Withdrawal on your app: depending on the bank on the said country, if they have online banking, you'll have to actually login on your bank account and transfer manually. Believe me, there are only a handful of banks that has Transfer APIs. For some, to even access them, you'd have to be licensed, regulated and have a good relationship.

What if the NGN withdrawal on your app was a cash pickup location? You'd be pressed to also maintain a relationship or talk with local payout providers. Not every popular bank or cash pickup company has an API. Sometimes you'll have to email them a spreadsheet of the "Withdrawals". They'll reply back and you'd have to update the "Withdrawal" status manually or build something that parses emails/CSV to update them.

Now you might be wondering 'I want to lessen stuck capital so that I can offer lower fees'. Depending on the country; you'd have to look for local providers called "Aggregators". These guys can be remittance, money transfer companies that handle local payouts for you. Bonus points: they're usually tech savvy and might provide an API. You maintain balance with them and they take care of the 'Last Mile' of paying out and are fully licensed (hopefully). They charge a fee, and depending on Paypal, they pass it unto you or bake it in with their margins. A side note USDNGN has a black market rate that's way better than the banks, maintaining balance with a bank might be less competitive vs finding an aggregator that can offer you USDNGN black market rates.

That's the basic gist for the treasury work. Legal work mainly is to actually open a bank account and keeping in line with a country's AMLA and KYC regulations are another cost. Otherwise they'll shutdown your bank accounts. Depending on the speed/red-tape of the government processes, you'd have to bake in legal fees and months of back and forth with government agencies.

I have just described Withdrawals. I haven't even begun to describe the hardship of "Deposits", because you're actually in-line with being a quasi-bank, which has another set of licenses, permits and fees.

This is just for 1 country. Every country has it's own quirks, what you did for Nigeria cannot be replicated to say, paying out in KRW or IDR. They will have different licenses, legal fees, aggregators and banks, cash pickups, bank account limits/thresholds, that you'll have to sort and scope out. Not to mention the amount of local competition. You'll also have to keep tabs of changes in regulation, national holidays or changes in a bank/aggregator's policies.

Hopefully this outlines why Paypal cannot be dethroned easily. Stripe is getting there, but otherwise you'd have to embed yourself and have enough float in 100+ countries to even match them or Western Union.

Source: I work as a senior engineer at a remittance startup.