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

Payment Links+ API

Payment Links vs Payment Links+

Omise offers two different Payment Links products:

FeaturePayment LinksPayment Links+
API Serverhttps://api.omise.co/linkshttps://linksplus-api.omise.co
TemplatesNoYes - create reusable templates
Custom WebhooksAccount-level onlyPer-link custom webhooks
Team ManagementNoYes - team_id based
DocumentationPayment Links APIThis page

If you're using the standard Omise API at api.omise.co, see Payment Links API instead.

Create and manage Payment Links+ programmatically using the dedicated Links+ API. This API provides template-based link creation, custom webhooks, and advanced features.

Base URLโ€‹

https://linksplus-api.omise.co

Authenticationโ€‹

All requests require authentication using your Secret Key via HTTP Basic Auth or Bearer token.

# Using Basic Auth
curl https://linksplus-api.omise.co/external/links \
-u skey_test_xxx:

# Using Bearer Token
curl https://linksplus-api.omise.co/external/links \
-H "Authorization: Bearer skey_test_xxx"

API Endpointsโ€‹

MethodEndpointDescription
POST/external/linksCreate a payment link
GET/external/links/:link_idRetrieve a payment link
GET/external/:team_id/linksList all payment links

Templatesโ€‹

MethodEndpointDescription
GET/external/templates/:template_idRetrieve a template
GET/external/:team_id/templatesList all templates

Webhooksโ€‹

Payment Links+ supports up to 3 webhook endpoints per payment:

  1. System webhook - Configured at the account level
  2. Dashboard webhook - Configured in the Omise Dashboard
  3. Custom webhook - Specified per link via the custom_webhook parameter

Webhook Payloadโ€‹

When a payment is completed, all configured webhooks receive the payment event:

{
"event": "payment.completed",
"link_id": 789,
"payment": {
"id": "chrg_test_xxx",
"amount": 100000,
"currency": "thb",
"status": "successful"
},
"timestamp": "2026-02-14T10:35:00Z"
}
HTTPS Required

Custom webhook URLs must use HTTPS. HTTP URLs will be rejected.


Response Codesโ€‹

CodeDescription
200 OKRequest successful
400 Bad RequestInvalid parameters or missing required fields
401 UnauthorizedInvalid or missing API key
404 Not FoundResource not found
500 Internal Server ErrorServer error, retry later