Skip to main content

Accept Payments

Learn how to accept payments for your business. Whether you're building a website, mobile app, or subscription service, we have you covered.

Payment Typesโ€‹

๐Ÿ’ณ Online Paymentsโ€‹

Accept payments on your website with credit cards, digital wallets, and alternative payment methods.

Best for: E-commerce sites, SaaS products, service businesses

Features:

  • Credit and debit cards (Visa, Mastercard, JCB, Amex)
  • Digital wallets (TrueMoney, GrabPay, Touch 'n Go, etc.)
  • Bank transfers and QR payments
  • 3D Secure authentication
  • Save cards for future use

Get Started with Online Payments

Learn how to accept card payments, implement 3D Secure, and save cards for returning customers.

View Guide โ†’

๐Ÿ“ฑ Mobile Paymentsโ€‹

Native payment integration for iOS, Android, Flutter, and React Native apps.

Best for: Mobile apps, in-app purchases, mobile commerce

Features:

  • Native UI components
  • Biometric authentication
  • Touch ID / Face ID support
  • Deep linking
  • Optimized for mobile UX

Get Started with Mobile Payments

Integrate payments into your mobile app with our native SDKs.

View Guide โ†’

๐Ÿ”„ Recurring Paymentsโ€‹

Set up subscription billing and recurring charges for your customers.

Best for: Subscriptions, membership sites, SaaS, recurring services

Features:

  • Save customer payment methods
  • Automated recurring charges
  • Flexible scheduling
  • Subscription management
  • Retry logic for failed payments

Get Started with Recurring Payments

Learn how to save cards and charge customers on a recurring basis.

View Guide โ†’

Quick Comparisonโ€‹

FeatureOnlineMobileRecurring
Use CaseWebsitesMobile AppsSubscriptions
IntegrationOmise.js or APINative SDKsAPI + Customers
Payment MethodsAll methodsAll methodsCards primarily
User ExperienceBrowser-basedNative UIAutomated
Time to Integrate2-4 hours1-2 days1-2 days

Common Payment Scenariosโ€‹

One-Time Purchaseโ€‹

Scenario: Customer buys a product once

Recommended Flow:

  1. Customer enters card details
  2. Create token (client-side)
  3. Create charge (server-side)
  4. Show confirmation

Best Method: Omise.js for web, SDKs for mobile

Implementation Guide โ†’

Subscription Serviceโ€‹

Scenario: Monthly/yearly recurring payments

Recommended Flow:

  1. Customer enters card details
  2. Create token
  3. Create customer with card
  4. Charge customer monthly

Best Method: Customer API + Schedules

Implementation Guide โ†’

Pre-Authorizationโ€‹

Scenario: Reserve funds now, charge later (hotels, rentals)

Recommended Flow:

  1. Create charge with capture: false
  2. Hold authorized amount (up to 7 days)
  3. Capture when ready to charge
  4. Void to release hold

Best Method: Pre-authorization API

Implementation Guide โ†’

Multi-Currency Salesโ€‹

Scenario: Accept payments in different currencies

Recommended Flow:

  1. Detect customer currency/region
  2. Display prices in local currency
  3. Create charge in that currency
  4. Settle to your base currency

Best Method: Multi-currency API

Implementation Guide โ†’

Payment Flow Overviewโ€‹

Standard Card Paymentโ€‹

Alternative Payment Methodsโ€‹

Choose Your Integration Methodโ€‹

By Technical Levelโ€‹

No Code โ†’ Use E-Commerce Plugins

Low Code โ†’ Use Omise.js

Full Control โ†’ Use REST API

By Platformโ€‹

Website โ†’ Online Payments

iOS App โ†’ iOS SDK

Android App โ†’ Android SDK

Flutter โ†’ Flutter SDK

React Native โ†’ React Native Guide

Not sure? Take our Integration Quiz โ†’

Payment Methodsโ€‹

Omise supports 40+ payment methods across Southeast Asia and Japan:

Cardsโ€‹

  • Credit/Debit cards (Visa, Mastercard, JCB, Amex)
  • Apple Pay
  • Google Pay

Digital Walletsโ€‹

  • TrueMoney, GrabPay, Touch 'n Go
  • Rabbit LINE Pay, ShopeePay
  • Alipay, WeChat Pay, PayPay
  • And more...

Bankingโ€‹

  • Mobile banking (Thai banks, Malaysia banks)
  • Internet banking
  • Direct debit

QR Paymentsโ€‹

  • PromptPay (Thailand)
  • PayNow (Singapore)
  • DuitNow QR (Malaysia)

Buy Now Pay Laterโ€‹

  • Installments
  • Atome

View All Payment Methods โ†’

Security & Complianceโ€‹

PCI Complianceโ€‹

When you use Omise properly, your PCI compliance burden is minimized:

โœ… Omise.js / SDKs: Card data never touches your server โœ… Tokenization: Sensitive data converted to tokens โœ… HTTPS: All communications encrypted โœ… Vault Isolation: Card data stays in certified vault

Learn about Security โ†’

3D Secureโ€‹

Add an extra layer of security with 3D Secure authentication:

  • Reduces fraud
  • Shifts liability to issuer
  • Required for some card types
  • Supports both 3DS1 and 3DS2

Implement 3D Secure โ†’

Advanced Featuresโ€‹

Save Cards for Future Useโ€‹

Store customer payment methods securely:

// Create customer with card
const customer = await omise.customers.create({
email: 'customer@example.com',
card: token
});

// Charge later without new card entry
await omise.charges.create({
amount: 100000,
currency: 'thb',
customer: customer.id
});

Learn about Saving Cards โ†’

Pre-Authorization & Captureโ€‹

Reserve funds now, capture later:

// Authorize only (don't capture)
const charge = await omise.charges.create({
amount: 100000,
currency: 'thb',
card: token,
capture: false
});

// Capture later (within 7 days)
await omise.charges.capture(charge.id);

Learn about Pre-Auth โ†’

Multi-Currency Supportโ€‹

Accept payments in multiple currencies:

  • Charge in customer's local currency
  • Settle to your base currency
  • Automatic currency conversion
  • Transparent exchange rates

Learn about Multi-Currency โ†’

Testing Your Integrationโ€‹

Before going live, thoroughly test your payment integration:

Test Cardsโ€‹

Use these test card numbers:

Card NumberBrandResult
4242 4242 4242 4242VisaSuccess
5555 5555 5555 4444MastercardSuccess
4000 0000 0000 0002VisaInsufficient funds

Complete Test Card List โ†’

Testing Checklistโ€‹

  • Successful payments
  • Declined payments
  • Network errors
  • Refunds
  • Webhooks
  • 3D Secure (if enabled)
  • All payment methods you support

Complete Testing Guide โ†’

Common Questionsโ€‹

Which payment methods should I accept?

It depends on your target market:

Thailand: Credit cards + PromptPay + TrueMoney + Mobile banking Japan: Credit cards + Konbini + Pay-easy + PayPay Singapore: Credit cards + PayNow + GrabPay Malaysia: Credit cards + FPX + Touch 'n Go

Payment Method Selection Guide โ†’

Do I need to save cards for recurring payments?

Yes! For recurring payments, you need to:

  1. Create a Customer object
  2. Attach a card to the customer
  3. Charge the customer (not the token) for each billing cycle

Tokens are single-use only. Customer objects let you charge repeatedly.

Recurring Payments Guide โ†’

How do I handle failed payments?

Failed payments return error codes explaining why:

  • insufficient_fund - Not enough balance
  • stolen_or_lost_card - Card reported stolen
  • payment_rejected - Issuer declined

Show clear error messages to customers and let them retry with a different payment method.

Error Handling Guide โ†’

Can I charge customers without their card details?

Yes, if you've saved their card previously:

  1. Customer provides card once
  2. You create a Customer object and save the card
  3. For future payments, charge the customer ID
  4. No need to re-enter card details

This is essential for subscriptions and recurring billing.

What's the difference between authorization and capture?
  • Authorization: Reserve funds on the card (hold)
  • Capture: Actually transfer the funds

Use authorization (don't capture) when:

  • You need to verify availability before shipping
  • Running a hotel (charge at checkout)
  • Custom shipping calculations needed

You can authorize now and capture up to 7 days later.

Pre-Authorization Guide โ†’

How do I accept international payments?

Omise supports multi-currency payments:

  1. Create charges in the customer's currency (USD, EUR, etc.)
  2. Funds settle to your base currency automatically
  3. Exchange rate applied at time of charge
  4. Show prices in customer's local currency for better conversion

Multi-Currency Guide โ†’

Next Stepsโ€‹

๐Ÿš€ Quick Start

Make your first payment in 5 minutes

Start Now โ†’

๐Ÿ’ณ Online Payments

Accept card payments on your website

Learn More โ†’

๐Ÿ“ฑ Mobile Payments

Native SDKs for mobile apps

View SDKs โ†’

๐Ÿ”„ Recurring Billing

Subscriptions and recurring charges

Get Started โ†’

Need help choosing? Check our Integration Path Guide or contact support@omise.co.