Transactions
A Transaction represents a payment that has actually been processed by an operator. It is created automatically by Sangho when a Payment Intent succeeds — you cannot create one directly through the API.
Transactions are the accounting system of record for your business. They contain the net amount collected, Sangho fees, and partner commissions, and are the source of the Receipts sent to customers.
Transactions cannot be created, modified (except for description
and metadata), or deleted. To return the funds from a
transaction, create a Refund. To
dispute a transaction, contact Sangho support.
Possible statuses
| Status | Meaning | Possible action |
|---|---|---|
approved | Approved by the operator, pending settlement. | Wait — automatically moves to completed. |
pending | Queued for operator processing. | Wait for the transaction.succeeded webhook. |
completed | Payment successful — funds captured and available. | Deliver the service/product. Refund possible. |
failed | Payment failed on the operator's side. | Notify the customer, offer another method. |
refunded | Full refund issued. | None — transaction closed. |
disputed | Transaction disputed by the customer or the operator. | Contact support with evidence. |
canceled | Transaction canceled before processing. | Create a new Payment Intent if needed. |
Endpoints
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /transactions/ | List transactions (paginated, filterable) |
| GET | /transactions/{id}/ | Retrieve a transaction by its ID |
| PATCH | /transactions/{id}/ | Update description and metadata only |
| POST | /transactions/{id}/cancel/ | Cancel a transaction in pending status |
Object schema
List transactions
Returns a paginated list of all transactions for your App. This is the primary endpoint for accounting reports, reconciliations, and exports.
statusOptionnelFilter by status. Multiple values separated by a comma:
status=completed,refunded.
typeOptionnelFilter by transaction type.
En savoir plus
Possible values: deposit (incoming payment),
refund (refund),
payout (outgoing transfer),
withdraw (withdrawal),
transfer (internal transfer).
payment_method_typeOptionnelFilter by payment method used:
mobile_money, bank_card,
paypal.
currencyOptionnelFilter by currency.
customerOptionnelFilter by Customer ID or email. Returns all transactions linked to this customer.
min_amountOptionnelMinimum amount (inclusive) in cents. Useful for filtering transactions above a threshold.
max_amountOptionnelMaximum amount (inclusive) in cents.
created_afterOptionnelStart date of the time range (inclusive).
created_beforeOptionnelEnd date of the time range (inclusive).
searchOptionnelText search on the transaction description. Partial match, case-insensitive.
orderingOptionnelSorting. Available fields: created_at,
amount, net_amount,
status.
pageOptionnelPage number.
page_sizeOptionnelResults per page. Maximum: 100.
En savoir plus
For accounting exports or reconciliations, combine
page_size=100 with created_after and
created_before to paginate over a precise period.
To export all transactions for a month, combine
created_after=2026-03-01T00:00:00Z,
created_before=2026-03-31T23:59:59Z,
status=completed,
type=deposit, and paginate with
page_size=100 until you run out of pages.