Prima di iniziare
Rileggi il wallet sorgente. Conferma che il suo stato corrente consenta il payout e che il saldo disponibile copra l’importo sorgente previsto. Salva il suo ID derivato dalla risposta comeSOURCE_WALLET_ID.
Hai bisogno anche di una capability di payout ready per il cliente corrente e la destination selezionata.
I wallet Tron esistenti possono inviare USDT a un altro wallet Tron con un quote stablecoin_transfers. Input e output devono usare la stessa rete e la stessa stablecoin. Non puoi creare nuovi wallet emessi su Tron.
1. Prepara la destination
- Prima parte
- Terze parti
Usa un conto bancario esterno di proprietà del cliente quando il cliente possiede l’endpoint. Crealo con Leggilo con
POST /v3/customers/{customerId}/accounts e questi header:Request headers
Request body
GET /v3/customers/{customerId}/accounts/{accountId}. Prosegui solo quando il suo stato corrente consente il payout. Salva il suo ID acc_ come PAYOUT_DESTINATION_ID.2. Crea il quote di payout
UsaPOST /v3/quotes con questi header:
Request headers
Request body
data.id come QUOTE_ID e presenta prezzo e fee restituiti.
Scegli una route bancaria
Per un payout da crypto a fiat, puoi impostare il campo opzionaleinstitutionId per richiedere una route bancaria approvata per il cliente. Omettilo per usare il routing automatico.
Request body with institutionId
- Un
institutionIdesplicito non ripiega mai su un’altra banca. Quando la banca selezionata non ha una route ready per questo cliente, questa capability e questa destination,POST /v3/quotesrestituisce422bank_not_supported_for_customercon il puntatore/institutionId. institutionIdè valido solo nei quote di payout da crypto a fiat. Inviarlo in un quote di pay-in, carta o trasferimento di stablecoin restituisce400validation_error.- Le letture di quote e transfer riportano l’
institutionIddella route selezionata, anche quando è stata selezionata automaticamente, se la banca può essere identificata.
Payout SWIFT
In produzione, i payout SWIFT in USD richiedono una capability SWIFT ready che supporti i payout (swift_pooled o swift_named) e sono finanziati con USDC su Ethereum, Base o Polygon, oppure con USDT su Ethereum o Polygon. L’importo per il destinatario al netto delle fee deve essere di almeno 100.00 USD.
Una destination SWIFT richiede l’indirizzo stradale della banca in bankAddress, bankCity, bankState e bankPostalCode. Il paese del BIC deve corrispondere al paese della banca. Swipelux ricava l’indirizzo del beneficiario dal profilo del cliente o del recipient.
Payout Pix
Le destination dei recipient Pix e Pix Safe ricevono BRL. Crea il quote del payout con la capability Pix del cliente in stato ready (pix_pooled), finanzialo con USDC e imposta out.currency su BRL. USDT non può finanziare un payout in BRL.
Un payout Pix non può includere una developer fee. Se l’account sorgente ha developer fee, imposta fees.breakdown.developer su {"fixed": "0.00", "bips": 0} nella richiesta di quote. In caso contrario, POST /v3/quotes restituisce 400 validation_error.
Swipelux prezza il quote solo dopo che le coordinate bancarie della destination sono state approvate. Mentre sono in fase di verifica, POST /v3/quotes restituisce 400 validation_error con un detail che indica che la destination è ancora in verifica, quindi richiedi un nuovo quote al termine della verifica. Se le coordinate bancarie sono state rifiutate o la configurazione della destination è incompleta, il detail chiede invece di contattare il supporto, e i nuovi quote continuano a fallire finché il supporto non completa la configurazione. Se la verifica non può essere controllata, restituisce 503 quote_temporarily_unavailable; riprova più tardi.
3. Esegui il payout
Crea il transfer conPOST /v3/transfers. Usa una nuova chiave per questa esecuzione prevista:
Request headers
Request body
data.id del transfer come TRANSFER_ID. Una creazione riuscita avvia il payout; non prova la consegna.
4. Traccia la consegna
LeggiGET /v3/transfers/{transferId} dopo la creazione e dopo ogni evento. Usa gli ultimi data.state, data.stateDetail e data.openTaskIds per decidere se attendere, agire o mostrare un risultato terminale.
Successivamente, consulta Quote e transfer per gli importi esatti, il recovery sicuro dell’esecuzione e i task del transfer.