Accettare un pagamento Afterpay o Clearpay
Scopri come accettare Afterpay (nota anche come Clearpay nel Regno Unito), una modalità di pagamento utilizzata in Stati Uniti, Canada, Regno Unito, Australia e Nuova Zelanda.
Attenzione
Il contenuto di questa sezione fa riferimento a un prodotto precedente. Per conoscere il percorso di integrazione più recente, consulta la guida Accettare un pagamento. Sebbene Stripe supporti ancora questo prodotto, qualora il prodotto dovesse diventare obsoleto questo tipo di assistenza potrebbe terminare.
Gli utenti Stripe possono usare l’API Payment Intents con un percorso di integrazione unico per creare pagamenti utilizzando qualsiasi modalità supportata per accettare pagamenti Afterpay da clienti nei seguenti Paesi:
- Australia
- Canada
- Nuova Zelanda
- Regno Unito
- Stati Uniti
Afterpay è un metodo di pagamento monouso con notifica immediata che richiede ai clienti di autenticare il pagamento. I clienti vengono reindirizzati al sito Afterpay dove possono accettare i termini di un piano di rateizzazione. Quando il cliente accetta i termini, i fondi vengono garantiti e trasferiti sul tuo account Stripe. Il cliente ripaga direttamente Afterpay nel tempo.
Nota
Prima di avviare l’integrazione, assicurati che il tuo account sia idoneo per Afterpay accedendo alle impostazioni dei metodi di pagamento.
Innanzitutto, devi creare un account Stripe. Registrati ora.
Utilizza le nostre librerie ufficiali per accedere all’API Stripe dalla tua applicazione:
Un PaymentIntent è un oggetto che rappresenta la tua intenzione di riscuotere un pagamento da un cliente e traccia il ciclo di vita del processo di pagamento in ogni sua fase. Innanzitutto crea un PaymentIntent
sul tuo server e specifica l’importo da riscuotere e la valuta. Se hai già un’integrazione che utilizza l’API Payment Intents, aggiungi afterpay_
all’elenco dei tipi di metodi di pagamento per il tuo PaymentIntent
.
Puoi gestire i metodi di pagamento dalla Dashboard. Stripe determina il reindirizzamento ai metodi di pagamento idonei in base a fattori quali l’importo della transazione, la valuta e il flusso di pagamento. Nell’esempio che segue viene utilizzato l’attributo automatic_payment_methods, ma puoi elencare afterpay_
con i tipi di metodi di pagamento. Nell’ultima versione dell’API, specificare il parametro automatic_
è facoltativo perché Stripe ne abilita la funzionalità per impostazione predefinita. Indipendentemente dall’opzione scelta, assicurati di abilitare Afterpay Clearpay nella Dashboard.
Recuperare la chiave privata client
L’oggetto PaymentIntent contiene una chiave privata client, che il lato client usa per completare la procedura di pagamento in modo sicuro. Per specificare la chiave privata sul lato client, puoi utilizzare approcci diversi.
Altre opzioni delle modalità di pagamento
Puoi specificare un parametro reference
facoltativo nelle opzioni dei metodi di pagamento per il tuo PaymentIntent
che imposta un identificativo interno dell’ordine per il pagamento. Sebbene queste informazioni non siano generalmente visibili né all’attività né al cliente, il team di assistenza interno di Afterpay può accedervi durante le richieste di assistenza manuali. L’identificatore ha un limite di 128 caratteri e può contenere solo lettere, cifre, caratteri di sottolineatura, barre rovesciate e trattini.
In questo passaggio, completi i pagamenti Afterpay sul client con Stripe.js.
Configurare Stripe.js
Quando un cliente fa clic per pagare con Afterpay, ti consigliamo di utilizzare Stripe.js per inviare il pagamento a Stripe. Stripe.js è la nostra libreria JavaScript di base per creare i flussi di pagamento. Gestisce automaticamente le operazioni complesse, come il reindirizzamento descritto di seguito. Inoltre ti consente di estendere facilmente la tua integrazione ad altre modalità di pagamento in futuro. Per includere lo script di Stripe.js nella tua pagina di pagamenti, aggiungilo nell’intestazione del file HTML.
Crea un’istanza di Stripe.js con il seguente JavaScript nella pagina di pagamento:
Anziché inviare tutto l’oggetto PaymentIntent al client, utilizza la chiave privata client del passaggio 2. Questa chiave è diversa dalle chiavi API che eseguono l’autenticazione delle richieste API Stripe.
Gestisci la chiave privata client con attenzione in quanto può effettuare l’addebito. Non devi registrarla, inserirla negli URL né mostrarla a nessuno se non al cliente.
Utilizza stripe.confirmAfterpayClearpayPayment per gestire il reindirizzamento dalla tua pagina e completare il pagamento. Aggiungi un return_url a questa funzione per specificare dove Stripe deve reindirizzare l’utente dopo il completamento del pagamento sull’applicazione mobile o il sito web di Afterpay.
Quando il cliente invia un pagamento, Stripe lo reindirizza al return_
e include i seguenti parametri di ricerca dell’URL. La pagina di ritorno può utilizzarli per ottenere lo stato del PaymentIntent in modo da poter mostrare lo stato del pagamento al cliente.
Quando specifichi il parametro return_
, puoi anche aggiungere i tuoi parametri di ricerca da utilizzare nella pagina di ritorno.
Parametro | Descrizione |
---|---|
payment_ | Identificativo univoco per il PaymentIntent |
payment_ | La chiave privata client dell’oggetto PaymentIntent . Per le integrazioni per gli abbonamenti, questo client_secret è esposto anche nell’oggetto Invoice tramite confirmation_ |
Quando il cliente viene reindirizzato al tuo sito, puoi utilizzare il payment_
per eseguire una query per il PaymentIntent e mostrare al cliente lo stato della transazione.
Puoi accettare i dati delle voci riga per fornire più segnali di rischio ad Afterpay. Questa funzionalità è attualmente in versione beta privata. Per richiedere l’accesso, contattaci.
Anziché separare l’autorizzazione dall’acquisizione per i pagamenti con carta, Afterpay addebita al cliente la prima rata del pagamento al momento dell’autorizzazione. Poi hai fino a 13 giorni dopo l’autorizzazione per acquisire il resto del pagamento. Se non acquisisci il pagamento in questo intervallo di tempo, il cliente riceve un rimborso della prima rata e non gli vengono addebitate altre rate. In questi casi, Stripe annulla anche il PaymentIntent e invia un evento payment_intent.canceled.
Se sai di non poter acquisire il pagamento, ti consigliamo di annullare il PaymentIntent anziché attendere che trascorrano i 13 giorni. Se annulli in modo proattivo il PaymentIntent, il cliente riceve immediatamente il rimborso della prima rata, evitando confusioni sugli addebiti sul suo estratto conto.
Indicare a Stripe di eseguire solo l’autorizzazione
Per indicare che vuoi separare l’autorizzazione dall’acquisizione, imposta capture_method su manual
quando crei il PaymentIntent. Il parametro indica a Stripe di limitarsi ad autorizzare l’importo sul conto Afterpay del cliente.
In seguito alla concessione dell’autorizzazione, Stripe invia un evento payment_intent.amount_capturable_updated. Consulta la nostra Guida agli eventi per saperne di più.
Acquisire i fondi
Dopo l’avvenuta autorizzazione, lo stato PaymentIntent diventa requires_
. Per acquisire i fondi autorizzati, effettua una richiesta di acquisizione del PaymentIntent. L’importo totale autorizzato viene acquisito per impostazione predefinita. Non puoi acquisire un importo superiore, ma puoi acquisire un importo inferiore.
Facoltativo Annullare l’autorizzazione
Per annullare un’autorizzazione, puoi annullare il PaymentIntent.
Per gestire i reindirizzamenti e i pagamenti Afterpay lato client con confirmAfterpayClearpayPayment
, consigliamo di utilizzare Stripe.js. Utilizzando Stripe.js puoi estendere l’integrazione ad altri metodi di pagamento. Tuttavia, puoi anche reindirizzare manualmente i clienti al tuo server seguendo questi passaggi:
Crea e conferma un PaymentIntent di tipo
afterpay_
. Devi specificare la proprietàclearpay payment_
richiesta da Afterpay.method_ data. billing_ details payment_
è facoltativo, ma consigliato per migliorare i tassi di autenticazione. Se specifichiintent. shipping payment_
, Stripe crea un PaymentMethod e lo utilizza immediatamente con questo PaymentIntent.method_ data Una volta che il cliente ha completato il pagamento, devi anche specificare l’URL di reindirizzamento nel campo
return_
. In questo URL puoi anche specificare i tuoi parametri di ricerca, che verranno inclusi nell’URL finale una volta completato il flusso di reindirizzamento.url Il
PaymentIntent
creato ha lo statorequires_
e il tipo peraction next_
èaction redirect_
.to_ url Reindirizza il cliente all’URL specificato nella proprietà
next_
. Il codice esemplificativo indicato qui è approssimativo. La modalità di reindirizzamento potrebbe essere diversa nel tuo web framework.action. redirect_ to_ url. url
Al termine della procedura di pagamento, il cliente viene indirizzato al return_
configurato nel passaggio 1. I parametri di query dell’URL payment_
e payment_
sono inclusi e puoi specificare i tuoi come descritto sopra.
Ti consigliamo di utilizzare i webhook per confermare lo stato di un pagamento.
Stripe invia un evento payment_intent.succeeded quando il pagamento viene completato. Utilizza la Dashboard, un webhook personalizzato o una soluzione partner per ricevere questi eventi ed eseguire azioni come l’invio della conferma di un ordine al cliente, la registrazione della vendita in un database o l’avvio del flusso di lavoro per una spedizione.
Ascolta questi eventi invece di attendere un callback dal client. Sul client, il cliente potrebbe chiudere la finestra del browser o uscire dall’app prima dell’esecuzione del callback e i client malintenzionati potrebbero manipolare la risposta. La configurazione dell’integrazione per l’ascolto di eventi asincroni ti consente anche di accettare metodi di pagamento diversi in futuro. Ulteriori informazioni sulle differenze tra tutti i metodi di pagamento supportati.
Gestisci gli eventi manualmente nella dashboard
Utilizza la dashboard per visualizzare i pagamenti di test nella dashboard, inviare le ricevute tramite email, gestire i bonifici o ritentare i pagamenti non riusciti.
Crea un webhook personalizzato
Crea un gestore webhook personalizzato per rilevare gli eventi e creare flussi di pagamento asincroni personalizzati. Esegui il test e il debug in locale dell’integrazione webhook con la CLI di Stripe.
Integra un’app preimpostata
Gestisci eventi comuni dell’attività, come l’automazione, il marketing e i saldi, integrando una richiesta di registrazione del partner.
Testa la tua integrazione Afterpay con le tue chiavi API di test visualizzando la pagina di reindirizzamento. Puoi testare il caso di pagamento riuscito autenticando il pagamento sulla pagina di reindirizzamento. Il PaymentIntent passerà da requires_
a succeeded
.
Per testare il caso in cui l’utente non riesce a effettuare l’autenticazione, usa le tue chiavi API di test e visualizza la pagina di reindirizzamento. In questa pagina, fai clic su Interrompi pagamento di test. Il PaymentIntent passerà da requires_
a requires_
.
Per i PaymentIntent con acquisizione manuale in modalità di test, il PaymentIntent non acquisito scade automaticamente 10 minuti dopo che viene concessa l’autorizzazione.
Payment Method Messaging Element è un componente dell’interfaccia utente incorporabile che aiuta i clienti a sapere quali opzioni di pagamento a rate hanno al momento del pagamento direttamente dalle pagine del prodotto, del carrello o del pagamento.
Per aggiungere Payment Method Messaging Element al tuo sito web, consulta Messaggi sul metodo di pagamento.

