First, and foremost, this is an article with context on Chile. If you’re not from there, or don’t have any interest on creating a service or store there, you can pass this one out; you won’t miss anything.
Also, services may change their fees after publication time.
Everything a client wants to know when they want to integrate some kind of payment gateway can be resumed in two questions: what is the most cheap to use, and cheap to integrate. It also what I wanted to know, and hell… I did.
The first question it’s very easy to solve: you just point your merchant owner (or yourself) to the fees each service offers, so he can decide which it's more convenient for him. For example, “Gateway A” offers the possibility to pay with cash on partner stores, which may be convenient since the merchant is also adhered to it, but “Gateway B” offers lower fees and quick setup.
For the second question, it will depend on the SDK and application. Some good SDKs are easy to integrate, but the client may want to connect the payment to other systems outside the payment flow, like saving the transaction log inside Dropbox, inducing more work to be done. Hey, it’s just an example to say integration costs are not the same nor set in stone.
Because everyone wants something that just magically works without needing to dive in manuals or documents, the usage of plugins is far more higher than pure SDKs, and that’s why we have plugins available for every major Store Management Systems: WooCommerce, Prestashop, Magento, OpenCart, X-Cart, you name it. Even cloud-based stores like Jumpseller, Bsale, Samurai, offer some kind of “plugin” interface for multiple payment gateways (technically they’re not but you get the idea).
This article is not about plugins, though. The main idea of the plugins is to base them off the initial SDK implementation, but it seems that most of them are just a custom version adapted to the target CMS, instead of basing them off a core SDK and then expanding from it.
Back to the main point. I decided to take a look into the major Payment Gateways and their SDKs for integration in Chile, where I live.
It obviously took time, but holy sh*t, nothing came close to be “good” for today standards. Hell, even the “best” SDK available makes Stripe looks like the cure for cancer.
You may see “IVA” in some pricings images. This is the acronym for Added Value Tax (Impuesto al Valor Agregado), which briefly translate into a 19% of taxing over the final selling price, effective in everything sold across the country.
If the payment gateway cuts a 5% +IVA, it amounts to 5,95%. The net earnings of product you sell online for CLP $ 10.000 will be $9.405. The $595 contains $95 in taxes.
I'm pretty much sure that by law, if the price doesn’t have IVA you must inform the price doesn’t include it, or add “plus IVA” after it, so it’s clear to the consumer or client.
For practical effect, I will include IVA in the final percentage fees of each service, but images will be left untouched.
Payment made through Transbank go to the sub-service enabled and of choosing of the customer (Webpay, Oneclick, Patpass or Onepay). It’s a merry-go-round between POST Requests between the application and Transbank. The merchant will receive the money in a monthly basis, minus the platform fees and refunds, if there is any.
Briefly speaking, it was created by banks for banks 30 years ago, and it holds a monopoly since no bank would accept other gateway unless it was Transbank, and they slowly started to control the market. Just this year the waters are starting to shift, but still, this is the primary option for any local and online commerce. The is a nice article in spanish about how Transbank works [English].
As you can see, these tables (that are very hidden in the official site) discriminates the fees based on the merchant category, which is totally arbitrary. It’s just a way for Transbank to get more revenue the less transactions are done and more risky the business is. This should change this year, but since Transbank appealed it may take more time for these tables to be gone.
Redcompra is basically a debit card platform to allow seamless payment through the bank account, and only works with Transbank. This is practically the only debit card protocol broadly adopted in the country, and combined with CuentaRUT, the most used bank account in the whole country, then yes, you got a monopoly.
- Most widespread and compatible payment gateway.
- Different solutions for vastly almost any scenario: one time payments, subscriptions and through-mobile-App payments.
- Accepts a long range of debit and credit cards, from all banks.
- Lower fees than anything else available.
- Needs official and a registered company with a bank account to its name (not personal) in Chile.
- Manual process of integration and approval. Can take 2 weeks or so between calls and handling (and as a developer it will be part of your job).
- Discrimination on the company category. Average goes from 1.77% on debit cards, and 3.51% on credit cards, but higher risk stores will have higher fees. These fees usually go down once the average transactions per year raise.
- SDKs was written with PHP 4 in mind, and it’s not aged well. Just recently has become compatible with PHP7. Low integration quality: I mean, look at this shit. And the worst part: it will probably kept as-is for a long time because changing it will break most things.
- Documentation is as mess, since it tries to handle one paradigm to all languages. It’s like eating pasta, soup and chicken nuggets with a spoon: works for one, but not all. I can accept this from Stripe, though, because it’s infinitely superior.
You’re fucked. You will pass through Transbank anyway, but you can delay the pain by using other more convenient payment gateways to quick start a store, and then shift to Transbank once the merchant has the money to invest in making a good integration for it.
Flow is a payment gateway on top of Transbank, Servipag, and Multicaja, so their fees are higher because they have to cut over then, but the convenience is there.
The fees cut by Flow depend on the days to hold the money until its transferred back to the merchant bank account.
They recently cut their fees to become more competitive, but the catch is these fees are only valid if you register/update before May’s end. Because it’s a promotion, I must use the normal fees, which are striked:
These fees take into account when you want your money available: 5% immediately, 4.6% at the third day. These are pretty high, but they offer convenience to pay with async-cash services like Servipag and Multicaja.
Servipag is a payment kiosk chain which has made a lot partnerships directly with banks and commerces to allow services be paid directly: water services, electricity, phone, universities, etc. It spread like wildfire before Internet because people could pay multiple services in one place after they got out of their jobs, instead of losing time going to each service office. Currently Servipag now allows stores to be partners, which lower their chain cost while raising availability. They have a web page where you can also pay everything in-one-go, and since everyone has access to a Redcompra-enabled debit card and Internet, it works very well.
Multicaja is just another payment gateway a la Servipag, but the payment is made directly through them using cash (through a partner store) or wire transfer, the latter requiring an account in
multicaja.cl. Inconvenient at its best if you tell me, but is a service focused on the partner stores themselves rather than web payments that want a flexible alternative.
And yes, I don’t consider CryptoCompra as a valid service. Unless you’re moneylaundring crypto. *Prejudice intensifies*.
- REST API (mostly) well documented.
- Webhooks hit your application async, as soon a transaction is resolved.
- Offers one-time payments, subscriptions, and even coupons.
- Most flexible payment gateway of all. You can even disable a gateway.
- Quick setup: No contracts, just a valid bank account in Chile to deposit the earnings.
- Weird REST API. Some calls are inconvenient, some badly thought getters and some badly named attributes and parameters, there is even a typo in an attribute name.
- No monthly fees, but they can vary from 4.6% to 5% depending on the days they hold up the money (up to three in most cases) for each service.
- NO SDK AT ALL. An HTTP Wrapper doesn’t qualify as SDK, but it does as lazy development. It doesn’t even have a license, so you it’s copyrighted by default and you have to make your own from the ground up.
- The API REST signing process. HTTPS comes next century for these guys.
Convenient, jack-of-all-trades service if you want to quickstart, but you’re literally alone writing your own implementation for Flow. No monthly payments but the fees are high.
Khipu came with an important paradigm shift: pay by wire-transfer. This needs nothing more than a bank account, and since it doesn’t use any protocol, their fees are about only 1.19% for each transaction.
The payment the user does is made as a wire transfer to the Khipu Bank Account, not the merchant bank account, which detects the transfer and marks the charge as paid. At the next day, you will receive the funds collected the day before minus the platform fee. Recently they’ve added Transbank to it’s services, saving you to deal with Transbank itself and its SDK.
Seeing the table, the transaction costs go up if you want to enable Transbank, all transactions will take 3.45%, even the one made by wire. Kinda weird, but didn’t locate any indication about the contrary.
- Payments enabled for any client with any chilean bank account.
- Allows to use credit card and debit cards through Transbank, but all transaction costs go up.
- Takes only 1,19% of the transaction made by wire-transfer, if the merchant opts for the “Only Wire-transfer” plan.
- All SDKs are automatically made with what Swagger-Codegen likes to puke.
- Takes 3.45% of the transaction when using the “Full” plan that includes Transbank.
- The SDK is decent but nobody did a Q&A over it. There is a lot of try-catches, is tightly coupled with cURL. It’s not entirely bad, but you’re victim of unnecessary methods and variables, simply bad programming. But let’s face it, we have seen worst.
If it weren’t for the fees, and the convenience of a wire-transfer checked by Khipu, this would be a niche product. Hopefully a good SDK will be developed. If you want really lower fees, this is a valid optio to be paired with another.
QVO looks like the new kid on the block. It’s only a wrapper above Transbank, but it’s very competitive one.
They even offer you the possibility to add to your merchant payment services and take a cut from child transactions, but the money transfers are entirely manual. But hey, it’s a feature.
Their API documentation is miles away better than Flow or Transbank, should be an example for the rest. Worth mentioning: they use HTTPS with Bearer Authentication (fucking great!).
The fees are decent to some extent. Let’s check them out.
About the fees… well, they can brag about that. They practically charge the same as Transbank, but they take CLP$ 280 additionally for each transaction over the quota, numbers which I consider enough for what a merchant could expect.
The catch? They charge $1 UF monthly — one of these is like CLP $33.000 (USD $49) including IVA — even if you don’t have movement. The payout is manual, but can be done via API so you’re in charge to automate that, and it takes up to 72 hours.
There are two catches: I already mentioned it’s only a wrapper above Transbank, so you can’t use Servipag, Multicaja, Khipu, or whatever, so take that into account if you need them (mostly don’t). The last catch is: there is no SDK. Nothing. You will have to create a library yourself.
- Decent fees, second best close to Transbank
- Customer back-end for Subscriptions and Plans.
- Great documentation.
- Face it, it’s very well designed.
- It’s only a (very good) wrapper around Transbank.
- Monthly payments. The merchant may want to consider Flow or Khipu until certain net ingress threshold.
- No SDK. None. Nada.
Great wrapper for Transbank, but is only that. Great features. Fees are good, and relatively low monthly payments. It’s well designed, mostly well documented, the JS Pay Button is pretty good. But there is no SDK, you’re on your own.
This works like Flow, but it integrates Transbank, Khipu, and Multicaja. As you are guessing, the fees are high as they sell the convenience of having these three services in one platform. But they literally went overboard.
Their plans are alienating at best. The free plan takes 4.7% for each transactions, while the others take less (3.5% —3.3%) but you have to pay a monthly fee even if there is no movement, and additional fees for each transaction over the quota, numbers that are behind QVO.
It’s kinda hard to recommend when it offers Plan & Subscriptions only on Corporate Plans.
- Everything in one place.
- Quick setup: no contracts, only a bank account to receive the money.
- 4.7% for each transactions on the free tier. 3.5% for the “start-up” and “pyme” tier, but have a monthly fees an additional fees for transactions over the quota.
- Plans and Subscriptions are available, but only Corporation Plans which are costly as f*ck.
- The SDK is lost between PHP4 and PHP5. It’s not even an stable version.
- Signing process like Flow. Maybe they’re still using Netscape.
Same case with Flow, you’re alone integrating it since there is no good SDK. High fees aren’t worth the hassle to integrate other payment gateways. Look somewhere else.
Payku is also a newcomer. They also offer the payment gateway over other services, so there is no much to add. If they’re the same as other, then we need to focus on the pricing.
While they offer Multicaja and Khipu in one go, Transbank services (the more used in the county) are more costly than any other.
The table says it all: they will take a cut over all services. Transbank services (Webpay, Onepay) will take a whooping 5.93% fee per transaction.
- Multicaja, Transbank and Khipu in one place
- No meaningful features.
- Very basic documentation.
- 5.93% fee for Webpay and Onepay, independent of the paying method (debit or credit).
- No SDK
Seems that they won’t push their luck, and stay on the plugin-able and sociable part of the payment gateways. Look somewhere else.
PuntoPagos is one of the services that doesn’t take much attention, it took me a while to find along with others. They says “by developers for developers”, but I have learned that taglines like that rarely apply.
A quick glance on the table says that they take 3.51% plus CLP $600 per transaction, which sounds kind of fair considering they offer Transbank (Webpay), but also direct payment using top banks like Banco de Chile, BancoEstado, BCI, and pseudo-credit cards like Presto (Walmart Lider) and Ripley (big Retailer).
The problem: there is no registration process. You have to contact them directly. And the documentation is lacking love.
- 3.51% + CLP$600~ per transaction no matter what method.
- Webpay and top 3 banks connected (BancoEstado, Banco de Chile, BCI)
- No meaningful features
- Needs a company with bank account.
- No SDK
- Basic documentation
Good fees cannot overcome the lack of features, lack of SDK, poor documentation, and the absence of registration process online. If your needs match strictly with what PuntoPagos offers, you may send them an email.
PagoMaster seems like they didn’t want to turn the calendar to 2010. In any case, they boldly claim they have the most payment options number than any other service online, but in reality, you can tell they integrate little more than Transbank and Servipag.
The fees table is alienating. It ranges from 2.6% on best-case scenarios to whooping 7% when the card holder uses 3 installments with no interest, which for credit card holders is like a gift from heaven. Plus, more fees per transaction.
Since there are no more features, no SDK, and another PDF documentation, I rarely see this being an option above else.
- 22 payment options…
- …which in reality is Transbank plus Servipag in some excent.
- No meaningful features
- Credit Card payments may take 7%.
- No SDK
- Documentation exists… in PDF. Couldn’t find the Adobe Reader download button.
Seems old, and its feels old. The fees table is mostly decent but Credit Card payments can become unexpectedly high. Documentation is basic, there is no SDK, and no features. Look somewhere else.
PayU bought DineroMail, they gutted the trademark and here we are. These take 5,4% + $180 for each transactions, high considering the rest of services in this article, but in exchange they accept credit card, debit (Redcompra) and Multicaja.
They brag about their “Anti-fraud module”, but is not enabled on Chile. In fact, compared to other countries, PayU seems like they just threw the towel here: there is a great lack of features, not even subscriptions or tokenization for credit cards, and the fee per transaction is higher than Argentina, Brazil or Colombia.
I could resume PayU in one sentence: a disappointing payment gateway.
- There is a decent SDK available.
- The merchant can have the money in 3 days, minus the platform fees.
- It includes Transbank (RedCompra) and Multicaja.
- The chilean version is severely crippled in features compared to other countries.
- They will charge you CLP$ 5000 if you lose a dispute.
- The SDK is not on Packagist nor Github, and doesn’t follow PSR-4. You have to download it manually. Hooray! Welcome to 2005! I hope you like Internet Explorer 6 too!
- 5,4% + CLP $180 for each transaction. Ouch!
At least there is a SDK, but not using PSR-4 or Composer, means that updating or fixing a bug will be a PITA. Feature-lacking product. The 5.4% fee is too high for any merchant, but we’ve seen worse, and we will see worse.
These guys are the same of MercadoLibre. The made a spin-off of their site payment system, and now they offer a lot of ways to pay. Their SDK is pretty decent, but lacks some of the advanced techniques to make it more expressive, modular and readable.
They hold the holy trinity of payments: Transbank, Khipu and Servipag, but the Credit Card fees are pricey enough to motivate cash or debit payments to the customers.
Their pricing table is very self-explanatory, but there is a catch: If you’re using a “Seller Account” for your merchant, as it should, it will have to pay up to 5.34% of the earnings on withdrawal. Summing it up, he may lose close to 10% of your money.
Not convinced? Let’s say you the merchant sold CLP$ 400.000, and everybody paid using cash. The account should have CLP$ 385.767. If the merchant wants to take it all out, it will hit the “monthly limit” of CLP $350.000, thus he will receive $365.167. It has lost 8,7% of the total earned. Worst case scenario? All paid by credit card returns $360.649, which is 10% lost.
No thank you.
- They offer Credit Cards, Webpay, Khipu and Servipag.
- Good documentation.
- 3.55% fee for Debit Cards, Khipu or Servipag (cash), whis is competitive with Flow since the funds are available instantly.
- For Credit Cards, the fee is for 4.7% if you want the money available instantly, or 4.4% after 30 days.
- The SDK requires curl. If you don’t have it, because you’re too cool, then you’re fucked.
- If the merchant want to touch HIS OWN MONEY, say goodbye to the 8.7%~10% of earnings.
Nice way of hiding the fees, but no f*cking way somebody will pay close to 10%. Okay, me be a hobbyist who sells and buys crap from time to time in MercadoLibre. But that’s it.
What about Servipag?
Servipag is available for merchants, but tis API and SDK are not publicly available. You have to directly call Servipag (or they will call you).
If you grow really big, Servipag can be a good solution for the customers, unless you service is B2B. I don’t have access to Servipag API or SDK, seems that is non-existent and you will have to implement it yourself, but I heard the API is privately documented.
The good part of Servipag is about they not only allow payments with bank accounts (wire-transfer under a mask), but also Credit Cards from Retailers. In Chile, you have big Retailers (Cencosud, Falabella, Ripley) which offer their own credit lines and cards. This became very popular decades ago people because didn’t have access to a real Credit Card, so they offered credit with monstrous interests and forced people to buy only from these stores to use the credit line. Thus, they became too big to stop.
Servipag is very convenient, since it only takes a cut from a weird table of transactions per month and average amount, going as higher as 1.65%— info from Jumpseller. It’s not quick to operate, you will need the merchant company documents. There is no word on the SDK or documentation, so you’re on your own. Very competitive considering users can also pay with real Credit Cards apart from cash.
After Transbank comes this. No word on the SDK, it may even not have one. Slow to start, you need a company. If you want Servipag the easy way, Flow offers it for 3.43%.
Yeah… about that big pink elephant in the room. I have to admit that it’s fine to use PayPal for personal usage, with low amounts. It’s very convenient to handle few person-to-person transactions with total convenience. The problem goes when you start accepting a less controlled user base, like in a store.
PayPal is known to freeze the whole account if they consider the merchant account related to suspicious activity like: complaints, multiple chargebacks, or when receiving a big payment. The problem is not the money, it’s the time, which can expand to 180 days, sometimes without any withdrawal chance. I could theoretically put in your PayPal account USD$2,000, chargeback, and see your account frozen because I don’t like you.
Rating: A… for Avoid
NEVER consider PayPal for ANY kind of business. Not even a fundraiser.
Who’s the Best, who’s the worst?
And now you know why integration costs are over the roof: almost all official SDKs (at least for Chile) are below average, which means more work for the developer to integrate them. This is one of the many reasons stores go for a plugin-able CMS, since it’s cheap and pretty much straightforward to install. They try to offer you convenience: multiple payment options, but a their fees on top.
Short story: nobody can win against Transbank.
Long story? They secured the monopoly long time ago and they can lower their fees enough to pulverize any competing alternative. Also, by integrating Transbank directly, you can configure how you want to receive payments, like limiting the installments for Credit Cards.
If you want the best for the merchant store, there is no way to avoid it, and you will have to suffer with their SDK and paperwork, but is the trade-off for the lower fees of all services and its widely adoption.
QVO is my second-place winner, but not with some caveats. You will be fine if you need only Transbank, a button, may be a subscription system, and some manual checking in their backend. It looks as the best option if the merchant sells more than CLP $560.000~1.000.000, because below these amounts he could earn more with other services.
These services are Flow or Khipu, my both tied in third place. Flow is easily the most flexible since it allows you to accept multiple gateways ready to use… if you don’t have problem with the fees and the lack of SDK, of course.
Khipu, on the other hand, has far better fees and a decent SDK— but not good by any standard. Since they just recently integrated Transbank, the merchant could pair this with Flow to have Servipag and Multicaja, and use Khipu for Transbank and wire-transfer payments. Win-win scenario, but you will have to work with two SDK and two services.
The rest of services are just average or below average. No offense, maintaining and growing services like these are not a walk in the park, but they don’t offer enough to be recommended or mixed with another.
Once you merchant grows, it could use Transbank directly and disable the Transbank integration from Flow or Khipu, or stop using QVO, since Transbank fees are the lowest overall. Depending on the subscriptions, integrate Patpass, which is a Transbank service for subscriptions.
Also, see what’s about Servipag, may be give them a call.
Now, I have to take a really long shower. May be use a water washer.