Shopify Plugin
Accept payments on your Shopify store with Omise. Support for credit cards, bank transfers, e-wallets, and installment payments with easy setup through the Shopify admin.
Overviewโ
The Omise Shopify integration provides:
- Quick Installation: Install from Shopify App Store in minutes
- All Payment Methods: Cards, banking, e-wallets, installments
- Automatic Sync: Order status updates automatically
- Multi-Currency: Accept payments in multiple currencies
- Mobile Optimized: Seamless mobile checkout experience
- Test Mode: Safe testing before going live
Prerequisitesโ
Requirementsโ
Omise Account:
- Active Omise account (Sign up)
- Business verification completed
- API keys available (public and secret)
- Desired payment methods enabled
Shopify Store:
- Active Shopify plan (Basic or higher)
- Admin access to Shopify dashboard
- SSL certificate enabled (standard with Shopify)
- Thailand-based business (or supported country)
Supported Shopify Plansโ
| Plan | Supported | Notes |
|---|---|---|
| Shopify Lite | โ | Buy buttons only |
| Basic Shopify | โ | Full features |
| Shopify | โ | Full features |
| Advanced Shopify | โ | Full features |
| Shopify Plus | โ | Full features + advanced options |
Installationโ
Step 1: Install from Shopify App Storeโ
- Access Shopify App Store
- Log in to your Shopify admin
- Navigate to Apps in left sidebar
- Click Customize your store
- Search for "Omise Payment Gateway"

- Install the App
- Click on Omise Payment Gateway app
- Review app permissions
- Click Add app
- Confirm installation

App Permissions:
Omise requests access to:
โ View and modify orders
โ View and modify customers
โ View store settings
โ Process payments

- Complete Installation
- Wait for installation to complete
- You'll be redirected to Omise settings
- Installation typically takes 30-60 seconds

Step 2: Configure API Keysโ
- Get Your API Keys
- Open new tab, go to Omise Dashboard
- Navigate to Settings โ Keys
- Copy your Public Key (starts with
pkey_) - Copy your Secret Key (starts with
skey_)

Test Keys (for testing):
Public Key: pkey_test_5xyzabc123
Secret Key: skey_test_5xyzabc456
Live Keys (for production):
Public Key: pkey_live_5xyzabc789
Secret Key: skey_live_5xyzabc012
- Enter Keys in Shopify
- Return to Shopify admin
- In Omise app settings:
- Paste Public Key in Public Key field
- Paste Secret Key in Secret Key field
- Select Test Mode for testing
- Click Save

Step 3: Enable Payment Methodsโ
-
Navigate to Payment Settings
- Still in Omise app settings
- Scroll to Payment Methods section
-
Select Payment Methods
Credit/Debit Cards:
โ Enable card payments
โ Enable 3D Secure (recommended)
โ Set capture mode: Automatic
Supported: Visa, Mastercard, Amex, JCB
Fee: 3.65% per transaction
Internet Banking:
โ Enable internet banking
โ Select banks:
- Bangkok Bank
- Kasikorn Bank
- Siam Commercial Bank
- Krung Thai Bank
- All other major banks
Fee: THB 15 per transaction
E-Wallets:
โ TrueMoney Wallet
โ Rabbit LINE Pay
โ ShopeePay
โ Alipay (for Chinese customers)
โ WeChat Pay (for Chinese customers)
Fee: 2.9% - 3.65% per transaction
Installments:
โ Enable installments
โ Minimum amount: THB 3,000
โ Available terms:
- 3 months (0%)
- 6 months (0%)
- 10 months (0%)
Fee: Higher rates apply
- Configure Payment Method Settings
Card Payment Settings:
Payment Capture: Automatic (recommended)
- Captures payment immediately
- Funds reserved for settlement
3D Secure: Enabled (recommended)
- Additional security layer
- Required for some cards
- Reduces fraud risk
Failed Card Retry: Enabled
- Allows customer to retry with different card
- Shows helpful error messages