Pagamenti non riusciti
Afterpay decide se accettare o rifiutare una transazione in base a diversi fattori, ad esempio da quanto tempo l’acquirente utilizza Afterpay, l’importo in sospeso che il cliente deve rimborsare o il valore dell’ordine corrente.
Dato che i pagamenti Afterpay hanno un tasso di rifiuto più elevato rispetto a molti metodi di pagamento, dovresti sempre includere opzioni di pagamento aggiuntive nel tuo flusso di pagamento, come ad esempio card
. In questi casi, il PaymentMethod viene scollegato e lo stato dell’oggetto PaymentIntent diventa automaticamente a requires_
.
Per un PaymentIntent Afterpay con stato requires_
, i clienti devono completare il pagamento entro tre ore dal reindirizzamento al sito Afterpay (ciò non riguarda i pagamenti rifiutati). In caso contrario, l’oggetto PaymentMethod verrà scollegato e lo stato dell’oggetto PaymentIntent passerà automaticamente a requires_
In questi casi, invita il cliente a riprovare con una diversa opzione di pagamento presente nel tuo flusso di completamento della transazione.
Codici di errore
Questi sono i codici di errore più diffusi e le corrispondenti azioni consigliate:
Codice di errore | Azione consigliata |
---|---|
payment_ | Errore generico che indica che il pagamento Afterpay non è riuscito. Può trattarsi anche di un rifiuto che non appare come un codice di errore di rifiuto. |
payment_ | Afterpay ha rifiutato il pagamento del cliente. Successivamente, il cliente dovrà contattare Afterpay per richiedere ulteriori informazioni. |
payment_ | Il cliente non ha mai completato il pagamento sulla pagina di completamento della transazione di Afterpay e la sessione di pagamento è scaduta. Tre ore dopo la creazione iniziale del completamento della transazione, Stripe fa scadere automaticamente i PaymentIntents che non vengono autorizzati con successo. |
payment_ | Afterpay ha riscontrato un errore relativo al servizio e non è in grado di completare la richiesta. Riprova più tardi. |
amount_ | Inserisci un importo compreso nei limiti di transazione predefiniti di Afterpay per il Paese. |
amount_ | Inserisci un importo compreso nei limiti di transazione predefiniti di Afterpay per il Paese. |