---
title: "Recover an uncertain payment | Timbro"
description: "Confirm what happened before collecting again"
canonical: "https://timbro.do/en/docs/produccion/recuperar-pago-incierto/"
---

Webhooks and errors

# Recover an uncertain payment

A timeout does not prove that the payment failed. Keep the order pending until you confirm the outcome. In Python, the error has `outcome_unknown` set to `True`.

## If you got no response when creating the payment

Send the saved request again with the same `paymentReference` and the same data. You will get the same payment. [Retry without creating another payment](https://timbro.do/en/docs/cobros/reintentos-e-idempotencia/)

To find it without sending the request again, list payments with the exact `paymentReference` filter. The page holds at most that one payment:

- [TypeScript](https://timbro.do/en/docs/produccion/recuperar-pago-incierto/#tab-panel-0-0)
- [Python](https://timbro.do/en/docs/produccion/recuperar-pago-incierto/#tab-panel-0-1)

```ts
import { createTimbroPayments } from "@timbro/payments";

const timbro = createTimbroPayments({ apiKey: process.env.TIMBRO_PAYMENTS_SECRET_KEY! });

export async function findPayment(paymentReference: string) {
  const page = await timbro.payments.list({ paymentReference });
  return page.data.at(0);
}
```

```python
import os

from timbro_payments import TimbroPayments
from timbro_payments.types import Payment

timbro = TimbroPayments(api_key=os.environ["TIMBRO_PAYMENTS_SECRET_KEY"])


def find_payment(payment_reference: str) -> Payment | None:
    page = timbro.payments.list(payment_reference=payment_reference)
    return page["data"][0] if page["data"] else None
```

If the page is empty, send the saved request again with the same reference. It cannot create a second payment.

## If you already have the id

- [TypeScript](https://timbro.do/en/docs/produccion/recuperar-pago-incierto/#tab-panel-1-0)
- [Python](https://timbro.do/en/docs/produccion/recuperar-pago-incierto/#tab-panel-1-1)

```ts
const payment = await timbro.payments.retrieve("payment_123456789abcdefghjkmnpqr");
```

```python
payment = timbro.payments.retrieve("payment_123456789abcdefghjkmnpqr")
```

- `succeeded`: confirm the reference, currency, and amount, then apply the payment once.
- `processing` or `verifying`: wait and retrieve the same payment again. Do not start another collection.
- `requires_customer_action`: the payment is still open. With `lastDecline`, the last attempt was declined and the customer can try again from `checkout.url`.
- `canceled` or `expired`: the payment has ended. Before you create another one, check whether any part is still pending, especially in a split payment.

Space out retrievals and use [webhooks](https://timbro.do/en/docs/cobros/webhooks/) to receive updates. If the outcome remains unresolved or retrieval also fails, leave the order under review and write to us with the payment `id`, `paymentReference`, the mode (Test or Live), and `Request-Id` if you have it.

`checkout.url` remains the link for the original payment and may show its verification or result. Resending the reference of a payment that has ended does not create a new payment.

[Previous\
Retry without creating another payment](https://timbro.do/en/docs/cobros/reintentos-e-idempotencia/)[Next\
What is available](https://timbro.do/en/docs/produccion/capacidades/)

Sell, serve your customers, and collect payments from your phone

© 2026 Timbro. All rights reserved

[Español](https://timbro.do/docs/produccion/recuperar-pago-incierto/)[English](https://timbro.do/en/docs/produccion/recuperar-pago-incierto/)

## Products

[Invoicing](https://timbro.do/en/facturacion-electronica/)[Serve](https://timbro.do/en/atiende/)[Collect](https://timbro.do/en/pagos/)[Portal Timbro](https://timbro.do/en/portal-timbro/)[Integrations](https://timbro.do/en/integraciones/)[Cuenta Timbro](https://timbro.do/en/cuenta-timbro/)[Pricing](https://timbro.do/en/precios/)

## Developers

[SDKs and API](https://timbro.do/en/desarrolladores/)[Documentation](https://timbro.do/en/docs/)[API reference](https://timbro.do/en/docs/reference/payments/)

## Company

[INDEXA, the company behind Timbro](https://indexa.do/)[Presentations](https://timbro.do/en/presentaciones/)

## Help

[How to start](https://timbro.do/en/como-empezar/)[Electronic invoicing guide](https://timbro.do/en/guias/facturacion-electronica-republica-dominicana/)[Contact](https://timbro.do/en/contacto/)<hola@timbro.do>

## Legal

[Business Terms](https://timbro.do/en/politicas/negocios/)[Terms of use](https://timbro.do/en/politicas/uso/)[Privacy](https://timbro.do/en/politicas/privacidad/)[Security](https://timbro.do/en/politicas/seguridad/)[All documents](https://timbro.do/en/politicas/)
