Schnellstart
Nehmen Sie mit wenigen Serveraufrufen Ihre erste Online-Zahlung mit Tapaya Checkout an.
Hosted Checkout bietet Ihnen eine fertige Zahlungsseite für Karten, Apple Pay und Google Pay. Ihr Server erstellt eine Session für eine Bestellung, der Kunde zahlt, und Ihr Server bestätigt das Ergebnis, bevor die Bestellung abgewickelt wird. Embedded Checkout bindet sichere Kartenfelder direkt in Ihre eigene Seite ein.
Probieren Sie unten beide Abläufe aus. Die Testkarte ist bereits eingetragen: Wählen Sie Pay und verfolgen Sie die Zahlung bis zum Ende, oder probieren Sie Apple Pay oder Google Pay. Beide sind Nachbildungen, es verlässt also nichts Ihren 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
Zahlungsweise der Kunden wählen
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
Verfügbarkeit
Checkout ist für freigegebene Händler live. Sowohl Hosted Checkout als auch Embedded Checkout unterstützen Karten, Apple Pay und Google Pay. Die Verfügbarkeit der Wallets hängt von den Checkout-Einstellungen, der Domain-Registrierung sowie vom Gerät und Browser des Kunden ab. Embedded Checkout verwendet Tapaya.js 0.2.0 und das Node.js SDK 0.3.0. Beginnen Sie in der Sandbox und folgen Sie dann Live gehen.
Eine Zahlung annehmen
Onboarding des Händlers
Schließen Sie das Händler-Onboarding mit der Funktion für Online-Zahlungen ab, oder für Online-Zahlungen und Zahlungen vor Ort. Ein Händler, der nur Checkout nutzt, benötigt kein Terminal. Geben Sie die Website des Shops und die Angaben zum Online-Geschäft an und warten Sie auf die Freigabe durch den Zahlungsabwickler. Das Anlegen eines Händlerdatensatzes oder eines API-Schlüssels allein schaltet keine Zahlungen frei.
Öffnen Sie Checkout in der Tapaya Platform. Händler, die Online-Zahlungen beantragen, erscheinen automatisch, auch solche, die noch auf die Freigabe warten. Fahren Sie fort, sobald der Händler Ready ist.
Öffnen Sie die Settings des Händlers. Fügen Sie unter Merchant API key redirects Ihren Shop zu Allowed websites hinzu und legen Sie die Standard-URLs für Erfolg und Abbruch fest. Eine Plattform, die den Secret key der Organisation verwendet, legt diese stattdessen unter Organization defaults fest. Die Beispiele verwenden https://shop.example. Wallets und Branding beschreiben die Checkout-Einstellungen.
Schlüssel auf dem Server speichern
Wählen Sie in den Settings des Händlers Create merchant key und kopieren Sie den Schlüssel tapaya_test_…. Er wird nur einmal angezeigt. Bewahren Sie ihn ausschließlich in der serverseitigen Konfiguration auf. Er gehört niemals in Browser-Code oder in die Versionsverwaltung.
TAPAYA_ENVIRONMENT=sandbox
TAPAYA_CHECKOUT_API_URL=https://api.sandbox.tapaya.com
TAPAYA_SECRET_KEY=tapaya_test_...Das SDK liest TAPAYA_SECRET_KEY und TAPAYA_ENVIRONMENT automatisch. Die HTTP-Beispiele unten verwenden TAPAYA_CHECKOUT_API_URL. Laden Sie die Variablen in Ihren Serverprozess; das SDK lädt keine .env-Dateien.
Senden Sie den Schlüssel als Authorization: Bearer <key>. Ein Händlerschlüssel bestimmt seinen Händler, daher ist kein weiterer Header nötig. Eine Plattform, die viele Händler bedient, verwendet stattdessen den Secret key der Organisation und sendet bei jeder Anfrage X-Tapaya-Merchant-Token. Siehe Checkout-Authentifizierung.
Checkout-Session erstellen
Wenn der Kunde in Ihrem Shop auf Checkout klickt, berechnen Sie den endgültigen Gesamtbetrag auf Ihrem Server, speichern Sie die Bestellung mit einem eindeutigen Versuchsschlüssel und erstellen Sie eine Session. merchantOrderId ist erforderlich, und eine Bestellung kann nur einmal bezahlt werden. Beträge werden in der kleinsten Währungseinheit angegeben, 12100 entspricht also 121,00 EUR.
Installieren Sie für Node.js 22.13.0 oder neuer das ESM-SDK, bevor Sie das Beispiel Node.js SDK verwenden:
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();Wenn die Anfrage in ein Timeout läuft, wiederholen Sie sie mit demselben Schlüssel und Body. Die API gibt die ursprüngliche Session erneut zurück, statt eine zweite zu erstellen.
Kunden weiterleiten
Speichern Sie session.id mit Ihrer Bestellung und leiten Sie den Browser dann mit HTTP 303 auf session.url weiter. Verwenden Sie die URL genau so, wie sie zurückgegeben wurde.
// First persist session.id as the order's checkoutSessionId.
return Response.redirect(session.url, 303);Tapaya zeigt die Bestellübersicht und das sichere Zahlungsformular an und übernimmt Tokenisierung, 3-D Secure und Belastung. Nach einer Ablehnung kann der Kunde auf derselben Seite eine andere Karte versuchen. Sessions nehmen 30 Minuten lang neue Zahlungen an.
Zahlung auf dem Server verifizieren
Wenn der Kunde auf Ihrer Erfolgs- oder Abbruch-URL landet, rufen Sie die Session mit Ihrem Secret key ab und vergleichen Sie sie mit der gespeicherten Bestellung. Eine Weiterleitung allein beweist niemals eine Zahlung.
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();Vergleichen Sie bei beiden Integrationen das Ergebnis mit der gespeicherten Bestellung, bevor Sie diese abwickeln:
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
}Wenn der Status noch unpaid ist oder der Abruf fehlschlägt, behalten Sie die Session-ID und prüfen Sie erneut. Webhooks gibt es noch nicht. Betreiben Sie daher einen Abgleichsjob für Kunden, die den Tab schließen, bevor sie zurückkehren.
Live gehen
-
Schließen Sie das Händler-Onboarding in der Produktionsumgebung mit Online-Zahlungen ab, oder mit Online-Zahlungen und Zahlungen vor Ort. Geben Sie die Website des Shops und die Angaben zum Online-Geschäft an. Auch ein bestehender Händler mit Zahlungen vor Ort benötigt die Freigabe des Zahlungsabwicklers für Online-Zahlungen.
-
Prüfen Sie in den Checkout-Einstellungen, ob der Händler Ready ist. Dazu sind ein aktiver Händler, die Freigabe des Zahlungsabwicklers für Online-Zahlungen und ein konfiguriertes Live-Gateway erforderlich.
-
Erstellen Sie einen Checkout-Händlerschlüssel für die Produktion, oder verwenden Sie den Secret key Ihrer Organisation für die Produktion zusammen mit dem Händler-Token. Bewahren Sie Live-Zugangsdaten auf Ihrem Server auf.
-
Legen Sie den API-Origin und die Umgebung für die Produktion fest. Ersetzen Sie in Ihrem Deployment die Sandbox-Konfiguration:
Production server configuration TAPAYA_ENVIRONMENT=production TAPAYA_CHECKOUT_API_URL=https://api.tapaya.com TAPAYA_SECRET_KEY=tapaya_live_...Die HTTP-Beispiele verwenden
TAPAYA_CHECKOUT_API_KEY; setzen Sie auch diese Variable auf Ihren Live-Schlüssel. Verwenden Sie die Session-URL genau so, wie sie zurückgegeben wurde. Gehostete Seiten in der Produktion öffnen sich aufhttps://checkout.tapaya.com. -
Konfigurieren Sie Ihre Rückkehr-URLs für Hosted Checkout in der Produktion. Registrieren Sie für Apple Pay in Embedded Checkout jede Shop-Domain und hosten Sie deren Verifizierungsdatei. Google Pay im Live-Modus erfordert eine konfigurierte Google Pay Merchant ID.
-
Arbeiten Sie die QA-Checkliste ab, einschließlich der Verifizierung auf dem Server und des Produktionsjobs, der ungeklärte Zahlungen prüft. Verwenden Sie in der Produktion echte Zahlungsmethoden. Testkarten der Sandbox sind nur für die Sandbox bestimmt.
Nächste Schritte
Testen
Testkarten für Erfolg, Ablehnung und 3-D Secure auf dem Sandbox-Gateway.
Hosted Checkout
Der vollständige Leitfaden für den Server, mit Fehlerbehandlung und Wiederholungsversuchen für jeden Ansatz.
Node.js SDK
Client-Optionen, Session-Methoden, Wiederholungsversuche und typisierte Fehler.
API-Integration
Bestellpositionen, Steueraufschlüsselungen, Kundendaten und jeder Session-Status.
Checkout-Einstellungen
Wallets, Branding und Rückkehrziele in der Tapaya Platform.
Embedded Checkout
Binden Sie sichere Kartenfelder in Ihre eigene Checkout-Seite ein und senden Sie die Zahlung über Ihren eigenen Bezahl-Button ab.