Back to Case Studies
FintechRemittance

EnvioPlata

US-to-Latin America Money Transfers

A seamless remittance platform enabling the Hispanic community in the US to send money home with transparent fees, real-time exchange rates, and Apple Pay support.

16
Countries
$2.99
Flat Fee
Real-time
Rates
4 weeks
Development
Wise + Stripe
Powered By

How It Works

1

Enter Amount

Real-time exchange rate from Wise API, transparent fee breakdown

2

Add Recipient

Country-specific bank fields with validation

3

Pay Instantly

Apple Pay, credit/debit cards via Stripe

4

Money Arrives

Wise handles the international transfer

16 Countries Supported

Each country has specific bank field requirements handled dynamically by our validation system.

๐Ÿ‡ฒ๐Ÿ‡ฝ
Mexico
MX
๐Ÿ‡จ๐Ÿ‡ด
Colombia
CO
๐Ÿ‡ง๐Ÿ‡ท
Brazil
BR
๐Ÿ‡ฌ๐Ÿ‡น
Guatemala
GT
๐Ÿ‡ต๐Ÿ‡ช
Peru
PE
๐Ÿ‡ฆ๐Ÿ‡ท
Argentina
AR
๐Ÿ‡จ๐Ÿ‡ฑ
Chile
CL
๐Ÿ‡ช๐Ÿ‡จ
Ecuador
EC
๐Ÿ‡ฉ๐Ÿ‡ด
Dom. Rep.
DO
๐Ÿ‡ญ๐Ÿ‡ณ
Honduras
HN
๐Ÿ‡ธ๐Ÿ‡ป
El Salvador
SV
๐Ÿ‡ณ๐Ÿ‡ฎ
Nicaragua
NI
๐Ÿ‡จ๐Ÿ‡ท
Costa Rica
CR
๐Ÿ‡ต๐Ÿ‡ฆ
Panama
PA
๐Ÿ‡บ๐Ÿ‡พ
Uruguay
UY
๐Ÿ‡ต๐Ÿ‡พ
Paraguay
PY

Technical Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        iOS App (SwiftUI)                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚ TransferView  โ”‚  โ”‚ PaymentManagerโ”‚  โ”‚   APIService      โ”‚   โ”‚
โ”‚  โ”‚  ViewModel    โ”‚  โ”‚  (Stripe SDK) โ”‚  โ”‚  (REST Client)    โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Node.js Backend (Express)                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚   server.js   โ”‚  โ”‚  wise.js      โ”‚  โ”‚  bank-fields.js   โ”‚   โ”‚
โ”‚  โ”‚  (Routes)     โ”‚  โ”‚  (Transfers)  โ”‚  โ”‚  (Validation)     โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
          โ”‚                    โ”‚
          โ–ผ                    โ–ผ
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚  Stripe API โ”‚      โ”‚  Wise API   โ”‚
   โ”‚  (Payments) โ”‚      โ”‚ (Transfers) โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Stripe Integration

  • Apple Pay support
  • PaymentSheet for cards
  • Webhook-driven flow
  • Transfer metadata

Wise Integration

  • Real-time quotes
  • Recipient creation
  • Transfer execution
  • Status tracking

Transparent Fee Structure

Example: $100 to Colombia

Send Amount$100.00
EnvioPlata Fee$2.99
Wise Fee (variable)~$3.00
Total Charged$105.99
Recipient Gets~415,000 COP

Why This Pricing?

Flat $2.99 Fee
Break-even pricing to serve the community
Wise's Mid-Market Rate
No hidden exchange rate markups
Full Transparency
All fees shown upfront before payment

Technical Stack

iOS App
  • Swift 5.9
  • SwiftUI
  • Stripe SDK
  • Apple Pay
Backend
  • Node.js
  • Express
  • Zod Validation
  • Webhooks
Payments
  • Stripe Connect
  • PaymentSheet
  • PaymentIntent
  • Webhook Events
Transfers
  • Wise API
  • Quote API
  • Recipient API
  • Transfer API

Technical Challenges Solved

Country-Specific Bank Fields

Problem:

Each country requires different bank details (CLABE for Mexico, NIT for Colombia, etc.)

Solution:

Dynamic form generation based on country selection with Zod validation schemas per country

Nested vs Flat Data Transform

Problem:

iOS sends flat keys (address.city), Wise expects nested objects ({address: {city}})

Solution:

transformBankDetails() function converts formats and auto-injects legalType

Payment โ†’ Transfer Flow

Problem:

Need to wait for Stripe payment confirmation before creating Wise transfer

Solution:

Webhook-driven architecture: payment_intent.succeeded triggers transfer creation

Real-Time Rate Display

Problem:

Exchange rates change frequently, users need current rates while entering amount

Solution:

0.5s debounced rate fetching with loading states and cached quotes

Building a fintech product?

We specialize in payment integrations, money transfer systems, and financial applications. Stripe, Wise, banking APIsโ€”we've done it all.