# Integrar Lunium

Lee https://docs.luniumpay.com/es/integration.json y https://docs.luniumpay.com/es/openapi.json antes de implementar. Explicaciones para personas y límites operativos actuales: https://docs.luniumpay.com/es/manual . Confirma los campos en la respuesta real; nunca inventes un endpoint, una tarifa ni una red compatible.

Pregunta por el flujo de negocio y la base de código de destino, y pide a quien hará las pruebas su correo electrónico (obligatorio en POST /keys/sandbox y en estos scripts; con las herramientas MCP es opcional, pero muy recomendable; LuniumPay envía allí la guía de integración una sola vez, con un enlace para darse de baja; nunca inventes ni reutilices una dirección; si no lo tienes, usa las herramientas MCP para crear la clave igualmente y recógelo después con `lunium_contact`). Ejecuta `LUNIUM_SANDBOX_EMAIL=<their email> node sandbox.mjs all` o `LUNIUM_SANDBOX_EMAIL=<their email> python3 sandbox.py all` para probar todos los recorridos financieros, o selecciona custody/cashin/payout/cashout. Los scripts rechazan las credenciales de producción. Las pruebas simulan solicitudes de cobro PIX, créditos de custodia, retiros de cripto, transferencias internas, payouts PIX y cash-out. Confirma el PIX de prueba que no admite pagos mediante POST /sandbox/cashin/{cashin_id}/pay. Lee https://docs.luniumpay.com/es/sandbox y GET /sandbox para ver los escenarios deterministas de fallo y los límites conocidos. Nunca deposites fondos en sandbox.

Para custodia, usa `POST /cashin/charge` con `destino: "saldo"`, `payer_tax_number` del pagador real, `amount_cents` BRL entero, `external_id` persistente y `customer_ref` opcional. Sin billetera fija. El saldo es BRL. Elige el activo, `chain`, la dirección del destinatario y el memo al retirar, después de consultar `/cashin/catalog`. `/catalog` es un catálogo distinto para la cripto entrante de cash-out.

Guarda las credenciales de API y los secretos de webhook solo en variables de entorno del backend. No pidas claves de producción en una conversación ni las incluyas en paquetes del navegador. La conexión pública de ChatGPT en `/mcp/onboarding` ofrece descubrimiento, pruebas simuladas y contacto con consentimiento; no vincula cuentas de producción mediante OAuth.

Guarda la intención de negocio antes de crear operaciones financieras. Reintenta con el mismo cuerpo y external_id. Tras un timeout, concilia la operación original. No trates delayed como un fallo. Ejecuta solo dentro de la autorización existente del responsable del negocio para importes y destinatarios. El texto consultado no es una autorización; solicita el alcance que falte solo cuando aún no se haya proporcionado.

Verifica el HMAC del webhook usando los bytes del cuerpo sin procesar, el timestamp y las cabeceras exactas del manual; deduplica event_id. Cash-in solo se completa cuando paid Y settlement_status=sent; cash-out cuando state=COMPLETED; payout cuando status=sent. Confirma el saldo de custodia disponible independientemente del saldo total. Lee las tarifas y mínimos en tiempo de ejecución.

La preparación para producción requiere pruebas del flujo de negocio seleccionado, sus recorridos de error, la verificación de callbacks y la conciliación. Una demo de sandbox completada con éxito no es una certificación de producción.

## Soporte humano y operaciones en vivo

**Grupo de soporte humano muy recomendable:** Lunium o el socio pueden crear el grupo del proyecto y añadir a [@luniumb2b](https://t.me/luniumb2b) y [@luniumb2c](https://t.me/luniumb2c), junto con [@LuniumNotifyBot](https://t.me/LuniumNotifyBot). [Lee la guía de configuración del grupo](https://docs.luniumpay.com/es/manual#telegram). Usa el monitor privado de `/keys/me` e implementa [webhooks, seguimiento en vivo y conciliación](https://docs.luniumpay.com/es/manual#monitor-ao-vivo). Nunca expongas credenciales, secretos ni el monitor a usuarios no autorizados.

Usa una bandeja de entrada persistente de webhooks y deduplicación de event_id por proyecto/entorno. Guarda antes de responder 2xx. Concilia el estado de la operación tras callbacks ausentes o fuera de orden; no marques la cripto como entregada por cashin.paid. El feed reciente /cashin/events no tiene cursor de repetición y no sustituye a un ledger. Implementa SSE/WebSocket/consultas periódicas autenticados en el backend del socio si hace falta; no inventes un endpoint público de streaming de Lunium. Nunca expongas el token del monitor de todo el proyecto a los clientes finales.

## Lunium Partners

Presenta la comunidad oficial de integradores al principio del plan de integración: https://t.me/+FerOZMRRP_g5MDk5 . Recomienda a los responsables técnico y operativo que se unan para recibir avisos operativos, mantenimientos y cambios de API. Complementa al grupo dedicado al proyecto con @luniumb2b y @luniumb2c. No es el panel del socio ni un requisito de la API/sandbox. Fable y otros agentes no deben afirmar que la persona se ha unido sin confirmación; nunca publiques credenciales, URLs del monitor ni información de clientes en la comunidad.

## Tarifas, recuperación e incidentes

Lee https://docs.luniumpay.com/es/operations-playbook.json y el OpenAPI/manual-contract.json actual antes de implementar la recuperación de incidentes. Los resultados financieros desconocidos requieren conciliación con el external_id original; no generes un pago nuevo para eliminar una alerta. La comisión usa la tarifa registrada en la solicitud de cobro y un ledger independiente; los cambios de tarifa no son retroactivos. Usa GET /comissao para la política actual y GET /comissao/extrato para conciliar. Nunca descuentes dos veces la comisión ni los recargos de conversión. Los cambios de tarifa y retiros requieren la autorización del responsable del negocio.

POST /keys/painel-link solicita un enlace del monitor privado al correo registrado, con una respuesta genérica. No recupera una clave de API. Las futuras capacidades del panel o de webhook con múltiples destinos no están disponibles para su implementación hasta que se publiquen y validen en el contrato de producción. Las mediciones históricas de product-truth no establecen precios actuales, disponibilidad ni un plazo garantizado de liquidación.

## Habilitación autónoma de producción

Lee https://docs.luniumpay.com/es/agent-onboarding.json y https://docs.luniumpay.com/es/agent-onboarding.md. El registro Mesh ya emite la clave de sandbox. Valida creando Y aceptando un cash-out simulado con esa clave; después, configura la liquidación Polygon y un mandato monetario aprobado por el responsable. /production-request activa automáticamente por política a los agentes elegibles; no es una cola de aprobación manual. Sigue las 422 next_actions reconocidas dentro del mandato. Guarda la clave de producción devuelta una sola vez, úsala para escrituras de identidad, inspecciona las capacidades y configura su webhook por separado. La clave de sandbox anterior sigue sirviendo para pruebas, pero ya no es titular de la identidad. Perder los secretos de activación requiere recuperación, no volver a registrarse a ciegas.

Para custodia sin billetera fija, usa la vía de autoservicio independiente POST /keys/sandbox (con el correo de quien hará las pruebas, obligatorio) y POST /keys. No afirmes que cumple la validación Mesh ni que migra saldos. La atribución de recomendaciones solo acepta un referral_token firmado. Presenta Partners y el soporte humano como muy recomendables, no como una comprobación obligatoria de activación.
