Tino Developers
POST/service/@id/tinopay/sapo-integrations/test

Test the Sapo connection

Before saving: body store_url, api_key, api_secret of the private app on Sapo; when editing, send integration_id instead of api_secret to use the saved secret. Returns HTTP 200 {connected, error}; with connected: false, error gives the reason.

Merchant API · Updated 2026-10-22View .md

A TinoPay service route: call it with the service owner's sign-in token; the /v1 gateway (app tokens, personal tokens) does not expose TinoPay yet. See Getting started with TinoPay.

Authentication

Send the token in the header Authorization:

Authorization: Bearer <token>

Tokens that can call it: the TinoPay service owner's sign-in token (the tino.vn client area token).

Parameters

Path parameters

NameTypeRequiredDescription
idintRequiredTinoPay service ID

Body (JSON)

NameTypeRequiredDescription
store_urlstring—<tên-cửa-hàng>.mysapo.net
api_keystring——
api_secretstring——
integration_idint——

Response

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

Error codes

Error codeDescription
404 · service_not_found, invalid methodThe service does not belong to the signed-in account, or is not TinoPay.
403 · service_not_activeThe service is neither Active nor Suspended.
403 · MERCHANT_SUSPENDEDThe merchant is suspended: writes are blocked, GET still works.
404 · RESOURCE_NOT_FOUNDThe resource does not exist or does not belong to the merchant.
422 · VALIDATION_FAILEDInvalid data; details lists the fields.
502 · NETWORK_ERROR…, 504The connection between Tino and the partner is interrupted (504: HTML body, request took too long): a Tino-side error, not a token problem. Keep the token, retry later.

Errors look like {"error": ["<CODE>"], "message", "details", "request_id"}; every code is in Getting started with TinoPay.