Event API
Event API สามารถใช้เพื่อเรียกดูข้อมูลเหตุการณ์ทั้งหมดที่เกิดขึ้นในบัญชีผู้ใช้โอมิเซะ เหตุการณ์ต่างๆ (เช่น การสร้างผู้รับเงินใหม่หรือการยกเลิกรายการรับชำระเงิน) จะ trigger HTTP POST หรือ Webhooks ที่เซิร์ฟเวอร์ของโอมิเซะ ซึ่งสามารถส่งข้อมูลเกี่ยวกับเหตุการณ์ต่างๆ ได้อัตโนมัติ สามารถอ่านรายละเอียดเพิ่มเติมได้ที่ คู่มือการใช้งาน Webhooks
Attributes
Name | Type | Description |
---|---|---|
object | string | The string |
id | string | The event identifier matching |
livemode | boolean | Whether this is a live ( |
location | string | API path to retrieve the current |
created_at | string | UTC datetime of event creation in ISO 8601 format ( |
data | object | Object associated with the triggered event. |
key | string | Event details (e.g. |
team_uid | string | The ID of the sub-merchant who triggered the event. Note: This field is applicable only for merchants using Payfac |
webhook_deliveries | array | Webhook deliveries for event. |
Example
-
JSON Response
{ "object": "event", "id": "evnt_test_no1t4tnemucod0e51mo", "livemode": false, "location": "/events/evnt_test_no1t4tnemucod0e51mo", "webhook_deliveries": [ { "object": "webhook_delivery", "id": "whdl_test_no1t4tnemucod0e51mo", "uri": "https://omise-flask-example.herokuapp.com/webhook", "status": 404, "key": "charge.create", "error": null, "payload": "{\n \"object\": \"event\",\n \"id\": \"evnt_test_no1t4tnemucod0e51mo\",\n \"livemode\": false,\n \"location\": \"/events/evnt_test_no1t4tnemucod0e51mo\",\n \"webhook_deliveries\": [\n\n ],\n \"data\": {\n \"object\": \"charge\",\n \"id\": \"chrg_test_no1t4tnemucod0e51mo\",\n \"location\": \"/charges/chrg_test_no1t4tnemucod0e51mo\",\n \"amount\": 12345,\n \"authorization_type\": null,\n \"authorized_amount\": 12345,\n \"captured_amount\": 12345,\n \"net\": 11862,\n \"fee\": 451,\n \"fee_vat\": 32,\n \"interest\": 0,\n \"interest_vat\": 0,\n \"funding_amount\": 12345,\n \"refunded_amount\": 0,\n \"transaction_fees\": {\n \"fee_flat\": \"0.0\",\n \"fee_rate\": \"3.65\",\n \"vat_rate\": \"7.0\"\n },\n \"platform_fee\": {\n \"fixed\": null,\n \"amount\": null,\n \"percentage\": null\n },\n \"currency\": \"THB\",\n \"funding_currency\": \"THB\",\n \"ip\": \"203.0.113.1\",\n \"refunds\": {\n \"object\": \"list\",\n \"data\": [\n\n ],\n \"limit\": 20,\n \"offset\": 0,\n \"total\": 0,\n \"location\": \"/charges/chrg_test_no1t4tnemucod0e51mo/refunds\",\n \"order\": \"chronological\",\n \"from\": \"2019-12-31T12:59:59Z\",\n \"to\": \"2019-12-31T12:59:59Z\"\n },\n \"link\": null,\n \"description\": null,\n \"metadata\": {\n \"order_id\": \"P26042018-01\",\n \"color\": \"pink\"\n },\n \"card\": {\n \"object\": \"card\",\n \"id\": \"card_test_no1t4tnemucod0e51mo\",\n \"livemode\": false,\n \"location\": null,\n \"deleted\": false,\n \"street1\": \"1448/4 Praditmanutham Road\",\n \"street2\": null,\n \"city\": \"Bangkok\",\n \"state\": null,\n \"phone_number\": \"0123456789\",\n \"postal_code\": \"10320\",\n \"country\": \"th\",\n \"financing\": \"credit\",\n \"bank\": \"JPMORGAN CHASE BANK N.A.\",\n \"brand\": \"Visa\",\n \"fingerprint\": \"XjOdjaoHRvUGRfmZacMPcJtm0U3SEIIfkA7534dQeVw=\",\n \"first_digits\": null,\n \"last_digits\": \"4242\",\n \"name\": \"Somchai Prasert\",\n \"expiration_month\": 12,\n \"expiration_year\": 2024,\n \"security_code_check\": true,\n \"tokenization_method\": null,\n \"created_at\": \"2019-12-31T12:59:59Z\"\n },\n \"source\": null,\n \"schedule\": null,\n \"customer\": null,\n \"dispute\": null,\n \"transaction\": \"trxn_test_no1t4tnemucod0e51mo\",\n \"failure_code\": null,\n \"failure_message\": null,\n \"status\": \"successful\",\n \"authorize_uri\": \"https://api.omise.co/payments/paym_test_no1t4tnemucod0e51mo/authorize\",\n \"return_uri\": \"https://www.example.com/orders/54321/complete\",\n \"created_at\": \"2019-12-31T12:59:59Z\",\n \"paid_at\": \"2019-12-31T12:59:59Z\",\n \"expires_at\": \"2019-12-31T12:59:59Z\",\n \"expired_at\": null,\n \"reversed_at\": null,\n \"zero_interest_installments\": true,\n \"branch\": null,\n \"terminal\": null,\n \"device\": null,\n \"authorized\": true,\n \"capturable\": false,\n \"capture\": true,\n \"disputable\": true,\n \"livemode\": false,\n \"refundable\": true,\n \"reversed\": false,\n \"reversible\": false,\n \"voided\": false,\n \"paid\": true,\n \"expired\": false\n },\n \"key\": \"charge.create\",\n \"created_at\": \"2019-12-31T12:59:59Z\"\n}\n", "created_at": "2023-03-02 10:27:09 UTC" } ], "data": { "object": "charge", "id": "chrg_test_no1t4tnemucod0e51mo", "location": "/charges/chrg_test_no1t4tnemucod0e51mo", "amount": 12345, "authorization_type": null, "authorized_amount": 12345, "captured_amount": 12345, "net": 11862, "fee": 451, "fee_vat": 32, "interest": 0, "interest_vat": 0, "funding_amount": 12345, "refunded_amount": 0, "transaction_fees": { "fee_flat": "0.0", "fee_rate": "3.65", "vat_rate": "7.0" }, "platform_fee": { "fixed": null, "amount": null, "percentage": null }, "currency": "THB", "funding_currency": "THB", "ip": "203.0.113.1", "refunds": { "object": "list", "data": [], "limit": 20, "offset": 0, "total": 0, "location": "/charges/chrg_test_no1t4tnemucod0e51mo/refunds", "order": "chronological", "from": "1970-01-01T00:00:00Z", "to": "2019-12-31T12:59:59Z" }, "link": null, "description": null, "metadata": { "order_id": "P26042018-01", "color": "pink" }, "card": { "object": "card", "id": "card_test_no1t4tnemucod0e51mo", "livemode": false, "location": null, "deleted": false, "street1": "1448/4 Praditmanutham Road", "street2": null, "city": "Bangkok", "state": null, "phone_number": "0123456789", "postal_code": "10320", "country": "th", "financing": "credit", "bank": "Bank of the Unbanked", "brand": "Visa", "fingerprint": "XjOdjaoHRvUGRfmZacMPcJtm0U3SEIIfkA7534dQeVw=", "first_digits": null, "last_digits": "4242", "name": "Somchai Prasert", "expiration_month": 12, "expiration_year": 2024, "security_code_check": true, "tokenization_method": null, "created_at": "2019-12-31T12:59:59Z" }, "source": null, "schedule": null, "customer": null, "dispute": null, "transaction": "trxn_test_no1t4tnemucod0e51mo", "failure_code": null, "failure_message": null, "status": "successful", "authorize_uri": "https://api.omise.co/payments/paym_test_no1t4tnemucod0e51mo/authorize", "return_uri": "https://www.example.com/orders/54321/complete", "created_at": "2019-12-31T12:59:59Z", "paid_at": "2019-12-31T12:59:59Z", "expires_at": "2019-12-31T12:59:59Z", "expired_at": null, "reversed_at": null, "zero_interest_installments": true, "branch": null, "terminal": null, "device": null, "authorized": true, "capturable": false, "capture": true, "disputable": true, "livemode": false, "refundable": true, "reversed": false, "reversible": false, "voided": false, "paid": true, "expired": false }, "key": "charge.create", "created_at": "2019-12-31T12:59:59Z" }
List events
- GET https://api.omise.co/eventsReturns a list of events belonging to your account. Because events are always serialized (and stored) according to your account version as of the time of the event, the data
attribute for the event list endpoint can contain events spanning several versions.
Request Parameters
Name | Type | Description |
---|---|---|
from | string | (optional, default: |
limit | integer | (optional, default: |
offset | integer | (optional, default: |
order | string | (optional, default: |
to | string | (optional) Latest UTC datetime for returned records in ISO 8601 format ( |
Example
-
List all events
- curl
- php
- node.js
- ruby
- C#
- java
- python
- go
- elixir
curl https://api.omise.co/events \ -u $OMISE_SECRET_KEY:
$events = OmiseEvent::retrieve();
const omise = require('omise')({ secretKey: 'skey_test_no1t4tnemucod0e51mo', }); const event = await omise.events.list(); console.log(event);
require "omise" Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x" events = Omise::Event.list
var events = await Client.Events.GetList(order: Ordering.ReverseChronological); Console.WriteLine($"total events: {events.Total}");
Request<ScopedList<Event>> request = new Event.ListRequestBuilder().build(); ScopedList<Event> events = client().sendRequest(request); System.out.printf("Total no. of events: %d", events.getTotal());
import omise omise.api_secret = "skey_test_no1t4tnemucod0e51mo" events = omise.Event.retrieve()
client, _ := omise.NewClient( "pkey_test_no1t4tnemucod0e51mo", "skey_test_no1t4tnemucod0e51mo", ) result := &omise.EventList{} err := client.Do(result, &operations.ListEvents{}) if err != nil { log.Fatalln(err) } log.Println(result)
Omise.configure(secret_key: "skey_test_4xs8breq3htbkj03d2x") Omise.Event.list
List events for charge
- GET https://api.omise.co/charges/{id}/eventsReturns a list of events belonging to charge matching :id
.
Request Parameters
Name | Type | Description |
---|---|---|
from | string | (optional, default: |
limit | integer | (optional, default: |
offset | integer | (optional, default: |
order | string | (optional, default: |
to | string | (optional) Latest UTC datetime for returned records in ISO 8601 format ( |
Retrieve an event
- GET https://api.omise.co/events/{id}Returns the event
matching :id
.
Example
-
Retrieve an event
- curl
- php
- node.js
- ruby
- C#
- java
- python
- go
- elixir
curl https://api.omise.co/events/evnt_test_5fzo43xgisxdvptf77i \ -u $OMISE_SECRET_KEY:
$event = OmiseEvent::retrieve('event_id');
const omise = require('omise')({ secretKey: 'skey_test_no1t4tnemucod0e51mo', }); const event = await omise.events.retrieve('evnt_test_no1t4tnemucod0e51mo'); console.log(event);
require "omise" Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x" event = Omise::Event.retrieve("evnt_test_52cin5n9bb6lytxduh9")
var ev = await Client.Events.Get("evnt_test_58fffxu2gn498pb03pd"); Console.WriteLine($"event action: {ev.Key} {ev.Data.Id}");
Request<Event> request = new Event.GetRequestBuilder("evnt_test_5vxs0ajpo78").build(); Event event = client().sendRequest(request); System.out.printf("Event key: %s", event.getKey());
import omise omise.api_secret = "skey_test_no1t4tnemucod0e51mo" event = omise.Event.retrieve("evnt_test_no1t4tnemucod0e51mo") # After retrieving it, the event can be refreshed: event.reload()
client, _ := omise.NewClient( "pkey_test_no1t4tnemucod0e51mo", "skey_test_no1t4tnemucod0e51mo", ) result := &omise.Event{} err := client.Do(result, &operations.RetrieveEvent{ EventID: "evnt_test_no1t4tnemucod0e51mo", }) if err != nil { log.Fatalln(err) } log.Println(result)
Omise.configure(secret_key: "skey_test_4xs8breq3htbkj03d2x") Omise.Event.retrieve("evnt_test_52cin5n9bb6lytxduh9")