Skip to main content
Version: 2019-05-29 (Current)

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
  1. Create Link - Generate a payment link with amount, currency, and description
  2. Share Link - Send the unique URL to your customer via email, SMS, or chat
  3. Customer Pays - Customer clicks link and completes payment on Omise-hosted page
  4. Receive Notification - Get webhook notification when payment completes
  5. 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โ€‹

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โ€‹

  • 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 process
  • charge.complete - Payment completed successfully
  • charge.update - Payment status changed

Integration Examplesโ€‹

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_...

Need help? Check our Payment Links Guide or contact support@omise.co