Choose Your Integration Path
Not sure which integration method is right for you? This guide will help you choose between plugins, SDKs, and direct API integration based on your needs.
Quick Decision Treeโ
Integration Methods Comparisonโ
1. E-Commerce Plugins (No Code)โ
Best for: Online stores using popular platforms
Pros:
- โ No coding required
- โ Quick setup (15-30 minutes)
- โ Tested and maintained
- โ Support for multiple payment methods
- โ Automatic updates
Cons:
- โ Limited customization
- โ Platform-specific
- โ May have feature limitations
Available Platforms:
๐ Start Here If: You're running an e-commerce store on one of these platforms and want the fastest setup.
2. Omise.js (Low Code)โ
Best for: Websites and web apps with minimal backend customization needs
Pros:
- โ Pre-built payment forms
- โ Handles tokenization automatically
- โ PCI compliance simplified
- โ Works with any backend
- โ Customizable styling
Cons:
- โ Less control over UI
- โ Still need backend integration
- โ JavaScript required
Integration Time: 2-4 hours
Code Example:
<!-- Include Omise.js -->
<script src="https://cdn.omise.co/omise.js"></script>
<!-- Payment form -->
<form id="checkout">
<script type="text/javascript"
src="https://cdn.omise.co/omise.js"
data-key="pkey_test_YOUR_KEY"
data-amount="100000"
data-currency="thb"
data-button-label="Pay Now">
</script>
</form>
๐ Start Here If: You want a quick web integration with a payment form that "just works" and don't need heavy customization.
3. Mobile SDKsโ
Best for: Native mobile applications and cross-platform apps
Pros:
- โ Native UI components
- โ Platform best practices
- โ Handles tokenization
- โ Built-in error handling
- โ Optimized for mobile
Cons:
- โ Platform-specific (except Flutter)
- โ Still need backend integration
- โ App updates for SDK updates
Available SDKs:
- iOS: Swift/Objective-C
- Android: Java/Kotlin
- Flutter: Dart (cross-platform)
- React Native: JavaScript (cross-platform)
Integration Time: 1-2 days
๐ Start Here If: You're building a mobile app and want native payment UI components.
4. Server Libraries + Custom Frontendโ
Best for: Custom applications with full control requirements
Pros:
- โ Full customization
- โ Complete control over UX
- โ Multiple language support
- โ All features available
- โ Direct API access
Cons:
- โ More development time
- โ More testing required
- โ Higher maintenance
- โ More PCI considerations
Available Libraries:
- Ruby, Python, PHP, Node.js
- Java, Go, .NET, Elixir
Integration Time: 1-3 days
๐ Start Here If: You need maximum flexibility and have development resources for custom implementation.
5. REST API (Direct)โ
Best for: Custom integrations in any language
Pros:
- โ Works with any language
- โ Complete API access
- โ Maximum flexibility
- โ No library dependencies
Cons:
- โ Most development effort
- โ Manual error handling
- โ Need to implement everything
- โ More maintenance
Integration Time: 2-5 days
๐ Start Here If: You're using a language without an official library or need extremely custom integration.
6. Payment Links (No Code)โ
Best for: Simple sales, invoices, social media commerce
Pros:
- โ Zero coding required
- โ Instant setup
- โ Shareable via any channel
- โ Hosted checkout page
- โ Mobile-friendly
Cons:
- โ No customization
- โ External checkout experience
- โ Limited automation
- โ Manual process
Setup Time: 5 minutes
๐ Start Here If: You need to accept payments immediately without building anything.
Feature Comparison Matrixโ
| Payment Method | Setup Time | Coding Required | Customization | Maintenance | All Payment Methods | Mobile Ready | Difficulty |
|---|---|---|---|---|---|---|---|
| E-Commerce Plugins | 15-30 min | โ | Low | Low | โ | โ | Easy |
| Omise.js | 2-4 hours | โ | Medium | Low | โ | โ | Medium |
| Mobile SDKs | 1-2 days | โ | High | Medium | โ | โ | Medium |
| Server Libraries | 1-3 days | โ | High | Medium | โ | โ | Hard |
| REST API | 2-5 days | โ | Full | High | โ | โ | Hard |
| Payment Links | 5 min | โ | None | None | โ | โ | Easy |
By Use Caseโ
Subscription/Recurring Billingโ
Recommended: Server Libraries + Omise.js
Why: You need to store customer payment methods and charge them repeatedly. This requires backend logic.
Features Needed:
- Customer management
- Card storage
- Scheduled charges
- Webhook handling
Learn about Recurring Payments โ
One-Time Purchasesโ
Recommended: Omise.js or E-Commerce Plugin
Why: Simple checkout flow without complex requirements.
Features Needed:
- Token creation
- Charge creation
- Basic error handling
Marketplace/Platformโ
Recommended: Full API Integration
Why: Need to manage multiple merchants, split payments, handle complex flows.
Features Needed:
- Sub-merchant management
- Transfer splitting
- Advanced reporting
- Chain keys
Contact Sales for marketplace solutions.
Mobile Commerceโ
Recommended: Mobile SDKs
Why: Native mobile experience with optimized UI components.
Features Needed:
- Tokenization in app
- Native payment forms
- Biometric authentication
- Deep linking
International Salesโ
Recommended: Full API Integration
Why: Need to handle multiple currencies, regions, and payment methods.
Features Needed:
- Multi-currency support
- Regional payment methods
- Currency conversion
- Localization
Technical Considerationsโ
PCI Complianceโ
| Method | PCI Burden | Reason |
|---|---|---|
| Plugins | Minimal | Plugin handles card data |
| Omise.js | Minimal | Omise.js tokenizes before your server |
| Mobile SDKs | Minimal | SDK tokenizes before your server |
| Server Libraries | Low | Still use tokenization |
| REST API | Medium | Need to implement securely |
All methods keep card data out of your servers if implemented correctly. Always use tokenization!
Hosting Requirementsโ
| Method | Requirements |
|---|---|
| Plugins | Platform hosting (managed) |
| Omise.js | Web hosting with HTTPS |
| Mobile SDKs | App store deployment |
| Server Libraries | Server with HTTPS |
| REST API | Server with HTTPS |
| Payment Links | No hosting needed |
Development Skills Neededโ
E-Commerce Plugins:
- Platform administration
- Basic configuration
Omise.js:
- HTML/JavaScript
- Basic backend development
- HTTPS/SSL knowledge
Mobile SDKs:
- Swift/Kotlin/Dart
- Mobile development experience
- Backend API development
Server Libraries:
- Backend programming
- API integration
- Database management
- Security best practices
REST API:
- HTTP/REST APIs
- JSON handling
- Authentication
- Error handling
- Security hardening
Migration Pathsโ
Starting Simple, Scaling Laterโ
You can start with one method and migrate later:
- Start: Payment Links (immediate sales)
- Upgrade: Plugin (e-commerce launch)
- Scale: Custom API (advanced features)
All methods use the same Omise backend. You can switch or combine approaches without data migration.
Combining Approachesโ
You can use multiple methods simultaneously:
- Web: Omise.js integration
- Mobile: Native SDKs
- Admin: Payment Links for manual sales
- Backend: Server libraries for automation
Next Steps Based on Your Choiceโ
Chose E-Commerce Plugin?โ
- Find your platform in Plugins
- Follow installation guide
- Configure payment methods
- Test with test mode
- Go live
Chose Omise.js?โ
- Read Omise.js Guide
- Include the script on your page
- Implement token handling
- Build backend charge endpoint
- Test and deploy
Chose Mobile SDK?โ
- Select SDK: iOS, Android, or Flutter
- Install via package manager
- Implement payment UI
- Build backend API
- Test on devices
Chose Server Library?โ
- Pick your language in Server Libraries
- Install library
- Build frontend tokenization
- Implement backend logic
- Set up webhooks
Chose REST API?โ
- Review API Documentation
- Implement authentication
- Build tokenization flow
- Create charge endpoint
- Handle errors and edge cases
Chose Payment Links?โ
- Log into Dashboard
- Create payment link
- Share via email/social media
- Track payments in dashboard
FAQโ
Can I switch integration methods later?
Yes! All methods use the same Omise backend and APIs. You can:
- Start with a plugin and move to custom integration later
- Use plugins for web and SDKs for mobile simultaneously
- Migrate between approaches without losing data
Your charges, customers, and transactions remain in your Omise account regardless of integration method.
Which method is most secure?
All methods are secure when implemented correctly. The key is to:
- Always use tokenization (all methods do this)
- Never store card data on your servers
- Use HTTPS for all connections
- Keep secret keys on your server only
Plugins and Omise.js have slightly less implementation risk because card data handling is built-in.
Which method gives me the most payment methods?
All methods support all of Omise's 40+ payment methods. The difference is in how easily you can add them:
- Plugins: Usually have checkboxes to enable methods
- Omise.js: Supports all methods with minimal code changes
- SDKs: Support all methods with native UI
- API: Requires code for each new method
Do I need separate integrations for web and mobile?
Generally yes, but they share the backend:
- Frontend: Different (Omise.js for web, SDKs for mobile)
- Backend: Same server code can handle both
- Dashboard: Single view of all transactions
You can reuse your charge-creating backend logic across platforms.
Can I use multiple integration methods at once?
Absolutely! Common scenarios:
- Plugin for main store + Payment Links for offline sales
- Omise.js for web + Mobile SDKs for apps
- Custom API for web + Plugin for legacy system
All transactions appear in your dashboard regardless of how they were created.
What if my platform/language isn't supported?
Use the REST API directly! It works with any language that can:
- Make HTTP requests
- Parse JSON
- Handle HTTPS
You can also build a thin wrapper around the API for your specific needs.
Still Not Sure?โ
Try this:
- Start with Payment Links (5 minutes) to make your first sale
- Explore the Quickstart to understand the basics
- Contact us if you need help choosing: support@omise.co
Or start testing immediately with our Quickstart Guide!
Ready to build? Choose your path above and start integrating!