Step 4: Configure Webhookโ
Webhooks keep order status synchronized:
- Copy Webhook URL
- In Omise app settings
- Find Webhook URL section
- Copy the provided URL
Example Webhook URL:
https://yourstore.myshopify.com/apps/omise/webhook
-
Add to Omise Dashboard
- Go to Omise Dashboard
- Navigate to Settings โ Webhooks
- Click Add Webhook
- Paste webhook URL
- Select events:
- charge.complete
- charge.failed
- refund.create
- Click Create
-
Test Webhook
- In Omise Dashboard, click Send Test
- Check Shopify logs for webhook receipt
- Verify test event received successfully
Step 5: Test the Integrationโ
Before going live, thoroughly test:
-
Create Test Order
- Visit your Shopify storefront
- Add product to cart
- Proceed to checkout
- Complete customer information
-
Test Card Payment
- Select credit card payment
- Use test card details:
Card Number: 4242 4242 4242 4242
Expiry Date: 12/28
CVV: 123
Name: Test Customer- Complete payment
- Verify order created in Shopify
- Check order status updated to "Paid"
-
Test Other Payment Methods
- Test internet banking (redirects to test page)
- Test e-wallet payments
- Test installment payments
- Verify all methods work correctly
-
Test Order Flow
- Check order confirmation email
- Verify inventory deduction
- Test customer account updates
- Review transaction in Omise Dashboard
Step 6: Go Liveโ
Once testing is complete:
-
Switch to Live Mode
- In Omise app settings
- Replace test keys with live keys:
- Public Key:
pkey_live_xxx - Secret Key:
skey_live_xxx
- Public Key:
- Disable Test Mode
- Click Save
-
Verify Live Settings
- Check payment methods are enabled
- Verify webhook URL is correct
- Confirm all settings saved
-
Monitor First Transactions
- Watch first few live orders closely
- Verify payments processing correctly
- Check order status updates
- Confirm webhook delivery
Shopify Admin Featuresโ
Payment Gateway Settingsโ
Access through: Settings โ Payments โ Omise Payment Gateway


