Links API (Payment Links)
The Links API allows you to create shareable payment links that customers can use to make payments without requiring a full e-commerce integration. Payment links are perfect for invoices, one-time payments, and no-code payment solutions.
Overviewโ
Payment Links provide:
- No-code payment acceptance - Accept payments without building a checkout
- Shareable URLs - Send links via email, SMS, social media, or messaging apps
- Customizable amounts - Set fixed amounts or allow customers to choose
- Multiple payment methods - Support credit cards and alternative payment methods
- Quick setup - Create links instantly via API or Dashboard
- Payment tracking - Monitor link usage and payment status
How Payment Links Workโ
- Create Link - Generate a payment link with amount, currency, and description
- Share Link - Send the unique URL to your customer via email, SMS, or chat
- Customer Pays - Customer clicks link and completes payment on Omise-hosted page
- Receive Notification - Get webhook notification when payment completes
- Track Status - Monitor link charges and payment status
Use Casesโ
Invoice Paymentsโ
Send payment links in invoices for B2B or B2C transactions.
Social Commerceโ
Share payment links on social media, WhatsApp, Line, or other messaging platforms.
Manual Ordersโ
Create payment links for phone orders or customer service transactions.
Event Registrationโ
Send payment links for event tickets, workshop fees, or registrations.
Consulting & Servicesโ
Accept payments for consulting sessions, freelance work, or services.
Subscription Renewalsโ
Send payment links for manual subscription renewals.
Key Featuresโ
Customizable Amountsโ
- Fixed amount - Set a specific amount customers must pay
- Customer-specified amount - Allow customers to enter any amount (donations, tips)
- Multiple currency support - Accept payments in THB, SGD, MYR, JPY, USD, and more
Flexible Usageโ
- One-time use - Link expires after first successful payment
- Multiple use - Allow multiple payments with the same link
- Expiration dates - Set when links should expire
Rich Metadataโ
- Custom descriptions - Show product/service details to customers
- Reference data - Store invoice numbers, order IDs, or customer references
- Metadata - Add custom key-value pairs for tracking
Payment Methodsโ
- Credit/debit cards (Visa, Mastercard, JCB, etc.)
- PromptPay QR
- Mobile banking
- Internet banking
- And more payment methods based on currency
Available Endpointsโ
- Create a Payment Link - POST /links
- Retrieve a Payment Link - GET /links/:id
- List All Payment Links - GET /links
Link Statesโ
Activeโ
Link is active and can accept payments.
Usedโ
Link has been used (one-time links only).
Expiredโ
Link has passed its expiration date.
Best Practicesโ
โ Do Thisโ
- Set descriptive titles so customers know what they're paying for
- Include reference numbers in descriptions or metadata
- Set reasonable expiration dates (typically 7-30 days)
- Use webhooks to get notified of successful payments
- Track link usage via metadata and descriptions
- Test links before sending to customers
- Provide customer support info in link descriptions
โ Don't Do Thisโ
- Don't reuse expired links - create new ones instead
- Don't forget to set expiration dates for time-sensitive payments
- Don't share links publicly if they're for specific customers
- Don't assume immediate payment - customers may delay
- Don't create links without descriptions - customers need context
Security Considerationsโ
Link Privacyโ
- Links are publicly accessible by anyone with the URL
- Consider using one-time links for sensitive transactions
- Don't include sensitive information in link descriptions
- Links can be paid by anyone who has the URL
Payment Verificationโ
- Use webhooks to verify successful payments
- Check charge IDs against link IDs
- Validate payment amounts match expected values
- Store link IDs with order records for reconciliation
Webhooksโ
Payment Links trigger these webhook events:
charge.create- Customer started payment processcharge.complete- Payment completed successfullycharge.update- Payment status changed
Integration Examplesโ
Email Invoice with Payment Linkโ
Invoice #12345
Amount Due: $100.00
Please click the link below to pay:
https://pay.omise.co/links/link_test_...
Thank you for your business!
WhatsApp/Line Messageโ
Hi [Customer]! ๐
Your order total is เธฟ500.00
Pay here: https://pay.omise.co/links/link_test_...
Questions? Reply to this message!
SMS Payment Reminderโ
Payment reminder: Invoice #12345 for $100.00 is due.
Pay now: https://pay.omise.co/links/link_test_...
Related Resourcesโ
Need help? Check our Payment Links Guide or contact support@omise.co