Tapaya
ÜbersichtPlatform APIReporting und Zahlungen

Reporting und Zahlungen

Händler auflisten, Zahlungsverlauf und Zahlungsdetails abrufen, Statistiken lesen und Zahlungen erstatten.

Diese Endpoints bieten programmatischen Zugriff auf Daten und Einstellungen, die auch im Dashboard der Tapaya Platform verfügbar sind. Damit können Sie eigene Dashboards erstellen, Abläufe automatisieren oder Reporting-Daten abrufen, unabhängig davon, ob Sie das Accept SDK einbetten oder die App Tapaya Terminal direkt ansteuern. Die Authentifizierung erfolgt auf dieselbe Weise, mit Ihrem Server Secret Token.

Händler auflisten

Listet die Händler auf, die unter dieser Organisation registriert sind.

Endpoint: GET /integrator/merchant

curl -X 'GET' 'https://api.tapaya.com/integrator/merchant' \
-H 'Authorization: REPLACE_ME'

Antworttext:

[
    {
        "merchantId": "018f8f2a-3b1e-7c2a-9f1a-2e6a1b7c4d3e",
        "merchantToken": "unique_merchant_id_from_your_db",
        "name": "Acme Corp",
        "email": "admin@acme.com",
        "businessType": 1,
        "city": "Prague",
        "country": 203,
        "onboarded": true,
        "isActive": true
    }
]

Das Feld email enthält die Administrator- bzw. Kontakt-E-Mail-Adresse, die aktuell im Händlerdatensatz gespeichert ist. Mit diesem Wert können Sie Händlerdatensätze in Ihrem Backoffice abgleichen, ohne jeden Händler einzeln abrufen zu müssen.

Zahlungsverlauf abrufen

Ruft eine Liste der letzten 50 Zahlungen über alle Händler Ihrer Organisation hinweg ab. Das ist nützlich, um Transaktionen zu prüfen oder eine „Super Admin“-Ansicht zu erstellen.

Keine Filterung oder Paginierung

Dieser Endpoint liefert immer die letzten 50 Zahlungen der gesamten Organisation; er akzeptiert derzeit keine Query-Parameter für Händler, Status, Zeitraum oder Paginierung. Verwenden Sie den Endpoint Zahlungsdetails abrufen, um eine bestimmte Zahlung anhand ihrer ID nachzuschlagen.

Endpoint: GET /integrator/organization/payment

curl -X 'GET' 'https://api.tapaya.com/integrator/organization/payment' \
-H 'Authorization: REPLACE_ME'

Antworttext:

[
    {
        "paymentId": "018f8f2a-4c2f-7d3b-8a2e-3f7b2c8d5e4f",
        "paymentToken": "pay_abc123",
        "paymentProcessorId": 1,
        "paymentMethodId": 1,
        "terminalId": "018f8f2a-5d3a-7e4c-9b3f-4a8c3d9e6f5a",
        "locationId": "018f8f2a-6e4b-7f5d-ac4a-5b9d4eaf7a6b",
        "requestedAmount": 1999,
        "requestedCurrencyId": 1,
        "settlementAmount": 1999,
        "settlementCurrencyId": 1,
        "statusId": 2,
        "instrumentLabel": "VISA •••• 4242",
        "instrumentIdentifier": "4242",
        "createdAt": "2026-07-15T12:00:00Z",
        "processedAt": "2026-07-15T12:00:03Z",
        "merchantId": "018f8f2a-3b1e-7c2a-9f1a-2e6a1b7c4d3e",
        "merchantName": "Acme Corp"
    }
]

Aggregierte Statistiken

Ruft Zahlungsstatistiken ab, die über alle Händler Ihrer Organisation aggregiert sind. Dieser Endpoint liefert die Gesamtvolumina je Währung.

Endpoint: GET /integrator/organization/payment/stats

curl -X 'GET' 'https://api.tapaya.com/integrator/organization/payment/stats' \
-H 'Authorization: REPLACE_ME'

Antworttext:

Ein Array mit einem Eintrag pro Währung, in der Ihre Organisation Zahlungen abgewickelt hat.

[
    {
        "currencyId": 1,
        "amount": 4582317
    }
]

Zahlungsdetails abrufen

Ruft alle Details zu einer einzelnen Zahlung ab, einschließlich der zugrunde liegenden Transaktionen, Belastungen und etwaiger Erstattungen. Der Zugriff ist auf Ihre Organisation beschränkt; für Zahlungen einer anderen Organisation wird 404 zurückgegeben.

Zahlung, Transaktion und Belastung

Eine Zahlung ist die Kaufanforderung als Ganzes: ein fester Betrag für eine Zahlungsmethode. Sie enthält eine oder mehrere Transaktionen, von denen jede einen Versuch darstellt, Geld über einen Zahlungsabwickler zu bewegen. Eine Transaktion enthält eine oder mehrere Belastungen (Charges), jede ein konkretes Abrechnungsereignis für ein bestimmtes Zahlungsinstrument (Karte, Wallet, Bankkonto).

Die meisten Zahlungen haben genau eine Transaktion mit einer Belastung. Eine Zahlung kann mehrere Transaktionen haben, wenn das Vorhalten am Kartenterminal wiederholt wird (jeder Vorhalteversuch wird als eigene Transaktion zugeordnet). Eine Transaktion kann bei asynchronen Zahlungsmethoden wie Krypto oder Banküberweisung mehrere Belastungen haben, wenn der Zahlungsabwickler im Lauf der Zeit Teil- oder wiederholte Abrechnungsereignisse meldet (z. B. eine zu gering bezahlte Krypto-Rechnung, die durch eine zweite On-Chain-Zahlung aufgestockt wird). Erstattungen verweisen direkt auf die Zahlung und die Belastung; sie sind nicht den Transaktionen untergeordnet.

