# Sapo reconciliation log

`GET /service/@id/tinopay/sapo-order-logs` · TinoPay, service owner's sign-in token

Transactions matched against Sapo orders. Query: `integration_id`, `transaction_id`, `status`, `page`, `per_page`. `status`: `paid` (recorded; `message` notes any overpayment), `underpaid` (underpaid, not recorded), `already_paid` (order already paid), `not_found` (no order for the code in the transfer content), `cancelled` (order cancelled), `error` (Sapo refused or could not be reached, see `message`). To reconcile a transaction again: [resend the transaction's webhook](/en/docs/api/tinopay-post-transactions-transaction-resend-webhook); a paid order is never recorded twice.

## HTTP request

| Item | Value |
| --- | --- |
| URL | `https://api.tino.vn/service/@id/tinopay/sapo-order-logs` |
| Method | `GET` |
| Authentication | the TinoPay service owner's sign-in token (`Authorization: Bearer <token>`); the `/v1` gateway does not expose TinoPay yet |
| Content-Type | — (no body) |

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | int | yes | TinoPay service ID |
| `integration_id` | query | int | — | — |
| `transaction_id` | query | int | — | — |
| `status` | query | string | — | — |
| `page` | query | int | — | — |
| `per_page` | query | int | — | — |

## Example request

```bash
curl "https://api.tino.vn/service/100001/tinopay/sapo-order-logs" \
  -H "Authorization: Bearer $TINO_TOKEN"
```

`$TINO_TOKEN` is the TinoPay service owner's sign-in token. Path parameters in the example are sample values.

SDK ([SDK & examples](/en/docs/sdk)): no dedicated function yet, use `client.request("GET", "/service/@id/tinopay/sapo-order-logs")`.

## Example response

```json
{
 "data": [
  {
   "id": 801,
   "integration_id": 4,
   "transaction_id": 98213,
   "sapo_order_id": 1002,
   "order_name": "#1002",
   "amount": 150000,
   "order_total": 150000,
   "status": "paid",
   "message": null,
   "created_at": "2026-10-24T10:00:00+07:00"
  }
 ],
 "meta": {
  "page": 1,
  "per_page": 20,
  "total": 1,
  "last_page": 1
 }
}
```

Sample built from the TinoPay API v1 documentation (Tino relays TinoPay data as is); values are examples.
