Prima di iniziare
Hai bisogno di una capability di pay-in ready e di un wallet emesso di destinazione ready per lo stesso cliente. Completa qualsiasi lavoro aperto tramite Capability e task, quindi rileggi entrambe le risorse.1. Crea un quote
Crea il prezzo conPOST /v3/quotes. Invia questi header:
data.id come QUOTE_ID. Presenta gli importi e le fee restituiti invece di ricalcolarli dal tasso.
2. Esegui il quote
Esegui il quote corrente prima della scadenza conPOST /v3/transfers. Usa una nuova chiave per questo transfer previsto:
data.id del transfer come TRANSFER_ID e conserva il suo stato corrente.
Aggiungi un URL di ritorno per carta e Apple Pay
Per un quote con carta o Apple Pay, puoi includere unredirectUrl opzionale nella stessa richiesta. Dopo che il cliente ha completato il checkout hosted, la pagina di checkout apre questo URL per riportare il cliente nella tua app.
redirectUrl deve essere un URL HTTPS assoluto di al massimo 2048 caratteri e non deve contenere credenziali incorporate. Inviare redirectUrl per un quote che non supporta la navigazione di ritorno fallisce la validazione invece di essere ignorato.
L’arrivo su redirectUrl è solo navigazione del browser. Non conferma che il pagamento o il transfer sia stato completato. Determina il completamento dallo stato del transfer nel passo 4 e dagli eventi webhook.
Preseleziona il metodo di checkout per un quote con carta
Per un quote con carta, puoi includere uncheckoutMethod opzionale nella stessa richiesta per scegliere con quale opzione di pagamento si apre il checkout hosted. I valori attuali sono card, apple_pay, google_pay, cash_app, sepa e blik. L’elenco è aperto e può crescere, quindi tollera i valori che non riconosci nelle letture del transfer. Il checkout si apre sul metodo richiesto quando è disponibile per il cliente e il suo dispositivo, e il cliente può comunque scegliere qualsiasi altro metodo offerto dal checkout. Omettilo per mantenere la preselezione predefinita.
checkoutMethod è una preferenza, non una garanzia. La disponibilità dipende dal cliente, dal suo dispositivo e dal checkout, quindi richiedere un metodo non lo rende disponibile. Qui sepa e blik sono opzioni di pagamento all’interno del checkout con carta, non capability, rail o conti Swipelux. La preselezione non modifica la capability, gli importi o le commissioni del quote, e il checkout conferma le commissioni finali. Le letture del transfer restituiscono il valore richiesto; non confermano quale metodo ha usato il cliente. Inviare checkoutMethod per un quote che non è un quote con carta fallisce la validazione invece di essere ignorato, e una ripetizione con la stessa chiave di idempotenza deve inviare lo stesso checkoutMethod.
3. Recupera le istruzioni di finanziamento
LeggiGET /v3/transfers/{transferId}/instructions. Renderizza la variante di data.instructions restituita senza assumerne il tipo.
Questi dettagli sono specifici del transfer. Non riutilizzare mai le coordinate bancarie, il codice, l’URL hosted, l’importo, il reference o la scadenza di un transfer per un altro pay-in.
Per le istruzioni bancarie, quando reference.required è true, mostra l’esatto reference.value accanto alle coordinate bancarie e rendilo copiabile. Mostra l’importo e la valuta restituiti dallo stesso set di istruzioni.
Un conto bancario emesso è diverso: fornisce dettagli riutilizzabili per depositi futuri. Consulta Emetti un conto bancario quando quella è l’esperienza desiderata.
4. Traccia il regolamento
LeggiGET /v3/transfers/{transferId} dopo l’esecuzione e dopo ogni evento. Guida lo stato visibile al cliente dal data.state più recente.
Usa data.stateDetail e data.openTaskIds quando il transfer necessita di un’altra azione. Non marcarlo come completo da una tempistica prevista.
Successivamente, aggiungi i Webhook e mantieni sincronizzato lo stato del transfer finché non raggiunge un risultato che il tuo prodotto gestisce.