Money Management
Manage your money flow with Omise. Handle refunds, create transfers, track balances, and manage settlements.
Key Operationsโ
๐ธ Refundsโ
Issue full or partial refunds to customers for returns, cancellations, or disputes.
Features:
- Full refunds
- Partial refunds
- Automatic notifications
- Refund tracking
- Multi-currency support
Limitations:
- Some payment methods don't support refunds
- Refund timeframes vary by method
- Must have sufficient balance
Learn About Refunds
How to create refunds, limitations by payment method, and timing expectations.
View Guide โ๐ฆ Transfers & Payoutsโ
Move funds from your Omise balance to your bank account.
Features:
- Manual transfers
- Automatic scheduled transfers
- Partial transfers
- Multi-recipient support
- Transfer tracking
Hold Periods:
- Thailand: 7 days
- Japan: 21 days
- Test mode: Instant
Learn About Transfers
How to create transfers, manage recipients, and set up automatic payouts.
View Guide โ๐ฐ Balance & Transactionsโ
Track your account balance and transaction history.
Features:
- Real-time balance
- Transferable vs pending
- Transaction history
- Reconciliation tools
- Export capabilities
Learn About Balances
Understanding your balance, transaction history, and reconciliation.
View Guide โ๐ Multi-Currencyโ
Handle settlements and currency conversion for international payments.
Features:
- Multiple currency support
- Automatic conversion
- Forex rates
- Settlement options
Learn About Multi-Currency
Managing international payments and currency conversion. Contact your account manager for multi-currency settlement options.
Money Flow Overviewโ
Balance Typesโ
Pending Balanceโ
What it is: Funds from recent charges that are still in the hold period
Duration:
- Thailand: 7 days
- Japan: 21 days
Can you transfer?: No, must wait for hold period
Transferable Balanceโ
What it is: Funds available for transfer to your bank
When available: After hold period completes
Can you transfer?: Yes, create a transfer request
Reserved Balanceโ
What it is: Funds held for potential disputes or refunds
When released: After dispute resolution or reserve period
Quick Operationsโ
Create a Refundโ
// Full refund
omise.refunds.create('chrg_test_123', {
amount: 100000 // Full charge amount
});
// Partial refund
omise.refunds.create('chrg_test_123', {
amount: 50000 // Half of charge amount
});
Create a Transferโ
// Create transfer to default recipient
omise.transfers.create({
amount: 500000 // เธฟ5,000.00
});
// Create transfer to specific recipient
omise.transfers.create({
amount: 500000,
recipient: 'recp_test_123'
});
Check Balanceโ
// Get current balance
const balance = await omise.balance.retrieve();
console.log('Transferable:', balance.transferable);
console.log('Pending:', balance.total - balance.transferable);
Common Scenariosโ
Issue Refund for Returned Itemโ
- Customer requests return
- Verify order and eligibility
- Create refund via API or dashboard
- Customer receives refund in 5-7 days
- Refund deducted from your balance
Setup Automatic Payoutsโ
- Go to dashboard settings
- Configure transfer schedule (daily/weekly/monthly)
- Set minimum transfer amount
- Add recipient bank details
- Transfers happen automatically
Reconcile Daily Transactionsโ
- Export transaction report
- Match charges to orders
- Verify refunds processed
- Check transferred amounts
- Reconcile with accounting system
Refund Support by Payment Methodโ
| Method | Refundable | Timing |
|---|---|---|
| Credit Cards | โ Yes | 5-7 days |
| PromptPay | โ No | N/A |
| TrueMoney | โ ๏ธ Full only | 1-3 days (within 30-day window) |
| ShopeePay | โ Yes | 1-3 days |
| PayPay | โ Yes | 1-2 days |
| Mobile Banking | โ No | N/A |
| Internet Banking | โ No | N/A |
| Konbini | โ No | N/A |
| Touch 'n Go (App) | โ No | N/A |
Transfer Schedulesโ
Manual Transfersโ
- Request transfers anytime
- Processed daily around 10 AM Bangkok time
- Funds arrive in 1-2 business days
- No minimum amount
Automatic Transfersโ
- Set schedule in dashboard
- Daily, weekly, or monthly options
- Set minimum threshold
- Automatic processing
Test Modeโ
- Transfers instant in test mode
- Use "Mark as sent" and "Mark as paid"
- Simulate complete flow
- No actual bank transfers
Multi-Currency Settlementโ
Charge in Customer Currencyโ
// Charge in USD
omise.charges.create({
amount: 10000, // $100.00
currency: 'usd',
card: token
});
// Settles to your base currency (THB) automatically
Exchange Ratesโ
- Rates applied at time of charge
- View current rates via Forex API
- Transparent rate display
- No hidden fees
Settlement Optionsโ
- Settle to base currency
- Multi-currency bank accounts
- Automatic conversion
- Daily rate updates
Contact your account manager for multi-currency settlement configuration.
Best Practicesโ
Refundsโ
โ Do:
- Issue refunds promptly
- Communicate clearly with customers
- Keep refund records
- Check refund eligibility before processing
โ Don't:
- Refund before confirming return
- Forget to update inventory
- Ignore refund requests
- Refund to wrong customer
Transfersโ
โ Do:
- Verify bank account details
- Set up automatic transfers
- Keep transfer records
- Monitor transfer status
โ Don't:
- Request transfers for pending balance
- Use wrong recipient details
- Forget to account for fees
- Create duplicate transfers
Reconciliationโ
โ Do:
- Reconcile daily
- Match all transactions
- Document discrepancies
- Export regular reports
โ Don't:
- Wait weeks to reconcile
- Ignore small differences
- Skip verification steps
- Lose transaction records
FAQโ
How long do refunds take to reach customers?
Refund timing depends on the payment method:
- Credit cards: 5-7 business days
- PromptPay: 1-2 business days
- TrueMoney: 1-3 business days
- Digital wallets: 1-3 business days
The refund is processed immediately on Omise's side, but banks/providers take time to credit the customer's account.
Why can't I transfer my pending balance?
Pending balance has a hold period:
- Thailand: 7 days from charge
- Japan: 21 days from charge
This protects against chargebacks and refunds. After the hold period, funds move to transferable balance automatically.
Can I refund more than the charge amount?
No. You can only refund up to the original charge amount. If you need to send additional money to a customer, do it separately outside of the refund system.
What happens if I don't have enough balance for a refund?
The refund will fail. You need sufficient transferable balance to process refunds. Options:
- Wait for more payments to clear
- Cancel pending transfers
- Deposit funds if your agreement allows
Can I cancel a transfer after creating it?
Only if it hasn't been processed yet:
- Before 10 AM Bangkok time: Can cancel via dashboard
- After processing: Cannot cancel
- In transit: Cannot recall
Check transfer status in your dashboard.
How do I reconcile my Omise transactions?
- Export transaction report from dashboard
- Match charges to your order system
- Verify refunds are recorded
- Check transfers to bank statements
- Investigate any discrepancies
Use the Search API or dashboard filters to find specific transactions.
Dashboard Operationsโ
Via Dashboardโ
- Refunds: Charges โ Select charge โ Create refund
- Transfers: Transfers โ Create transfer
- Balance: Dashboard โ View balance
- Reports: Reports โ Export transactions
Via APIโ
All operations available via REST API:
- Programmatic refunds
- Automated transfers
- Balance checking
- Transaction queries
Next Stepsโ
๐ Multi-Currency
International settlements (contact account manager)
Need help? Check the dashboard or contact support@omise.co.