Ir al contenido

Solana y Tron

Las redes Solana y Tron aparecen en GET /api/v1/networks junto a las redes EVM, con family definido como solana o tron. Consulta sus tokens, decimales y minimum_payment en la API; no mantengas tu propia lista. Las direcciones en estas redes usan su propio formato base58 en solicitudes, respuestas y webhooks.

EVM Solana Tron
Dirección de pago Una dirección de contrato. El destinatario queda fijado en la cadena al crear la dirección. Una clave por pago, en manos del firmante de Invoise. Una clave por pago, en manos del firmante de Invoise.
Custodia Los fondos solo pueden ir al destinatario fijado en la cadena, menos la comisión. Invoise retiene un pago solo hasta que lo transfiere a tu destinatario. Invoise retiene un pago hasta que lo transfiere. No hay contrato de pago.
Destinatario El recipient de la tienda PUT /shops/{shop_id}/solana-recipient PUT /shops/{shop_id}/tron-recipient
Delegado Opcional Ninguno Ninguno
Tienda sandbox No: 400 solana_sandbox_unavailable

Invoise activa Tron para un comercio a petición; pídeselo a soporte. Su minimum_payment es más alto que en otras redes.

Una tienda necesita un destinatario de Solana o Tron antes de poder emitir en esa red. Sin uno, crear una factura o depósito devuelve 400 solana_setup_required o 400 tron_setup_required.

Ventana de terminal
curl -X PUT 'https://platform.invoise.me/api/v1/shops/{shop_id}/solana-recipient' \
-H 'Authorization: Bearer <session-token>' \
-H 'Idempotency-Key: <saved-unique-key>' \
-H 'Content-Type: application/json' \
-d '{"address":"<your-solana-wallet>"}'

Usa /tron-recipient para Tron. Configurarlo necesita una sesión de propietario; una clave de API de tienda solo puede leerlo. GET en la misma ruta devuelve {"address":"..."}, con una dirección vacía hasta que se configure una.

El destinatario se configura una sola vez. Enviar la misma dirección de nuevo tiene éxito; otra dirección devuelve 400 shop_addresses_immutable. Comprueba la dirección antes de guardarla.

Red Reglas
Solana Usa una billetera normal, no una dirección derivada de un programa ni una dirección de Invoise: invalid_solana_address. La billetera ya debe tener una cuenta para el token; si no, crear una factura o depósito devuelve solana_recipient_token_account_required. Recibe primero ese token ahí una vez.
Tron Una dirección con formato incorrecto devuelve invalid_tron_address o invalid_tron_checksum; una dirección de Invoise devuelve invalid_tron_recipient. El comercio necesita tener Tron activado, si no, merchant_network_disabled.

La billetera de Invoise vive en redes EVM. Una tienda creada con destino de pago wallet también envía ahí sus pagos de Solana: Invoise los transfiere mediante un puente a la billetera en una red EVM. Cuando el puente no es posible, emitir en Solana devuelve 400 solana_bridge_unavailable. GET /merchants/{merchant_id}/networks muestra wallet_bridge: true en una red Solana que admite el puente.

Los pagos de Tron no llegan a la billetera. Elegir la billetera para Tron se rechaza mientras no haya un puente de Tron listo, y emitir en Tron para una tienda cuyos pagos de Tron van a la billetera devuelve 400 tron_bridge_unavailable. Mantén Tron en su propia dirección.

Elige por familia de red con PATCH /shops/{shop_id}: solana_payout_target y tron_payout_target aceptan address o wallet. Consulta la referencia de la API.