If you sell online in Costa Rica, SINPE Móvil can save you between USD 500 and USD 5,000 a month in fees compared to processing everything through Stripe. But integrating it is not trivial: there is no official BCCR API for the web, you must go through a provider, and the flow introduces friction that typically costs 15% in conversion vs a card checkout.
This guide is the honest technical conversation on how to integrate SINPE in a Costa Rica online store — which providers exist, how much they cost, where the UX trap is, and when NOT to do it. If you arrived from the pricing pillar, this is the detail behind the "+SINPE Móvil + BAC + USD 1,500–2,500" line we quote in the ecommerce range.
💡 TL;DR: USD 1,500–2,500 via provider (Tilopay, GreenPay, ProSinpe), USD 3,000+ with direct bank. Not web-native. SINPE checkout loses ~15% conversion but saves the 2.9% + USD 0.30 fee. Default recommendation: Stripe + SINPE in parallel, not SINPE alone.
Why SINPE Móvil matters in Costa Rica ecommerce
Stripe charges 2.9% + USD 0.30 per international transaction. BAC, BNCR PagaBN, and other local gateways charge 3–4% in colones plus monthly fees. SINPE Móvil between Costa Rican accounts charges no merchant fee — the issuing bank absorbs the cost.
For a store doing CRC 5,000,000/month (~ USD 9,500):
| Payment model | Monthly fees | Per year |
|---|---|---|
| Stripe only (2.9% + USD 0.30 × 200 orders) | USD 335 | USD 4,020 |
| Stripe + SINPE (60% SINPE, 40% Stripe) | USD 134 | USD 1,610 |
| SINPE only (provider flat fee) | USD 80 | USD 960 |
The integration pays itself back in 6–9 months. But before rushing, you need to understand why it is not plug-and-play.
How SINPE Móvil works (technically)
SINPE stands for Sistema Nacional de Pagos Electrónicos and is operated by the BCCR. SINPE Móvil is the layer that enables instant transfers between Costa Rican accounts using the recipient's mobile phone number.
Flow from the bank app: the user opens their bank (BAC, BN, Popular, Promerica, Davivienda), picks "SINPE Móvil" and types the recipient's phone; the issuing bank validates against the BCCR directory and shows the recipient name; the user confirms amount and authenticates (PIN, biometrics, OTP); BCCR settles in seconds; both parties get an SMS with a unique number.
The rail is server-to-server between banks via BCCR. The merchant does not participate in the protocol — you receive funds in your account as a regular incoming transfer, with a confirmation SMS that carries a unique traceable number.
Why SINPE is NOT web-native (technical honesty)
Here is the part many agencies skip in the quote: SINPE Móvil was not designed as an ecommerce payment gateway. It was designed for peer-to-peer transfers between individuals, and banks extended it to merchants with limitations.
This means nothing like this exists:
// This does NOT exist officially
import { SINPE } from '@bccr/sinpe-sdk'
await SINPE.charge({ phone, amount }) // ← does not exist
To integrate SINPE in a web checkout there are three paths:
- Provider (recommended): shops like Tilopay, GreenPay, or ProSinpe signed bank agreements and expose a web API. You integrate against the provider, not against the bank.
- Direct bank API: BAC Credomatic, BNCR, and Banco Popular have corporate APIs that notify deposits. Requires an API service contract with the bank (4–8 weeks) and usually a minimum volume commitment.
- Manual with polling: customer transfers and types the reference in a form; your backend polls the bank statement. This is NOT recommended for volumes > 50 transactions/month — error-prone and fraud-prone.
The reality: 95% of CR ecommerce that integrate SINPE use a provider. Let's look at the real ones.
SINPE providers in Costa Rica (2026)
Tilopay
Most popular for new ecommerce projects. Official SDKs for Next.js, WordPress, and Shopify modules. Covers SINPE Móvil, local cards (BAC, BNCR, BCR, Promerica), and international cards in one integration.
- Technical setup: 1–2 weeks
- SINPE commission: 0.5%–1.5% (negotiated by volume)
- Card commission: 2.8%–4.2%
- Monthly fee: USD 0–25
- Time to production: 10–14 business days including KYC
Good Spanish documentation, solid webhooks. Recommended for stores that are launching or migrating away from collecting payment manually on WhatsApp.
GreenPay
Traditional gateway with SINPE as an add-on. Strong on corporate card-acquiring. Best if you already operate with BAC cards.
- Technical setup: 2–3 weeks
- SINPE commission: 1.0%–2.0%
- Card commission: 3.0%–4.0%
- Monthly fee: USD 30–80
- Time to production: 15–21 business days
ProSinpe
Specialized in pure SINPE, no cards. Lower fees, simpler panel. Useful as a secondary SINPE gateway if you already have Stripe for international cards.
- Technical setup: 1–2 weeks
- SINPE commission: 0.4%–1.0%
- Monthly fee: USD 0–15
- Time to production: 7–14 business days
Quick comparison
| Provider | Dev cost | SINPE commission | Best for |
|---|---|---|---|
| Tilopay | USD 1,500–2,200 | 0.5%–1.5% | New ecommerce, all-in-one |
| GreenPay | USD 1,800–2,500 | 1.0%–2.0% | Merchant with cards already integrated |
| ProSinpe | USD 1,500–2,000 | 0.4%–1.0% | Pure SINPE, high ticket |
| BAC direct API | USD 3,000–5,000 | 0% (free but corporate account) | High volume with backend team |
The real friction of SINPE checkout (data)
Here is the data almost no one tells you when they sell you the integration: the SINPE checkout loses ~15% conversion vs the card checkout. We have measured this in real Sirius projects. The cause:
- Context switch: the customer has to leave your site and open the bank app.
- Additional auth: bank PIN, biometrics, or OTP — extra friction.
- Copy-paste the reference: the customer has to type the SINPE number in your form, or wait for the webhook.
- SMS wait: sometimes the bank SMS takes 10–30 seconds to arrive, and the customer closes the tab thinking it failed.
- Recipient confusion: if your SINPE account is under an S.A. whose legal name differs from the store name, the customer hesitates.
The data we see in clients with good instrumentation:
| Funnel stage | Pass-through rate |
|---|---|
| Lands on checkout | 100% |
| Selects payment method | 95% |
| Selects "Pay with SINPE" | 35–45% (when card is the alternative) |
| Opens bank app | 80% of those who picked SINPE |
| Completes transfer | 70% of those who opened the app |
| Comes back to the site | 60% (the rest close the tab) |
| Final confirmation | 95% (webhook works) |
Result: of 100 customers who reach the checkout and pick SINPE, ~28 complete. If SINPE were the only option, you would lose ~70%. That is why the recommendation is almost always Stripe + SINPE in parallel.
Realistic pricing (what we charge at Sirius)
| Scenario | Dev cost | Time |
|---|---|---|
| Shopify store + Tilopay plugin | USD 800–1,500 | 1 week |
| Custom Next.js ecommerce + Tilopay | USD 1,500–2,200 | 2 weeks |
| Custom ecommerce + GreenPay | USD 1,800–2,500 | 2–3 weeks |
| Custom ecommerce + direct BAC integration | USD 3,000–5,000 | 4–6 weeks |
| Multi-provider (Tilopay + Stripe + manual fallback) | USD 2,500–3,500 | 3 weeks |
If you already have the store in production and only need to add SINPE, lower end of the range. If you are starting from scratch with store + payments, add USD 5,000–8,000 for the custom ecommerce build (full detail in the pricing pillar).
To get a range with your real scope, use the quote builder marking ecommerce + local payments.
When Stripe, when SINPE, when both?
After dozens of implementations, the call almost always reduces to this table:
| Your situation | Recommendation |
|---|---|
| Sell only in CR, ticket > USD 50, high volume | Stripe + SINPE in parallel |
| Sell only in CR, ticket < USD 20 | Stripe only (SINPE friction not worth it) |
| Sell in CR + USA/Europe | Stripe primary, SINPE secondary for CR customers |
| B2B with monthly invoices > USD 200 | SINPE primary, traditional invoice as fallback |
| Recurring subscriptions | Stripe only (SINPE does not support automatic charges) |
| Marketplace with vendors | Stripe Connect (SINPE does not support split payments) |
Simple rule: if your customer is Costa Rican and ticket > USD 50, offering SINPE in parallel pays the integration back in < 12 months. If your customer is international or ticket is small, SINPE does not add enough value to justify the friction.
Real case: B2B distributor + SINPE
One of our clients distributes cleaning products to 180 mini-markets and pulperías across GAM. Before, they ran 100% by WhatsApp: order by message, PDF invoice by email, payment by manual transfer to a BAC account, and a Friday Excel reconciliation by hand.
Problem: the operations person was spending 6 hours per week reconciling payments, and ~12% of invoices were unpaid > 30 days because "they forgot".
Solution: a lightweight web portal (catalog + cart + checkout) with two payment methods: cards via Tilopay (for clients who prefer business debit) and SINPE Móvil with an automatic webhook (for the majority). When SINPE comes in, the system marks the invoice as paid, triggers the Hacienda e-invoice, and notifies the logistics team that they can ship.
Project pricing: USD 6,800 including the custom ecommerce, Tilopay integration with SINPE + card, Hacienda e-invoicing integration, and an admin dashboard for outstanding receivables.
Result at 4 months:
- Reconciliation time: from 6 h/week to 30 min/week (manual audit).
- Invoices unpaid > 30 days: from 12% to 3.5%.
- 78% of payments come in via SINPE, 22% via card.
- Monthly payment fees: from USD 280 (BAC) to USD 110 (Tilopay with SINPE dominant).
Client details and exact numbers we share only in 1:1 conversation under confidentiality. If your situation looks similar, reach out and we will tell you what replicates and what does not.
Final recommendation by business type
- B2C ecommerce, catalog < 100 products, sales in CR: Shopify + Tilopay plugin (SINPE + cards). USD 800–1,500 dev, 1–2 weeks.
- Custom ecommerce with special rules (per-client pricing, B2B discounts, multi-warehouse stock): Next.js + Tilopay. USD 5,000–8,000 dev + USD 1,500–2,200 payments, 6–10 weeks.
- Distributor or B2B with recurring invoicing: Next.js portal + Tilopay + Hacienda integration. USD 8,000–12,000 total. SINPE primary, cards secondary.
- Marketplace with multiple vendors: Stripe Connect mandatory (SINPE has no split payments). USD 12,000+.
- Recurring subscriptions (gym, software, content): Stripe Subscriptions only — SINPE does not support automatic future charges.
Legal and compliance considerations
- Receiving account under the business S.A. or legal entity, not personal. Personal SINPE collections from your store are treated as evasion by Hacienda.
- Every SINPE received produces a Hacienda e-invoice within 5 business days — automating webhook → emission is critical.
- No automatic SINPE refunds: the rail is one-way. Refunds happen via manual transfer with the receipt stored.
- Providers charge a reconciliation tier fee if you exceed X transactions/month, on top of the per-transaction commission.
- Some banks cap SINPE Móvil at CRC 1,000,000 per day per person (~ USD 1,900). Higher tickets force the customer to split — extra friction.
In summary
Integrating SINPE Móvil in a CR ecommerce is an optimization that pays itself back in 6–12 months if your average ticket justifies the friction. It is not a silver bullet: the SINPE checkout loses ~15% conversion, and the only way to capture the fee savings without losing sales is to offer it in parallel with cards.
| Decision | Recommendation |
|---|---|
| Provider | Tilopay (default), GreenPay (if cards already integrated), ProSinpe (pure B2B) |
| Payment model | Stripe + SINPE in parallel (almost always) |
| Dev cost | USD 1,500–2,500 via provider; USD 3,000+ with direct bank |
| Time to production | 10–14 days with provider; 4–8 weeks with bank |
| When NOT to integrate SINPE | Tickets < USD 20; recurring subscriptions; marketplaces |
If you sell online in Costa Rica and do not yet offer SINPE, you are almost certainly leaving between USD 500 and USD 5,000 per month on the table. Most efficient move: use the quote builder for a range with your scope, or let's talk directly on WhatsApp.
💡 30-second quote: head to the interactive quote builder, pick "ecommerce + local payments" and get a USD range + a WhatsApp message with your scope ready to send.
📞 Direct technical conversation: WhatsApp +506 8433 7752 or admin@siriusx.net. If your ecommerce is already live, we audit the current checkout at no cost.
Related posts
- How much does software cost in Costa Rica — the pillar with ranges by project type, vertical, and international comparison.
- MVP schedule in 6 weeks — what is delivered each week and how progress is measured.
- Ecommerce services — what we build for online stores in Costa Rica.
