Payment Methods by Country

Detailed guide to each payment method

Payment Methods by Country

Comprehensive guide to all supported payment methods across Latin America.

Overview

Koywe supports local payment methods for each country, optimized for the best conversion rates and user experience.

CountryPayment MethodsSettlement Time
🇨🇴 ColombiaPSE, NequiInstant - 2 hours
🇧🇷 BrazilPIXInstant
🇲🇽 MexicoSPEIInstant ⚡
🇨🇱 ChileKhipuInstant - 2 hours
🇦🇷 ArgentinaLocal methodsVaries

Colombia 🇨🇴

PSE (Pagos Seguros en Línea)

Description: Colombia’s most popular online bank transfer system. Customers pay directly from their bank account.

Currency: COP (Colombian Peso)

How it works:

  1. Customer selects their bank
  2. Redirected to bank’s website
  3. Logs in and authorizes payment
  4. Funds transferred instantly

Settlement: Instant - 2 hours

Implementation:

Node.js
1const order = await createPayinOrder(token, orgId, merchantId, {
2 type: 'PAYIN',
3 originCurrencySymbol: 'COP',
4 destinationCurrencySymbol: 'COP',
5 amountIn: 50000,
6 paymentMethods: [
7 {
8 method: 'PSE',
9 extra: 'BANCOLOMBIA' // Bank selection
10 }
11 ],
12 // ... other fields
13});

Supported Banks:

  • BANCOLOMBIA
  • DAVIVIENDA
  • BANCO_DE_BOGOTA
  • BANCO_POPULAR
  • BBVA_COLOMBIA
  • BANCO_OCCIDENTE
  • BANCO_AV_VILLAS
  • BANCO_GNB_SUDAMERIS
  • And more…

Best for: E-commerce, services, subscriptions

User Experience:

  • ✅ Instant confirmation
  • ✅ No credit card needed
  • ✅ Trusted by Colombians
  • ⚠️ Requires bank account

Nequi

Description: Colombia’s popular mobile wallet. Customers pay using their Nequi app.

Currency: COP (Colombian Peso)

How it works:

  1. Customer scans QR code or receives push notification
  2. Opens Nequi app
  3. Confirms payment
  4. Instant transfer

Settlement: Instant

Implementation:

Node.js
1const order = await createPayinOrder(token, orgId, merchantId, {
2 type: 'PAYIN',
3 originCurrencySymbol: 'COP',
4 destinationCurrencySymbol: 'COP',
5 amountIn: 50000,
6 paymentMethods: [
7 {
8 method: 'NEQUI'
9 // No extra field needed
10 }
11 ],
12 // ... other fields
13});

Best for: Mobile-first experiences, small transactions

User Experience:

  • ✅ Very fast
  • ✅ Mobile-optimized
  • ✅ Popular among young users
  • ⚠️ Requires Nequi account

Brazil 🇧🇷

PIX

Description: Brazil’s instant payment system. The most popular payment method in Brazil.

Currency: BRL (Brazilian Real)

How it works:

  1. Customer receives QR code or PIX code
  2. Opens banking app
  3. Scans QR or enters code
  4. Confirms payment
  5. Instant transfer

Settlement: Instant

Implementation:

Node.js
1const order = await createPayinOrder(token, orgId, merchantId, {
2 type: 'PAYIN',
3 originCurrencySymbol: 'BRL',
4 destinationCurrencySymbol: 'BRL',
5 amountIn: 100, // 100 BRL
6 paymentMethods: [
7 {
8 method: 'PIX_STATIC' // or 'PIX_DYNAMIC'
9 }
10 ],
11 // ... other fields
12});

PIX Types:

TypeUse CaseReusable
PIX_STATICSingle paymentNo
PIX_DYNAMICMultiple paymentsYes

Best for: All use cases - PIX is universally accepted in Brazil

User Experience:

  • ✅ Instant confirmation
  • ✅ Works 24/7
  • ✅ All Brazilian banks support it
  • ✅ Very low fees

Mexico 🇲🇽

SPEI

Description: Mexico’s electronic payment system for instant bank transfers.

Currency: MXN (Mexican Peso)

How it works:

  1. Customer receives bank account details
  2. Initiates transfer from their bank
  3. Bank processes via SPEI network
  4. Funds arrive instantly

Settlement: Instant ⚡

Implementation:

Node.js
1const order = await createPayinOrder(token, orgId, merchantId, {
2 type: 'PAYIN',
3 originCurrencySymbol: 'MXN',
4 destinationCurrencySymbol: 'MXN',
5 amountIn: 500, // 500 MXN
6 paymentMethods: [
7 {
8 method: 'SPEI'
9 }
10 ],
11 // ... other fields
12});