Available Settings:
General:
- API Keys (test and live)
- Environment (test/live mode)
- Enable/disable payment methods
Card Payments:
- 3D Secure (on/off)
- Payment capture (auto/manual)
- Save cards for customers
Display:
- Payment method order
- Custom payment icons
- Checkout button text
Advanced:
- Webhook configuration
- Debug logging
- Custom CSS
- Order status mapping
Order Managementโ
Order Status Flow:
Customer places order โ Pending
Payment processing โ Processing Payment
Payment successful โ Paid
Payment failed โ Payment Failed
Refund issued โ Refunded (partial/full)
Order Actions:
-
View Payment Details
- Click on order
- Scroll to Payment section
- See Omise charge ID
- View payment method used
- Check transaction status
-
Issue Refunds
- Open order
- Click Refund
- Select refund type:
- Full refund
- Partial refund
- Item refund
- Enter reason (optional)
- Click Refund
-
View Transaction History
- Payment timeline
- Refund history
- Webhook events
- Customer payment actions
Payment Methods Configurationโ
Credit Card Paymentsโ
Setup:
1. Enable card payments in settings
2. Turn on 3D Secure for security
3. Set automatic capture
4. Enable card saving (optional)
Customer Experience:
- Customer enters card details directly on checkout
- 3D Secure popup if required
- Instant payment confirmation
- Receipt emailed automatically
Card Types Supported:
- Visa (debit and credit)
- Mastercard (debit and credit)
- American Express
- JCB
Internet Bankingโ
Setup:
1. Enable internet banking
2. Select supported banks (or all)
3. Configure redirect URLs
4. Set timeout (default: 30 minutes)
Customer Flow:
- Select internet banking
- Choose their bank
- Redirect to bank website
- Complete payment
- Return to store automatically
Supported Banks:
- Bangkok Bank (BBL)
- Kasikorn Bank (KBANK)
- Siam Commercial Bank (SCB)
- Krung Thai Bank (KTB)
- Bank of Ayudhya (BAY)
- TMB Bank (TMB)
- All other Thai commercial banks
E-Walletsโ
TrueMoney Wallet:
Enable: โ
Display Name: "TrueMoney Wallet"
Icon: TrueMoney logo
Flow: Redirect to TrueMoney app/web
Rabbit LINE Pay:
Enable: โ
Display Name: "Rabbit LINE Pay"
Icon: Rabbit LINE Pay logo
Flow: Redirect to LINE app/web
ShopeePay:
Enable: โ
Display Name: "ShopeePay"
Icon: ShopeePay logo
Flow: QR code or app redirect
Customer Experience:
- Select e-wallet at checkout
- Redirect to wallet app/website
- Approve payment in wallet
- Return to store automatically
- Instant confirmation
Installment Paymentsโ
Configuration:
Minimum Order Amount: THB 3,000
Available Terms:
- 3 months (0% interest)
- 6 months (0% interest)
- 10 months (0% interest)
Card Requirements:
- Thai-issued credit cards only
- Participating banks
- Customer must be eligible
Installment Display:
Product Page:
"Pay in installments starting from THB 1,000/month"
Checkout Page:
"Pay THB 3,000 in 3 installments of THB 1,000"
[Selection buttons: 3 months | 6 months | 10 months]
Customer Eligibility:
- Checked automatically with bank
- Displayed at checkout
- Customer selects preferred term
- Bank processes installment setup
Customizationโ
Checkout Appearanceโ
Payment Method Display:
<!-- Customize payment method order -->
1. Credit/Debit Cards
2. TrueMoney Wallet
3. Rabbit LINE Pay
4. Internet Banking
5. Installments
Custom Payment Icons:
Upload custom icons for:
- Payment method logos
- Security badges
- Trust seals
Recommended size: 120x40px
Format: PNG with transparency
Checkout Button Text:
Default: "Complete Order"
Customize to:
- "Pay Now"
- "Complete Payment"
- "Confirm and Pay"
- Custom text in Thai: "เธเธณเธฃเธฐเนเธเธดเธ"
Custom CSS (Advanced)โ
Add custom styles to payment section:
/* Customize payment method buttons */
.omise-payment-method {
border-radius: 8px;
padding: 15px;
margin: 10px 0;
border: 2px solid #e0e0e0;
}
.omise-payment-method:hover {
border-color: #FF5722;
background: #fff5f3;
}
/* Customize selected payment method */
.omise-payment-method.selected {
border-color: #FF5722;
background: #fff;
box-shadow: 0 2px 8px rgba(255,87,34,0.2);
}
/* Customize payment button */
.omise-pay-button {
background: #FF5722;
color: white;
padding: 15px 40px;
border-radius: 4px;
font-weight: bold;
border: none;
}
Multi-Currency Supportโ
Currency Configurationโ
Setup Multi-Currency:
1. Enable multi-currency in Shopify settings
2. Add currencies you want to support
3. Configure exchange rates (auto or manual)
4. Set default currency
Supported by Omise:
- THB (Thai Baht)
- USD (US Dollar)
- EUR (Euro)
- GBP (British Pound)
- SGD (Singapore Dollar)
- JPY (Japanese Yen)
Currency Display:
Product prices shown in selected currency
Checkout processes in selected currency
Customer charged in selected currency
Settlement to merchant in configured currency
Exchange Rate Handling:
Option 1: Shopify Payments rates
Option 2: Manual rate setting
Option 3: Third-party app rates
Omise settles in:
- THB for Thailand merchants
- USD for international merchants
Advanced Featuresโ
Saved Cardsโ
Allow customers to save cards for faster checkout:
Enable Saved Cards:
Settings โ Omise Configuration
โ Enable "Save cards for future purchases"
Customer Experience:
First Purchase:
โก Save this card for future purchases
(Checkbox at checkout)
Returning Customer:
Saved Cards:
โ Visa ****1234 (Exp: 12/26)
โ Use a new card
Security:
- Cards tokenized by Omise
- No card data stored on your server
- PCI compliant tokenization
- Customer can delete saved cards
Manual Payment Captureโ
For pre-orders or custom workflows:
Setup:
Settings โ Card Payments
Capture Mode: Manual
Workflow:
1. Customer places order
2. Payment authorized (not captured)
3. Merchant reviews order
4. Merchant manually captures payment
5. Order fulfilled
Use Cases:
- Pre-orders (capture when ready to ship)
- Custom/made-to-order items
- High-value items needing verification
- Fraud prevention review
Manual Capture:
1. Open order in Shopify admin
2. Click "Capture Payment" button
3. Confirm capture
4. Payment processed
5. Order status updates
Authorization period: 7 days
(After 7 days, authorization expires)


