Inviare informazioni del cliente autenticate
Per autenticare un profilo cliente, il tuo server backend deve effettuare due chiamate API indipendenti, che ti consigliamo di eseguire in parallelo per migliori prestazioni:
-
createCart: Genera il carrello Zonos. Per indicazioni dettagliate, fai riferimento alla sezione Configura Zonos Checkout all'interno della documentazione per integrazioni personalizzate. -
checkoutCustomerProfileAuthenticate: Invia e convalida le informazioni del cliente.
Mutazione
mutation checkoutCustomerProfileAuthenticate(
$input: CheckoutCustomerProfileAuthenticateInput!
) {
checkoutCustomerProfileAuthenticate(input: $input) {
email
customerId
organizationId
name
phone
locations {
administrativeArea
countryCode
locality
line1
line2
postalCode
}
oneTimePassword
}
}
Variabile
{
"input": {
"email": "test@zonos.com",
"locations": [
{
"administrativeArea": "BC",
"countryCode": "CA",
"line1": "411-1033 Davie Street",
"line2": "123 testAddress2",
"locality": "Vancouver",
"name": "TestCanada TestCanada",
"postalCode": "V6E1M7"
},
{
"administrativeArea": "UT",
"countryCode": "US",
"line1": "411-1033 Davie Street",
"line2": "123 testAddress2",
"locality": "Saint George",
"name": "TestUS TestLastName",
"postalCode": "84770"
}
],
"customerId": "1234567",
"name": "testFirstName1 testLastName",
"phone": "7022920000"
}
}
Quando si convalida la sessione del cliente, assicurati che il customerId che passi nella richiesta corrisponda al profilo corretto per visualizzare informazioni accurate sul cliente in checkout. Tieni presente che quando crei un carrello, non dovresti includere customerId nei metadati, poiché verrà sovrascritto.
Dopo che il cliente è stato autenticato e l'ordine è stato effettuato, il customerId sarà disponibile in order.references quando recuperi i dettagli dell'ordine tramite la query dell'ordine, consentendoti di associare l'ordine con il cliente corretto.
Crea carrello con profilo cliente
Dopo aver chiamato entrambe le mutazioni, riceverai quanto segue:
-
cartIddalla mutazionecreateCartper generare il carrello. -
Un
oneTimePassworddalla mutazionecheckoutCustomerProfileAuthenticateper l'autenticazione del cliente.
Puoi passare entrambi questi valori nel callback createCartId nella funzione Zonos.init per caricare le informazioni del profilo cliente fornite in Checkout.
Zonos.init
Zonos.init({
...
checkoutSettings: {
...
createCartId: async () => {
const result = await fetch(
'https://api.merchant.com/api/get-cart-info',
{
body: JSON.stringify(payload),
method: 'POST',
},
);
const json =
await result.json();
return {
cartId: json.cartId,
customerAuthenticationToken:
json.customerProfileAuthenticate
?.checkoutCustomerProfileAuthenticate.oneTimePassword ||
'',
};
}
},
}
Gestire i profili dei clienti
La prima volta che invii informazioni sui clienti, Zonos memorizzerà le informazioni fornite. I metodi di pagamento saranno memorizzati in modo sicuro in Stripe. Ogni volta che vengono forniti nuovi dettagli relativi all'indirizzo o al metodo di pagamento, verranno aggiunti al profilo del cliente.
Attualmente, i profili dei clienti possono essere aggiornati solo con informazioni aggiuntive: i dettagli esistenti non possono essere modificati o rimossi.
Profili dei clienti
Pre-carica le informazioni dei clienti ricorrenti in Zonos Checkout.
I profili dei clienti semplificano la tua esperienza di checkout consentendo ai clienti con un account di pre-caricare il proprio indirizzo e i dettagli di pagamento.
Questa funzionalità è attualmente disponibile solo per integrazioni API personalizzate. Questa funzionalità non è ancora disponibile per i commercianti che utilizzano i plugin di Checkout.