Guida rapida
Accetti il Suo primo pagamento online con Tapaya Checkout con poche chiamate dal server.
Hosted Checkout Le offre una pagina di pagamento pronta all'uso per carte, Apple Pay e Google Pay. Il Suo server crea una sessione per un ordine, il cliente paga e il Suo server conferma l'esito prima di evadere l'ordine. Embedded Checkout inserisce campi della carta sicuri direttamente nella Sua pagina.
Provi entrambi i flussi qui sotto. La carta di prova è già inserita: selezioni Pay e segua il pagamento fino alla fine, oppure provi Apple Pay o Google Pay. Entrambe le demo sono repliche, quindi nessun dato lascia il Suo browser.
Pay to
€121.00
Lipa Roasters
Korunní 12120 00 Praha 2, Czechia
Payment amount
€121.00
Espresso beans × 2
€34.00 each
€68.00
Pour-over kettle
€46.95
- Shipping
- €6.05
- VAT included in total (21%)
- €21.00
- Total due
- €121.00
Scegliere come pagano i clienti
Send customers to a secure payment page that Tapaya runs for you.
- Customer pays
- On a Tapaya-hosted page
- You build
- One server call and a redirect
- Payment methods
- Cards, Apple Pay, Google Pay
- Branding
- Your logo and color
Drop secure card fields into the checkout page you already have.
- Customer pays
- Inside your own checkout page
- You build
- Payment endpoints and your checkout UI
- Payment methods
- Cards, Apple Pay, Google Pay
- Branding
- Your own page
Disponibilità
Checkout è live per gli esercenti approvati. Sia Hosted Checkout sia Embedded Checkout supportano carte, Apple Pay e Google Pay. La disponibilità dei wallet dipende dalle impostazioni di Checkout, dalla registrazione del dominio e dal dispositivo e dal browser del cliente. Embedded Checkout usa Tapaya.js 0.2.0 e il Node.js SDK 0.3.0. Inizi dalla sandbox, poi segua Andare live.
Accettare un pagamento
Onboarding dell'esercente
Completi l'onboarding dell'esercente con la funzionalità di pagamenti online, oppure con i pagamenti online e in presenza. Un esercente che usa solo Checkout non ha bisogno di un terminale. Fornisca il sito web del negozio e i dati dell'attività online, poi attenda l'approvazione del processore di pagamento. La sola creazione di un record dell'esercente o di una chiave API non abilita i pagamenti.
Apra Checkout nella Tapaya Platform. Gli esercenti che richiedono i pagamenti online compaiono automaticamente, compresi quelli in attesa di approvazione. Prosegua quando l'esercente è Ready.
Apra Settings dell'esercente. In Merchant API key redirects, aggiunga il Suo negozio a Allowed websites e imposti gli URL predefiniti di successo e di annullamento. Una piattaforma che usa la Secret key dell'organizzazione li imposta invece in Organization defaults. Gli esempi usano https://shop.example. Per wallet e branding, consulti le impostazioni di Checkout.
Salvare la chiave sul server
In Settings dell'esercente, selezioni Create merchant key e copi la chiave tapaya_test_…. Viene mostrata una sola volta. La conservi solo nella configurazione lato server. Non deve mai finire nel codice del browser o nel sistema di controllo versione.
TAPAYA_ENVIRONMENT=sandbox
TAPAYA_CHECKOUT_API_URL=https://api.sandbox.tapaya.com
TAPAYA_SECRET_KEY=tapaya_test_...L'SDK legge automaticamente TAPAYA_SECRET_KEY e TAPAYA_ENVIRONMENT. Gli esempi HTTP seguenti usano TAPAYA_CHECKOUT_API_URL. Carichi le variabili nel processo del Suo server; l'SDK non carica i file .env.
Invii la chiave come Authorization: Bearer <key>. Una chiave dell'esercente identifica il proprio esercente, quindi non serve nessun'altra intestazione. Una piattaforma che serve molti esercenti usa invece la Secret key dell'organizzazione e invia X-Tapaya-Merchant-Token in ogni richiesta. Si veda Autenticazione di Checkout.
Creare una sessione di Checkout
Quando il cliente fa clic su Checkout nel Suo negozio, calcoli il totale finale sul Suo server, salvi l'ordine con una chiave di tentativo univoca e crei una sessione. merchantOrderId è obbligatorio e un ordine può essere pagato una sola volta. Gli importi sono espressi nell'unità minima della valuta, quindi 12100 corrisponde a 121,00 EUR.
Con Node.js 22.13.0 o versioni successive, installi l'SDK ESM prima di usare l'esempio Node.js SDK:
npm install @tapayadot/checkoutconst response = await fetch(
new URL('/merchant/checkout-sessions', process.env.TAPAYA_CHECKOUT_API_URL),
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.TAPAYA_SECRET_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': order.checkoutAttemptKey,
},
body: JSON.stringify({
merchantOrderId: order.id,
amount: order.totalInMinorUnits,
currency: order.currency,
successUrl: 'https://shop.example/checkout/return',
cancelUrl: 'https://shop.example/checkout/cancel',
}),
},
);
if (!response.ok) throw new Error(`Checkout failed (${response.status})`);
const session = await response.json();Se la richiesta va in timeout, la ripeta con la stessa chiave e lo stesso corpo. L'API restituisce di nuovo la sessione originale invece di crearne una seconda.
Reindirizzare il cliente
Salvi session.id insieme all'ordine, poi invii il browser a session.url con HTTP 303. Usi l'URL esattamente come viene restituito.
// First persist session.id as the order's checkoutSessionId.
return Response.redirect(session.url, 303);Tapaya mostra il riepilogo dell'ordine e il modulo di pagamento sicuro e gestisce la tokenizzazione, 3-D Secure e l'addebito. Dopo un rifiuto, il cliente può provare un'altra carta nella stessa pagina. Le sessioni accettano nuovi pagamenti per 30 minuti.
Verificare il pagamento sul server
Quando il cliente arriva sul Suo URL di successo o di annullamento, recuperi la sessione con la Sua Secret key e la confronti con l'ordine salvato. Un reindirizzamento da solo non prova mai il pagamento.
const response = await fetch(
new URL(
`/merchant/checkout-sessions/${encodeURIComponent(order.checkoutSessionId)}`,
process.env.TAPAYA_CHECKOUT_API_URL,
),
{ headers: { Authorization: `Bearer ${process.env.TAPAYA_SECRET_KEY}` } },
);
if (!response.ok) throw new Error(`Status check failed (${response.status})`);
const current = await response.json();Con entrambe le integrazioni, confronti l'esito con l'ordine salvato prima di evaderlo:
const matches =
current.id === order.checkoutSessionId &&
current.merchantOrderId === order.id &&
current.amount === order.totalInMinorUnits &&
current.currency === order.currency;
if (matches && current.paymentStatus === 'successful') {
await fulfillOnce(order); // idempotent, safe on repeated visits
}Se lo stato è ancora unpaid o il recupero non riesce, conservi l'ID della sessione e ripeta il controllo. I webhook non sono ancora disponibili, quindi esegua un job di riconciliazione per i clienti che chiudono la scheda prima di tornare.
Andare live
-
Completi l'onboarding dell'esercente in produzione con i pagamenti online, oppure con i pagamenti online e in presenza. Fornisca il sito web del negozio e i dati dell'attività online. Anche un esercente già attivo per i pagamenti in presenza necessita dell'approvazione del processore di pagamento per i pagamenti online.
-
Verifichi che l'esercente sia Ready nelle impostazioni di Checkout. Ciò richiede un esercente attivo, l'approvazione del processore di pagamento per i pagamenti online e un gateway live configurato.
-
Crei una chiave checkout dell'esercente di produzione, oppure usi la Secret key di produzione della Sua organizzazione con il token dell'esercente. Conservi le credenziali live sul Suo server.
-
Imposti l'origine dell'API e l'ambiente di produzione. Sostituisca la configurazione sandbox nel Suo deployment:
Production server configuration TAPAYA_ENVIRONMENT=production TAPAYA_CHECKOUT_API_URL=https://api.tapaya.com TAPAYA_SECRET_KEY=tapaya_live_...Gli esempi HTTP usano
TAPAYA_CHECKOUT_API_KEY; imposti anche questa variabile sulla Sua chiave live. Usi l'URL della sessione esattamente come viene restituito. Le pagine ospitate di produzione si aprono suhttps://checkout.tapaya.com. -
Configuri gli URL di ritorno di produzione per Hosted Checkout. Per Apple Pay incorporato, registri ogni dominio del negozio e vi ospiti il relativo file di verifica. Google Pay live richiede un Google Pay merchant ID configurato.
-
Completi la checklist QA, compresa la verifica sul server e il job di produzione che controlla i pagamenti in sospeso. In produzione usi metodi di pagamento reali. Le carte di prova della sandbox valgono solo per la sandbox.
Passaggi successivi
Test
Carte di prova per successo, rifiuto e 3-D Secure sul gateway sandbox.
Hosted Checkout
La guida completa per il server, con gestione degli errori e nuovi tentativi per ogni approccio.
Node.js SDK
Opzioni del client, metodi delle sessioni, nuovi tentativi ed errori tipizzati.
Integrazione tramite API
Righe dell'ordine, ripartizioni delle imposte, dati del cliente e tutti gli stati della sessione.
Impostazioni di Checkout
Wallet, branding e destinazioni di ritorno nella Tapaya Platform.
Embedded Checkout
Inserisca campi della carta sicuri nella Sua pagina di checkout e invii il pagamento dal Suo pulsante di pagamento.