Integraciones · Proveedores de pagos

Cualquier otro proveedor de pagos, a través de la Payments API.

Tu servidor envía cada pago que registra a POST /api/v1/payments, con una clave de API que puede registrar pagos. Tally lo guarda y lo vincula con la visita del comprador como una venta de un proveedor conectado. El cuerpo de pago de DataFast funciona tal cual, así que al cambiar conservas su código.

Empieza gratis

14 días gratis, sin tarjeta.

01Lo que registra Tally

  • Una venta de cualquier proveedor del que se entere tu servidor, como Gumroad, FastSpring, Dodo Payments, Creem, PayPal o tu propia facturación, enviada con su importe en la unidad principal de la moneda, la moneda y un transaction_id.
  • Renovaciones: un pago con renewal en true y un subscription_id o customer_id sigue al primer pago de la suscripción y conserva su fuente.
  • Reembolsos: con refunded en true, se descuenta el importe enviado del pago que nombra su transaction_id; cada reembolso parcial lleva su propio refund_id.
  • Los impuestos, cuando los envías, se restan del importe; lo que queda se convierte a centavos de dólar estadounidense al tipo del Banco Central Europeo del día del pago.
  • Un transaction_id que el sitio ya registró es un duplicado, así que un pago enviado dos veces cuenta una sola vez.
  • Un timestamp pone fecha al pago, así que uno cobrado antes cuenta en su propio día.

02Cómo encuentra una venta su visita

  • ID de visitanteEnvía la cookie _tally_vid del comprador como tally_visitor_id (también sirven datafast_visitor_id y visitor_id) y el pago se vincula con ese visitante. Confianza alta.
  • EmailEnvía email o customer_email y se convierte en hash al instante, para cotejarlo con una llamada a tally('identify') en tu sitio. Confianza media. Se acepta un nombre, pero nunca se guarda.
  • Renovaciones y reembolsosUna renovación toma el vínculo del primer pago de su suscripción; un reembolso toma el vínculo del pago que revierte.

03Lo que no puede leer

  • No se importa nada: solo llega lo que envía tu servidor, así que los pagos pasados solo cuentan si los envías.
  • En modo sin cookies no hay cookie de visitante que tu servidor pueda leer, así que los pagos enviados solo se vinculan por email.
  • No hay campo de contracargo: la API registra ventas, renovaciones y reembolsos.
  • Las pruebas gratuitas no son ingresos: un pago con importe 0, o con is_free_trial, no registra nada.
  • Un pago del que ya informa un proveedor conectado no debe enviarse también, o la misma venta contará dos veces.

04Enviar pagos

  1. En la página Setup de tu sitio, crea una clave de API y marca Record payments. Una clave sin ese permiso solo lee, y un envío con ella se rechaza con un 403.
  2. Donde tu servidor registre un pago, envíalo a /api/v1/payments con la clave como token Bearer: amount, currency, transaction_id y el ID de visitante o el email del comprador.
  3. Lee el ID de visitante de la cookie _tally_vid en la solicitud que completa la compra, o pásalo desde la página a tu checkout.
  4. La respuesta dice si el pago se registró o si ya lo estaba; un cuerpo que no es un pago recibe un 400 con la frase que explica por qué.
  5. Los pagos enviados aparecen en la página Integrations como la Payments API, y cada uno se vincula con su visita en pocos segundos.

Un pago enviado con cURL

curl https://tallybyoutpost.com/api/v1/payments \
  -H "Authorization: Bearer $TALLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount": 29.99, "currency": "USD", "transaction_id": "order_1042",
       "tally_visitor_id": "the _tally_vid cookie", "email": "buyer@example.com"}'

05Preguntas

  • Vengo de DataFast. ¿Tengo que cambiar mi código de pagos?

    Solo la dirección y la clave. La ruta y el cuerpo de DataFast funcionan tal cual, con amount, currency, transaction_id, datafast_visitor_id, email, renewal y refunded, y su parámetro websiteId se ignora, porque la clave ya identifica el sitio.

  • ¿Desde qué proveedores puedo enviar pagos?

    Cualquier pago que registre tu servidor: Gumroad, FastSpring, Dodo Payments, Creem, PayPal o las facturas que tu propia facturación marca como pagadas. Si tu servidor se entera del pago, por un webhook o por su propio checkout, puede enviarlo.

  • ¿Puedo enviar pagos de antes de empezar?

    Sí. Envía cada uno con su timestamp y cuenta en su propio día; un timestamp en el futuro se rechaza. Nada llega por sí solo, así que el historial es lo que tú envíes.

  • ¿Y si mi servidor envía el mismo pago dos veces?

    El segundo envío se responde como duplicado y no se registra nada nuevo, porque transaction_id identifica el pago dentro del sitio. Reintentar tras agotarse el tiempo de espera es seguro.