Charges

The Charge object represents a payment transaction in the Omise API.

Use charges to collect payments from customers via credit cards, debit cards, or alternative payment methods like PromptPay, TrueMoney, and mobile banking. Charges support both immediate capture and pre-authorization workflows.

Charge Lifecycle
pending → authorized → captured → successful
pending → failed
pending → expired
authorized → reversed

Endpoints

POST/chargesCreate a chargeGET/charges/:idRetrieve a chargeGET/chargesList all chargesPATCH/charges/:idUpdate a chargePOST/charges/:id/captureCapture a chargePOST/charges/:id/reverseReverse a chargePOST/charges/:id/expireExpire a chargePOST/charges/:id/mark_as_paidTEST ONLYMark as paidPOST/charges/:id/mark_as_failedTEST ONLYMark as failed

The Charge Object

id
string
Unique identifier for the charge (chrg_test_...)
object
string
Object type, always "charge"
amount
integer
Charge amount in smallest currency unit
net
integer
Net amount after fees
fee
integer
Processing fee charged
fee_vat
integer
VAT on the processing fee
currency
string
Three-letter ISO 4217 currency code
status
string
Charge status: pending, successful, failed, expired, reversed
authorized
boolean
Whether the charge has been authorized
captured
boolean
Whether the charge has been captured
reversed
boolean
Whether the charge has been reversed (voided)
paid
boolean
Whether the charge has been paid
capturable
boolean
Whether the charge can be captured
reversible
boolean
Whether the charge can be reversed
refundable
boolean
Whether the charge can be refunded
expired
boolean
Whether the charge has expired
card
object
Card details (for card payments)
source
object
Payment source details (for alternative payments)
customer
string
Customer ID if charged to a saved customer
description
string
Merchant-facing transaction description
metadata
object
Custom key-value pairs
return_uri
string
Redirect URI for 3DS or redirect flows
authorize_uri
string
URL for customer authorization (3DS, redirects)
created_at
datetime
Charge creation timestamp (ISO 8601)
paid_at
datetime
Payment completion timestamp
expires_at
datetime
Charge expiration timestamp
Full API schema available at api.omise.co/schema