statusId (StatusEnum) gibt den aktuellen Status der Zahlung wieder:

WertNameBeschreibung
1PendingDie Transaktion wurde erstellt, aber noch nicht abgeschlossen.
2SuccessDie Transaktion wurde erfolgreich abgeschlossen.
3CancelledDie Transaktion wurde vor dem Abschluss abgebrochen.
4RefundedDie Transaktion wurde nach dem Abschluss erstattet.
5FailedDie Transaktion konnte nicht abgeschlossen werden.
6ActionNeededDie Transaktion erfordert zum Abschluss eine weitere Aktion des Kunden.

Endpoint: GET /integrator/organization/payment/{paymentId}

curl -X 'GET' 'https://api.tapaya.com/integrator/organization/payment/018f8f2a-4c2f-7d3b-8a2e-3f7b2c8d5e4f' \
-H 'Authorization: REPLACE_ME'

Antworten:

CodeBeschreibung
200Zahlung gefunden
404Zahlung nicht gefunden oder gehört nicht zu Ihrer Organisation

Antworttext:

{
    "paymentId": "018f8f2a-4c2f-7d3b-8a2e-3f7b2c8d5e4f",
    "paymentToken": "pay_abc123",
    "paymentProcessorId": 1,
    "paymentMethodId": 1,
    "terminalId": "018f8f2a-5d3a-7e4c-9b3f-4a8c3d9e6f5a",
    "locationId": "018f8f2a-6e4b-7f5d-ac4a-5b9d4eaf7a6b",
    "requestedAmount": 1999,
    "requestedCurrencyId": 1,
    "settlementAmount": 1999,
    "settlementCurrencyId": 1,
    "referralFee": 30,
    "statusId": 2,
    "terminalName": "Front Counter",
    "locationName": "Acme Corp, Prague",
    "merchantId": "018f8f2a-3b1e-7c2a-9f1a-2e6a1b7c4d3e",
    "merchantName": "Acme Corp",
    "createdAt": "2026-07-15T12:00:00Z",
    "processedAt": "2026-07-15T12:00:03Z",
    "transactions": [
        {
            "transactionId": "018f8f2a-7f5c-7a6e-bd5b-6cae5fb0879c",
            "statusId": 2,
            "referenceInfo": null,
            "fxRate": 1.0,
            "createdAt": "2026-07-15T12:00:00Z",
            "processedAt": "2026-07-15T12:00:03Z",
            "cancelledAt": null,
            "charges": [
                {
                    "chargeId": "018f8f2a-8a6d-7b7f-ce6c-7dbf6ac1980d",
                    "chargeToken": "charge_abc123",
                    "statusId": 2,
                    "instrumentLabel": "VISA •••• 4242",
                    "instrumentIdentifier": "4242",
                    "authorizationReference": "123456",
                    "requestedAmount": 1999,
                    "requestedCurrencyId": 1,
                    "settlementAmount": 1999,
                    "settlementCurrencyId": 1,
                    "fxRate": 1.0,
                    "createdAt": "2026-07-15T12:00:03Z"
                }
            ]
        }
    ],
    "refunds": []
}

Zahlung erstatten

Erstattet eine Zahlung vollständig oder teilweise. Lassen Sie amount weg, um den gesamten verbleibenden abgerechneten Betrag zu erstatten.

Endpoint: POST /integrator/organization/payment/{paymentId}/refund

curl -X 'POST' 'https://api.tapaya.com/integrator/organization/payment/018f8f2a-4c2f-7d3b-8a2e-3f7b2c8d5e4f/refund' \
-H 'Content-Type: application/json' \
-H 'Authorization: REPLACE_ME' \
-d '{
        "amount": 1999,
        "refundReasonId": 1
    }'

Parameter:

FeldTypErforderlichBeschreibung
amountlongZu erstattender Betrag in der kleinsten Währungseinheit. Weglassen für eine vollständige Erstattung des verbleibenden abgerechneten Betrags.
refundReasonIdint✓Grund der Erstattung (RefundReasonEnum).

Antworten:

CodeBeschreibung
200Erstattung eingeleitet
400Validierungsfehler der Anfrage
404Zahlung nicht gefunden oder gehört nicht zu Ihrer Organisation
409Die Zahlung kann in ihrem aktuellen Status nicht erstattet werden, oder der angeforderte Betrag übersteigt den noch erstattbaren Betrag

Antworttext:

{
    "refundId": "018f8f2a-9b7e-7c8a-df7d-8ecf7bd2a91e",
    "refundToken": "refund_abc123",
    "statusId": 1,
    "refundReasonId": 1,
    "requestedAmount": 1999,
    "requestedCurrencyId": 1,
    "settlementAmount": 1999,
    "settlementCurrencyId": 1,
    "fxRate": 1.0,
    "authorizationReference": null,
    "referralFeeRefund": null,
    "createdAt": "2026-07-15T12:05:00Z",
    "processedAt": null
}

Asynchrone Abrechnung

referralFeeRefund und processedAt werden asynchron befüllt, sobald der Zahlungsabwickler die Erstattung bestätigt. In der unmittelbaren Antwort sind sie immer null; fragen Sie Zahlungsdetails abrufen regelmäßig ab, um den endgültigen Status zu sehen. Der Zahlungsverlauf liefert nur die letzten Zahlungen, daher kann eine ältere erstattete Zahlung daraus herausfallen.

Fehlt Ihnen etwas auf dieser Seite?Wünschen Sie sich eine Funktion. Wir hängen diese Seite an, damit das Team den Kontext sieht.