Best for: All transaction sizes, instant settlement required

User Experience:

  • ✅ Widely accepted
  • ✅ No payment limit
  • ✅ Instant settlement
  • ✅ Available 24/7

Mexico Payment Methods: Currently, SPEI is the only supported payment method for Mexico with instant settlement.


Cards (Credit/Debit) - International

Description: International credit and debit cards.

Currency: MXN (Mexican Peso)

Supported Cards:

  • Visa
  • Mastercard
  • American Express

Settlement: Instant

Implementation:

Node.js
1const order = await createPayinOrder(token, orgId, merchantId, {
2 type: 'PAYIN',
3 originCurrencySymbol: 'MXN',
4 destinationCurrencySymbol: 'MXN',
5 amountIn: 500,
6 paymentMethods: [
7 {
8 method: 'CARD'
9 }
10 ],
11 // ... other fields
12});

Best for: International customers, instant payments

User Experience:

  • ✅ Instant confirmation
  • ✅ Familiar to users
  • ⚠️ Higher fees
  • ⚠️ May require 3DS verification

Chile 🇨🇱

Khipu

Description: Chile’s popular payment aggregator, connecting to multiple banks.

Currency: CLP (Chilean Peso)

How it works:

  1. Customer selects bank
  2. Redirected to bank or Khipu app
  3. Authorizes payment
  4. Instant or near-instant transfer

Settlement: Instant - 2 hours

Implementation:

Node.js
1const order = await createPayinOrder(token, orgId, merchantId, {
2 type: 'PAYIN',
3 originCurrencySymbol: 'CLP',
4 destinationCurrencySymbol: 'CLP',
5 amountIn: 10000, // 10,000 CLP
6 paymentMethods: [
7 {
8 method: 'KHIPU'
9 }
10 ],
11 // ... other fields
12});

Best for: All Chilean payments

User Experience:

  • ✅ Fast
  • ✅ Multiple bank support
  • ✅ Trusted in Chile

Testing Payment Methods

Sandbox Behavior

In sandbox, all payment methods automatically succeed:

Test Scenarios
1// Success scenario (any amount except 666)
2const order = await createPayinOrder(token, orgId, merchantId, {
3 amountIn: 50000,
4 paymentMethods: [{ method: 'PSE', extra: 'BANCOLOMBIA' }]
5 // ... other fields
6});
7// Result: Order auto-completes successfully
8
9// Failure scenario (amount = 666)
10const order = await createPayinOrder(token, orgId, merchantId, {
11 amountIn: 666, // Special test amount
12 paymentMethods: [{ method: 'PSE', extra: 'BANCOLOMBIA' }]
13 // ... other fields
14});
15// Result: Order fails

Complete testing guide →


Choosing the Right Payment Method

By Country

Always offer the local payment method for best conversion:

CountryRecommended MethodWhy
ColombiaPSEMost trusted, instant
BrazilPIXUniversal, instant, 24/7
MexicoSPEIInstant settlement, 24/7
ChileKhipuBest coverage

By Use Case

E-Commerce:

  • Colombia: PSE, Nequi
  • Brazil: PIX
  • Mexico: SPEI

Large Transactions:

  • All countries: Bank transfers (PSE, SPEI, PIX)

Mobile-First:

  • Colombia: Nequi
  • Brazil: PIX
  • All: Mobile-optimized checkout

Dynamic Payment Method Selection

Let customers choose their preferred method:

Node.js
1async function createOrderWithDynamicMethod(country, currency, amount, customerChoice) {
2 // 1. Get available methods
3 const methods = await getPaymentMethods(country, currency);
4
5 // 2. Validate customer choice
6 const selectedMethod = methods.find(m => m.method === customerChoice.method);
7 if (!selectedMethod) {
8 throw new Error('Payment method not available');
9 }
10
11 // 3. Create order
12 const order = await createPayinOrder(token, orgId, merchantId, {
13 originCurrencySymbol: currency,
14 destinationCurrencySymbol: currency,
15 amountIn: amount,
16 paymentMethods: [
17 {
18 method: customerChoice.method,
19 extra: customerChoice.extra // e.g., bank for PSE
20 }
21 ],
22 // ... other fields
23 });
24
25 return order;
26}
27
28// Usage
29const order = await createOrderWithDynamicMethod(
30 'CO',
31 'COP',
32 50000,
33 {
34 method: 'PSE',
35 extra: 'BANCOLOMBIA'
36 }
37);

Next Steps