Solana und Tron
Solana- und Tron-Netzwerke werden in GET /api/v1/networks neben EVM-Netzwerken aufgeführt, mit family auf solana oder tron gesetzt. Lesen Sie deren Token, Dezimalstellen und minimum_payment aus der API; führen Sie keine eigene Liste. Adressen in diesen Netzwerken verwenden ihr eigenes Base58-Format in Anfragen, Antworten und Webhooks.
Unterschiede zu EVM
Abschnitt betitelt „Unterschiede zu EVM“| EVM | Solana | Tron | |
|---|---|---|---|
| Zahlungsadresse | Eine Contract-Adresse. Der Empfänger ist beim Erstellen der Adresse on-chain fest zugewiesen. | Ein Schlüssel pro Zahlung, gehalten vom Invoise-Signer. | Ein Schlüssel pro Zahlung, gehalten vom Invoise-Signer. |
| Verwahrung | Mittel können nur an den on-chain fest zugewiesenen Empfänger gehen, abzüglich der Gebühr. | Invoise hält eine Zahlung nur, bis sie an Ihren Empfänger weitergeleitet wird. | Invoise hält eine Zahlung, bis sie weitergeleitet wird. Es gibt keinen Zahlungscontract. |
| Empfänger | Der recipient des Shops |
PUT /shops/{shop_id}/solana-recipient |
PUT /shops/{shop_id}/tron-recipient |
| Delegierter | Optional | Keiner | Keiner |
| Sandbox-Shop | Ja | Nein: 400 solana_sandbox_unavailable |
Ja |
Invoise schaltet Tron für einen Händler auf Anfrage frei; fragen Sie den Support. Seine minimum_payment ist höher als bei anderen Netzwerken.
Den Empfänger festlegen
Abschnitt betitelt „Den Empfänger festlegen“Ein Shop benötigt einen Solana- oder Tron-Empfänger, bevor er in diesem Netzwerk ausstellen kann. Ohne einen gibt das Erstellen einer Rechnung oder Einzahlung 400 solana_setup_required oder 400 tron_setup_required zurück.
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>"}'Verwenden Sie /tron-recipient für Tron. Das Festlegen erfordert eine Inhaber-Sitzung; ein Shop-API-Schlüssel kann ihn nur lesen. GET auf demselben Pfad gibt {"address":"..."} zurück, mit einer leeren Adresse, bis eine festgelegt wird.
Der Empfänger wird einmalig festgelegt. Das erneute Senden derselben Adresse ist erfolgreich; eine andere Adresse gibt 400 shop_addresses_immutable zurück. Prüfen Sie die Adresse, bevor Sie sie speichern.
| Netzwerk | Regeln |
|---|---|
| Solana | Verwenden Sie eine gewöhnliche Wallet, keine Program Derived Address und keine Invoise-Adresse: invalid_solana_address. Die Wallet muss bereits ein Konto für den Token besitzen; andernfalls gibt das Erstellen einer Rechnung oder Einzahlung solana_recipient_token_account_required zurück. Empfangen Sie diesen Token dort zunächst einmal. |
| Tron | Eine fehlerhafte Adresse gibt invalid_tron_address oder invalid_tron_checksum zurück; eine Invoise-Adresse gibt invalid_tron_recipient zurück. Der Händler benötigt aktiviertes Tron, sonst merchant_network_disabled. |
Einzahlung in die Invoise-Wallet
Abschnitt betitelt „Einzahlung in die Invoise-Wallet“Die Invoise-Wallet läuft auf EVM-Netzwerken. Ein mit dem Auszahlungsziel wallet erstellter Shop sendet auch seine Solana-Zahlungen dorthin: Invoise überbrückt sie in die Wallet auf einem EVM-Netzwerk. Wenn eine Überbrückung nicht möglich ist, gibt das Ausstellen auf Solana 400 solana_bridge_unavailable zurück. GET /merchants/{merchant_id}/networks zeigt wallet_bridge: true bei einem Solana-Netzwerk, das überbrücken kann.
Tron-Zahlungen erreichen die Wallet nicht. Die Wahl der Wallet für Tron wird abgelehnt, solange keine Tron-Bridge bereit ist, und das Ausstellen auf Tron für einen Shop, dessen Tron-Auszahlungen an die Wallet gehen, gibt 400 tron_bridge_unavailable zurück. Belassen Sie Tron bei einer eigenen Adresse.
Wählen Sie pro Netzwerkfamilie mit PATCH /shops/{shop_id}: solana_payout_target und tron_payout_target nehmen address oder wallet entgegen. Siehe die API-Referenz.