Skip to main content

Credit & Debit Cards

Accept Visa, Mastercard, and JCB credit and debit cards globally with built-in fraud protection and 3D Secure authentication.

Overviewโ€‹

Information Accuracy

Payment method features, limits, user statistics, and fees are subject to change. Information is based on publicly available sources and may not reflect your specific merchant agreement. Always refer to official Omise documentation and your merchant dashboard for current, binding information.

Credit and debit card payments are the most widely used online payment method globally. Omise supports all major card networks with seamless checkout experiences.

Supported Card Networks:

  • โœ… Visa - Credit and debit cards
  • โœ… Mastercard - Credit and debit cards
  • โœ… JCB - Credit cards (popular in Japan)
  • โœ… Diners Club (select regions)
  • โœ… Discover (select regions)

Key Features:

  • ๐ŸŒ Global acceptance - Works worldwide
  • ๐Ÿ”’ 3D Secure - Enhanced security with SCA
  • ๐Ÿ’ณ Save cards - Tokenization for recurring payments
  • ๐Ÿ›ก๏ธ Fraud protection - Built-in fraud detection
  • ๐Ÿ“ฑ Mobile optimized - Works on all devices
  • ๐Ÿ”„ Refund support - Full and partial refunds

Supported Regionsโ€‹

Cards work globally, with specific features by region:

FeatureThailandSingaporeMalaysiaJapanGlobal
Visaโœ…โœ…โœ…โœ…โœ…
Mastercardโœ…โœ…โœ…โœ…โœ…
JCBโœ…โœ…โœ…โœ…โœ…
3D Secureโœ…โœ…โœ…โœ…โœ…
Save Cardsโœ…โœ…โœ…โœ…โœ…

Quick Startโ€‹

For detailed card payment implementation, see:

Implementationโ€‹

Basic Card Chargeโ€‹

const omise = require('omise')({
publicKey: 'pkey_test_YOUR_PUBLIC_KEY',
secretKey: 'skey_test_YOUR_SECRET_KEY'
});

// Step 1: Create card token (client-side with Omise.js)
// This is done securely in the browser

// Step 2: Create charge (server-side)
const charge = await omise.charges.create({
amount: 100000, // Amount in smallest unit
currency: 'THB',
card: 'tokn_test_...', // Token from step 1
description: 'Order #12345',
return_uri: 'https://yourdomain.com/payment/callback'
});

if (charge.authorize_uri) {
// 3D Secure required - redirect customer
res.redirect(charge.authorize_uri);
} else if (charge.status === 'successful') {
// Payment successful
res.redirect('/success');
}

Transaction Limitsโ€‹

Typical limits (varies by merchant agreement):

Transaction TypeMinimumMaximum
Single Transaction$0.50 USD$50,000 USD
Per Card Per Day-$100,000 USD
Monthly Volume-Varies by merchant

Featuresโ€‹

3D Secure (SCA)โ€‹

All card payments support 3D Secure 2.0 for Strong Customer Authentication:

  • Visa: Visa Secure
  • Mastercard: Mastercard Identity Check
  • JCB: J/Secure

See 3D Secure Guide

Card Tokenizationโ€‹

Save cards securely for:

  • Recurring payments
  • Subscription billing
  • One-click checkout

See Saved Cards Guide

Fraud Protectionโ€‹

Built-in fraud detection:

  • Velocity checks
  • IP geolocation
  • Card BIN validation
  • Suspicious pattern detection

See Fraud Protection

Refund Supportโ€‹

Full and partial refunds supported within 180 days:

// Full refund
await omise.charges.refund('chrg_test_...', {
amount: 100000
});

// Partial refund
await omise.charges.refund('chrg_test_...', {
amount: 50000
});

Best Practicesโ€‹

  1. Always use HTTPS - Required for PCI compliance
  2. Use Omise.js - Never send card data to your server
  3. Enable 3D Secure - Reduces fraud and liability
  4. Validate client-side - Check card format before submission
  5. Handle declines gracefully - Show clear error messages
  6. Save cards securely - Use tokenization, never store raw card data

FAQโ€‹

Which card types are supported?

Visa, Mastercard, and JCB credit and debit cards globally. Diners Club and Discover in select regions.

Is 3D Secure mandatory?

3D Secure is required for European cards (SCA regulation) and highly recommended for all transactions to reduce fraud.

Can I save cards for future payments?

Yes, use card tokenization to securely save cards for recurring payments and subscriptions.

How long can I refund card payments?

Full and partial refunds are supported within 180 days of the original transaction.

Next Stepsโ€‹

  1. Review Charging Cards guide
  2. Integrate Omise.js for secure card collection
  3. Implement 3D Secure authentication
  4. Test with test cards
  5. Set up fraud protection
  6. Go live