Solana e Tron
As redes Solana e Tron aparecem em GET /api/v1/networks junto com as redes EVM, com family definido como solana ou tron. Leia seus tokens, casas decimais e minimum_payment pela API; não mantenha sua própria lista. Endereços nessas redes usam seu próprio formato base58 em requisições, respostas e webhooks.
Como elas diferem da EVM
Seção intitulada “Como elas diferem da EVM”| EVM | Solana | Tron | |
|---|---|---|---|
| Endereço de pagamento | Um endereço de contrato. O destinatário fica fixado na blockchain quando o endereço é criado. | Uma chave por pagamento, mantida pelo signatário do Invoise. | Uma chave por pagamento, mantida pelo signatário do Invoise. |
| Custódia | Os fundos só podem ir para o destinatário fixado na blockchain, menos a taxa. | O Invoise só retém um pagamento até repassá-lo ao seu destinatário. | O Invoise retém um pagamento até repassá-lo. Não há contrato de pagamento. |
| Destinatário | O recipient da loja |
PUT /shops/{shop_id}/solana-recipient |
PUT /shops/{shop_id}/tron-recipient |
| Delegado | Opcional | Nenhum | Nenhum |
| Loja sandbox | Sim | Não: 400 solana_sandbox_unavailable |
Sim |
O Invoise ativa a Tron para um lojista sob demanda; peça ao suporte. O minimum_payment dela é maior do que nas outras redes.
Defina o destinatário
Seção intitulada “Defina o destinatário”Uma loja precisa de um destinatário Solana ou Tron antes de poder emitir nessa rede. Sem um, criar uma fatura ou depósito retorna 400 solana_setup_required ou 400 tron_setup_required.
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>"}'Use /tron-recipient para a Tron. Defini-lo exige uma sessão de proprietário; uma chave de API da loja só pode lê-lo. GET no mesmo caminho retorna {"address":"..."}, com um endereço vazio até que um seja definido.
O destinatário é definido uma única vez. Enviar o mesmo endereço novamente funciona; outro endereço retorna 400 shop_addresses_immutable. Verifique o endereço antes de salvá-lo.
| Rede | Regras |
|---|---|
| Solana | Use uma carteira comum, não um endereço derivado de programa e não um endereço do Invoise: invalid_solana_address. A carteira já deve ter uma conta para o token; caso contrário, criar uma fatura ou depósito retorna solana_recipient_token_account_required. Receba esse token nela uma vez primeiro. |
| Tron | Um endereço malformado retorna invalid_tron_address ou invalid_tron_checksum; um endereço do Invoise retorna invalid_tron_recipient. O lojista precisa ter a Tron ativada, caso contrário merchant_network_disabled. |
Pagando na carteira Invoise
Seção intitulada “Pagando na carteira Invoise”A carteira Invoise vive em redes EVM. Uma loja criada com destino de repasse wallet também envia seus pagamentos em Solana para lá: o Invoise faz a ponte deles até a carteira em uma rede EVM. Quando a ponte não é possível, emitir na Solana retorna 400 solana_bridge_unavailable. GET /merchants/{merchant_id}/networks mostra wallet_bridge: true em uma rede Solana que pode fazer a ponte.
Pagamentos em Tron não chegam à carteira. Escolher a carteira para a Tron é recusado enquanto nenhuma ponte Tron estiver pronta, e emitir na Tron para uma loja cujos repasses em Tron vão para a carteira retorna 400 tron_bridge_unavailable. Mantenha a Tron no seu próprio endereço.
Escolha por família de rede com PATCH /shops/{shop_id}: solana_payout_target e tron_payout_target aceitam address ou wallet. Veja a referência da API.