pagos

Preparar el pago de un plan (un mes o un año) con el botón de Payphone por redirección (roles owner/admin)

Paga un periodo del ciclo elegido: anual (precio del catálogo) o mensual (el anual entre 10). El monto se calcula en servidor desde el catálogo de planes + IVA 15% (con crédito de prorrateo si aplica). Con renovacionAutomatica el cliente consiente guardar la tarjeta: si Payphone entrega el token al confirmar (solo Visa y Mastercard pagadas con tarjeta), las renovaciones se cobran solas cada periodo. El mensual exige renovacionAutomatica. Llama al POST /api/button/Prepare de Payphone y devuelve paymentId más los dos enlaces hospedados. El navegador se redirige TOP-LEVEL a payWithCard o payWithPayPhone: no se embebe nada, por lo que Contadeo nunca ve el número de tarjeta. Los enlaces CADUCAN A LOS 10 MINUTOS. 400 si el mensual llega sin renovación, si la tarjeta guardada no está disponible, o si se pide mensual con un plan anual vigente de más de 31 días. 409 si el tenant ya tiene una suscripción viva con dLocal. 503 si la pasarela no está configurada o el kill-switch PAYPHONE_HABILITADO está apagado. Con complementos se suma al importe el precio del complemento (Gestión: 99/año o 9,90/mes sin IVA); renovar sin marcarlo lo RETIRA. 400 también si un complemento no existe, si se pide tipo: "complemento" sin un plan de pago vigente con fecha, o si ese complemento ya está activo.

post/pagos/payphone/checkout

Request

  • Base URL: https://contadeo.com/api
  • URL: https://contadeo.com/api/pagos/payphone/checkout
  • Auth: HTTP bearer

Request body

plan'emprendedor' | 'pyme' | 'empresa' required
ciclo'mensual' | 'anual'
renovacionAutomaticaboolean

Guardar la tarjeta y renovar solo. Obligatoria en el mensual.

rucFacturacionstring

RUC al que facturar; si falta, el emisor de la cuenta

complementosstring[]

Complementos que se compran ('gestion' concede ATS, contabilidad y nómina). El precio lo pone el servidor desde el catálogo. Un código desconocido responde 400.

tipo'complemento'

Con complemento se cobra SOLO el complemento, prorrateado por los días que le quedan al periodo ya pagado, y planExpiraAt no se mueve. Exige el plan vigente, de pago y con fecha de vencimiento, y complementos que aún no estén activos. Sin este campo el cobro es del plan, con los complementos marcados.

Response

Enlaces del botón listos; redirigir el navegador a payWithCard o payWithPayPhone

transaccionIdstring uuid
clientTransactionIdstring

Referencia propia generada en servidor; vuelve como query param en el redirect

planstring
paymentIdstring

Identificador del intento que devuelve Prepare

payWithCardstring uri

Enlace hospedado del formulario de tarjeta (redirección top-level)

payWithPayPhonestring uri

Enlace hospedado para pagar con la app Payphone

montoCentavosinteger

Total con IVA en centavos (base + IVA)

baseCentavosinteger

Base neta cobrada en centavos (sin IVA, ya con crédito de prorrateo aplicado)

ivaCentavosinteger

IVA en centavos

creditoCentavosinteger

Crédito de prorrateo aplicado en centavos; 0 si es renovación o no aplica prorrateo

ciclo'mensual' | 'anual'
renovacionAutomaticaboolean
complementosstring[]

Complementos que paga este cobro

tipo'alta' | 'renovacion' | 'mejora' | 'complemento'

Qué se está cobrando; lo decide el servidor: alta (plan free o vencido), renovacion (mismo plan), mejora (plan superior, con prorrateo) o complemento (solo el complemento).

Example response

{
  "clientTransactionId": "ctd1a2b3c4d5e6",
  "plan": "pyme",
  "montoCentavos": 10235,
  "baseCentavos": 8900,
  "ivaCentavos": 1335
}

Changes

No recorded changes to this operation across all 2 revisions of this API.