Partial Paymentsโ
Split payments (Shopify Plus feature):
Example: THB 10,000 order
Payment 1 (Deposit): THB 3,000
- Customer pays 30% upfront
- Order marked as "Partially Paid"
Payment 2 (Balance): THB 7,000
- Send payment link for balance
- Customer completes payment
- Order marked as "Paid"
Shopify POS Integrationโ
Accept Omise payments in-store:
Setup:
1. Enable Omise in POS settings
2. Configure payment methods for POS
3. Train staff on payment flow
4. Test with POS device
Supported Methods:
- Card payments (via terminal)
- QR code payments
- Mobile wallet payments
POS Flow:
1. Staff creates order in POS
2. Selects Omise payment
3. Customer pays via:
- Card reader
- QR code scan
- Wallet app
4. Payment confirmed
5. Receipt printed/emailed
Troubleshootingโ
Common Issuesโ
Issue: "Invalid API keys" error
Problem: Keys are incorrect or don't match environment
Solution:
1. Verify keys copied correctly (no extra spaces)
2. Ensure using correct keys for environment:
- Test keys for test mode
- Live keys for live mode
3. Check keys haven't been rotated
4. Generate new keys if needed
Issue: Payment methods not showing
Problem: Methods not enabled or configured
Solution:
1. Check methods enabled in Omise Dashboard
2. Verify currency supported by method
3. Ensure account verified for live methods
4. Check method-specific requirements
5. Clear browser cache and test
Issue: Orders not updating status
Problem: Webhook not configured or not working
Solution:
1. Verify webhook URL in Omise Dashboard
2. Check webhook endpoint is accessible
3. Test webhook using test event
4. Check Shopify app logs
5. Ensure no firewall blocking
Issue: 3D Secure popup blocked
Problem: Browser blocking authentication popup
Solution:
1. Enable popups for checkout domain
2. Configure popup exception
3. Try different browser
4. Check browser extensions not blocking
Issue: Refund failing
Problem: Refund not supported or timed out
Solution:
1. Check payment method supports refunds
2. Verify within refund window
3. Ensure sufficient settlement balance
4. Try smaller refund amount
5. Contact support if needed
Debuggingโ
Enable Debug Logging:
Settings โ Advanced โ Debug Mode
โ Enable debug logging
Logs location:
Shopify Admin โ Apps โ Omise โ Logs
Information logged:
- API requests/responses
- Webhook events
- Error messages
- Payment flow events
Test Mode Benefits:
โ No real charges made
โ Test all payment flows safely
โ Verify order processing
โ Test webhook delivery
โ Troubleshoot issues
Best Practicesโ
Before Going Liveโ
โ Test all payment methods
โ Verify order status updates
โ Test refund process
โ Check email notifications
โ Review checkout flow
โ Test on mobile devices
โ Verify webhook working
โ Review transaction fees
โ Test failed payment handling
โ Confirm customer experience
Securityโ
โ Use HTTPS only (standard with Shopify)
โ Enable 3D Secure for cards
โ Keep plugin updated
โ Use strong Shopify passwords
โ Enable 2FA on Shopify account
โ Regularly review API key access
โ Monitor for suspicious activity
โ Follow PCI compliance guidelines
Performanceโ
โ Optimize checkout page
โ Minimize checkout fields
โ Enable Shopify CDN
โ Use optimized payment icons
โ Test checkout speed
โ Monitor payment success rate
Customer Experienceโ
โ Offer multiple payment methods
โ Display payment icons clearly
โ Show security badges
โ Provide payment instructions
โ Send confirmation emails
โ Have support contact visible
โ Test mobile checkout thoroughly
Frequently Asked Questionsโ
Q: Do I need a Shopify Payments account?
A: No, Omise replaces Shopify Payments. You can use Omise as your sole payment gateway.
Q: Can I use Omise with Shopify Payments?
A: Yes, you can offer both options to customers. They'll choose at checkout.
Q: What Shopify plan do I need?
A: Basic Shopify or higher. Shopify Lite supports limited features (buy buttons only).
Q: Are there additional transaction fees from Shopify?
A: If you use a third-party gateway (like Omise) instead of Shopify Payments, Shopify charges:
- Basic: 2.0%
- Shopify: 1.0%
- Advanced: 0.5%
- Plus: 0.15%
Q: Can I accept international cards?
A: Yes, Omise supports international Visa, Mastercard, Amex, and JCB cards.
Q: How long do refunds take?
A: Card refunds typically appear in 7-14 business days. E-wallet refunds vary by provider.
Q: Can customers save cards for future purchases?
A: Yes, enable saved cards feature in settings. Cards are securely tokenized.
Q: Does it work with Shopify POS?
A: Yes, Omise integrates with Shopify POS for in-store payments.
Q: Can I customize the checkout appearance?
A: Yes, through Shopify theme customization and custom CSS. Some limitations apply.
Q: What happens if payment fails?
A: Customer sees error message and can retry with same or different payment method. Order remains in pending status.
Q: Is it compatible with other Shopify apps?
A: Generally yes, but test with your specific apps. Most apps work fine with Omise.
Q: How do I contact support?
A: Email support@omise.co or use in-app chat in Shopify admin or Omise Dashboard.
Next Stepsโ
- Magento Plugin - Magento integration guide
- Dashboard Guide - Manage payments in dashboard
- Testing Guide - Test your integration
- Payment Methods - Learn about payment methods
Additional Resourcesโ
Need help? Contact our support team at support@omise.co or visit the Help Center.