Skip

00/Business

How to integrate SINPE Móvil in a Costa Rica ecommerce (2026)

Real providers (Tilopay, GreenPay, ProSinpe), costs USD 1,500–3,000, the checkout friction that costs 15% in conversion, SINPE vs Stripe comparison, and when each one wins.

Fecha
May 20th, 2026
Tiempo de lectura
11 min read
Autor
By Jafeth Jiménez

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:

  1. 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.
  2. 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.
  3. 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:

  1. Context switch: the customer has to leave your site and open the bank app.
  2. Additional auth: bank PIN, biometrics, or OTP — extra friction.
  3. Copy-paste the reference: the customer has to type the SINPE number in your form, or wait for the webhook.
  4. SMS wait: sometimes the bank SMS takes 10–30 seconds to arrive, and the customer closes the tab thinking it failed.
  5. 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

Jafeth Jiménez

By

Jafeth Jiménez

Founder · SEO & developer

Co-founder and owner of Sirius. Leads SEO strategy and ships code on every project the agency delivers. Works with clients in Costa Rica and the region.

03/Step by step

How to integrate SINPE Móvil in an ecommerce checkout

Five technical and operational steps to add SINPE to an online store in Costa Rica without killing conversion.

  1. Step 01

    Decide provider vs direct bank

    If you sell < 500 transactions/month and need to be live in 2–3 weeks, go with a provider (Tilopay, GreenPay, or ProSinpe). If you have high volume and a backend team that can maintain a banking connection, evaluate BAC API or BNCR API. Simple rule: the first time you integrate SINPE, do it with a provider.

  2. Step 02

    Sign the provider contract and obtain credentials

    Each provider asks for corporate ID, economic-activity declaration, and sometimes financials. Provider KYC setup takes 3–7 days. While you wait, you can already develop against the provider sandbox.

  3. Step 03

    Implement the dual checkout flow (card + SINPE)

    In the final checkout step show two buttons: "Pay by card" and "Pay with SINPE Móvil". Do not hide SINPE behind a dropdown; Costa Rican users look for it visibly. For SINPE, generate a pending order with a short unique identifier (4–6 characters) that the customer will use as reference.

  4. Step 04

    Receive the confirmation webhook and link to the order

    When the customer completes the transfer in the bank app, the provider fires a webhook with amount, date, reference, and confirmed SINPE number. Your backend matches the pending order, marks it as paid, fires the e-invoice, and sends confirmation to the customer. Retry the webhook with exponential backoff: no provider has 100% uptime.

  5. Step 05

    Handle edge cases: partial payments, wrong amounts, duplicates

    The customer may transfer CRC 9,500 instead of CRC 10,000 due to a typo. Your system must detect the mismatch and surface a manual panel for the operations team to resolve (charge difference, refund, complete). Also monitor duplicate SINPEs (same amount within < 60 seconds): flag for review.

  6. Step 06

    Measure and optimize conversion

    Instrument the SINPE checkout funnel: how many customers reach the step, how many open the bank app, how many come back with confirmed SMS. If the drop between "opened SINPE" and "confirmed" exceeds 25%, there is something in the UI to improve (clearer instructions, deep link to the bank app, larger copy-to-clipboard for the account number).

  7. Step 07

    Audit monthly accounting reconciliation

    At month-end, download the provider report and cross-check against orders marked as paid. Ideally automate: a script that compares both sides and reports discrepancies. We find ~0.3% orphan transactions (payment without order or order without payment) in clients with > 1,000 transactions/month.

04/Frequently asked

What people ask us about this.

How much does it cost to integrate SINPE Móvil in an ecommerce?

Between USD 1,500 and USD 2,500 if you use a provider like Tilopay, GreenPay, or ProSinpe. Direct integration with a bank (BAC, BNCR, Banco Popular) starts at USD 3,000 and can reach USD 5,000 depending on the reconciliation flow and error handling. Recurring cost is the provider per-transaction percentage: typically 1%–2.5%, lower than Stripe at 2.9% + USD 0.30.

Does SINPE Móvil have an official BCCR API for web?

No. SINPE Móvil was designed as a mobile peer-to-peer product, not as an ecommerce payment rail. The BCCR operates the network and banks expose SINPE inside their apps, but there is no public endpoint like "consume SINPE from your checkout". To integrate into an online store you need a provider with a bank agreement (Tilopay, GreenPay, ProSinpe) or a direct agreement with a bank that gives you webhook access to incoming-deposit notifications.

What about the checkout friction?

It is real and measurable. In our cases we see conversion drops of 12–18% when SINPE is the only payment option vs a card checkout. Reason: the customer must leave your site, open the bank app, make the transfer, copy the confirmation SMS, and come back. Each step is an abandonment opportunity. That is why we almost always recommend Stripe + SINPE in parallel, not SINPE alone.

When does SINPE beat Stripe?

When the average ticket is > USD 50 and Stripe fees hurt. Example: if your ticket is USD 200, Stripe takes USD 6.10 per sale; SINPE charges 0% or a flat provider fee of USD 0.40–1.00. Over 100 monthly sales that is USD 500–600 saved. Small tickets (< USD 20) do not justify the added friction.

Can I connect SINPE directly with my bank without a provider?

Technically yes, but complexity goes up 3x. Banks (BAC, BNCR, Banco Popular) have corporate APIs that notify incoming deposits via webhook or scheduled queries, but legal setup takes 4–8 weeks, you sign API service contracts, and they usually require minimum volume. For stores with < 500 transactions/month, the provider route wins.

Which SINPE provider do you recommend?

Depends on stack and volume. Tilopay is the most complete and ships SDKs for Next.js and WordPress, recommended if you want SINPE + cards + transfer in one integration. GreenPay is strong on traditional gateways with SINPE bolted on. ProSinpe is specialized in pure SINPE with competitive rates. On new ecommerce projects in CR we default to Tilopay because time-to-market is < 2 weeks.

Does the SINPE integration include e-invoicing with Hacienda?

No. They are two separate systems. The SINPE provider confirms the payment; your system triggers the e-invoice emission against Hacienda as a separate step. We quote e-invoicing as an independent module (USD 2,500–4,500). If you already have invoicing running, the SINPE hookup just adds a new trigger on the "payment confirmed" event.

How do I contact Sirius to integrate SINPE in my store?

Reach us on WhatsApp at +506 8433 7752 or by email at admin@siriusx.net. The initial quote is free and, if you already have ecommerce in production, we audit the current checkout at no cost. You can also use the [quote builder](/quote) and pick "ecommerce + local payments" to get a USD range in 30 seconds.

05/Direct contact

Talk to Sirius about this.

We're a software agency in Costa Rica. If what you read applies and you want to move forward, reach us through any of these:

Hours
Mon–Fri 8am – 5pm · Sat 8am – 12pm
Location
Pozos de Santa Ana, Santa Ana, San José, CR

02/Tell us

Does any of this apply to you? .

If the note rang a bell and you have a project in mind, let's talk on WhatsApp. No forms.