Payment Platforms
Supported payment platforms and their configurations.
Available Platforms
const PaymentPlatform = {
VENMO: 'venmo',
CASHAPP: 'cashapp',
REVOLUT: 'revolut',
WISE: 'wise',
MERCADO_PAGO: 'mercadopago',
ZELLE: 'zelle',
PAYPAL: 'paypal',
MONZO: 'monzo',
N26: 'n26',
} as const;
Platform Details
Venmo
| Property | Value |
|---|---|
| ID | venmo |
| Currencies | USD |
| Regions | United States |
| Payment ID Format | @username |
How it works:
- User enters their Venmo username
- User sends payment to liquidity provider
- Payment is verified via Venmo API proof
CashApp
| Property | Value |
|---|---|
| ID | cashapp |
| Currencies | USD |
| Regions | United States |
| Payment ID Format | $cashtag |
How it works:
- User enters their Cash Tag
- User sends payment via Cash App
- Payment is verified via CashApp API proof
Revolut
| Property | Value |
|---|---|
| ID | revolut |
| Currencies | USD, EUR, GBP |
| Regions | Europe, UK, US |
| Payment ID Format | @revtag or phone |
How it works:
- User selects Revolut and currency
- User sends payment via Revolut app
- Payment is verified via Revolut API proof
Wise (TransferWise)
| Property | Value |
|---|---|
| ID | wise |
| Currencies | USD, EUR, GBP, and 50+ more |
| Regions | Global |
| Payment ID Format |
How it works:
- User selects Wise and currency
- User initiates Wise transfer
- Payment is verified via Wise API proof
PayPal
| Property | Value |
|---|---|
| ID | paypal |
| Currencies | USD, EUR, GBP |
| Regions | Global |
| Payment ID Format |
How it works:
- User enters their PayPal email
- User sends payment via PayPal
- Payment is verified via PayPal API proof
Zelle
| Property | Value |
|---|---|
| ID | zelle |
| Currencies | USD |
| Regions | United States |
| Payment ID Format | Email or phone |
How it works:
- User enters their Zelle-linked email/phone
- User sends payment via bank's Zelle
- Payment is verified via bank API proof
Supported Banks:
- Chase
- Bank of America
- Wells Fargo
- Citi
- And more
Mercado Pago
| Property | Value |
|---|---|
| ID | mercadopago |
| Currencies | BRL, ARS, MXN |
| Regions | Latin America |
| Payment ID Format | Email or phone |
How it works:
- User selects Mercado Pago and currency
- User sends payment via Mercado Pago
- Payment is verified via MP API proof
Monzo
| Property | Value |
|---|---|
| ID | monzo |
| Currencies | GBP |
| Regions | United Kingdom |
| Payment ID Format | Sort code + Account |
How it works:
- User sends payment via Monzo
- Payment is verified via Monzo API proof
N26
| Property | Value |
|---|---|
| ID | n26 |
| Currencies | EUR |
| Regions | Europe |
| Payment ID Format | IBAN |
How it works:
- User sends payment via N26
- Payment is verified via N26 API proof
Currency Support Matrix
| Platform | USD | EUR | GBP | BRL | ARS | MXN |
|---|---|---|---|---|---|---|
| Venmo | ✓ | |||||
| CashApp | ✓ | |||||
| Revolut | ✓ | ✓ | ✓ | |||
| Wise | ✓ | ✓ | ✓ | |||
| PayPal | ✓ | ✓ | ✓ | |||
| Zelle | ✓ | |||||
| Mercado Pago | ✓ | ✓ | ✓ | |||
| Monzo | ✓ | |||||
| N26 | ✓ |
Using Platform IDs
When creating sessions or handling webhooks, use the lowercase platform ID:
// Creating a session with platform preference
const session = await createCheckoutSession({
merchantId: 'merch_123',
amountUsdc: '50.00',
// ... other fields
});
// In webhook handler
if (event.data.order?.paymentPlatform === 'venmo') {
// Handle Venmo-specific logic
}
Type Definition
type PaymentPlatformType =
| 'venmo'
| 'cashapp'
| 'revolut'
| 'wise'
| 'mercadopago'
| 'zelle'
| 'paypal'
| 'monzo'
| 'n26';