Die folgenden Callbacks werden von Frisbii Media ausgelöst:
Callback Typ | Entity Typ | Entity | Beschreibung |
|---|---|---|---|
CREATION | APP_STORE_ORDER | AppStoreOrder | Erstellen oder Aktualisieren einer bestehenden Bestellung über einen App-Store (Apple oder Google) |
CHANGE | APP_STORE_SUBSCRIPTION | AppStoreSubscription | Gesendet beim Aktivieren oder Deaktivieren des App-Store-Abonnements |
CREATION | APP_STORE_SUBSCRIPTION | AppStoreSubscription | Gesendet bei der Erstellung eines App-Store-Abonnements |
CHANGE | CUSTOMER | Customer | Gesendet bei der Änderung von kundenbezogenen Daten - zum Beispiel Benutzername, Passwort, E-Mail, Name, Anrede, Status oder andere Daten oder Token-Verifizierung |
CREATION | CUSTOMER | Customer | Gesendet bei der Kundenerstellung oder Registrierung |
DELETION | CUSTOMER | - | Benachrichtigt über Kundenlöschung |
CHANGE | CUSTOMER_OPT_IN | OptIns | Gesendet bei der Erstellung oder Aktualisierung des Kundenoptins |
PAYMENT_FAILED | FAILED_PAYMENT | FailedPaymentNotification | Gesendet im Falle einer fehlgeschlagenen Zahlung |
CHANGE | INVOICE | Invoice | Gesendet im Falle einer Rechnungsänderung - Stornierung, Korrektur, Statusänderung |
CREATION | INVOICE | Invoice | Gesendet bei der Rechnungserstellung |
CREATION | INVOICE_CANCELLATION | Invoice | Gesendet bei Rechnungsstornierung |
CREATION | INVOICE_CORRECTION | Invoice | Gesendet bei Rechnungskorrektur |
CANCELLATION | MULTIUSER_SUBSCRIPTION | MultiuserSubscription | Gesendet bei Kündigung eines Multi-User-Abonnements |
CREATION | MULTIUSER_SUBSCRIPTION | MultiuserSubscription | Gesendet bei Erstellung eines Multi-User-Abonnements |
UNDO_CANCELLATION | MULTIUSER_SUBSCRIPTION | MultiuserSubscription | Gesendet bei Kündigungsrücknahme eines Multi-User-Abonnements |
CREATION | ORDER | Order | Gesendet bei Bestellung |
CONDITIONS_FULFILLED | PURCHASED_ADDON | PurchasedAddon | Gesendet bei der Bestellung, wenn es gekaufte Add-ons gibt |
CANCELLATION | SUBSCRIPTION | Subscription | Gesendet, wenn das Abonnement gekündigt wird |
CHANGE | SUBSCRIPTION | Subscription | Gesendet, wenn das Abonnement geändert wird |
CREATION | SUBSCRIPTION | Subscription | Gesendet bei der Erstellung des Abonnements |
ENDED | SUBSCRIPTION | Subscription | Gesendet, wenn das Abonnement endet |
UNDO_CANCELLATION | SUBSCRIPTION | Subscription | Gesendet bei Kündigungsrücknahme |
CREATION | CALLBACK_RENEWAL | ApiAccessTokenCallback | Gesendet, wenn das API-Zugangstoken erneuert wurde |
💡 Alle Schemas befinden sich im angehängten Dokument.
Hinweis: Die folgenden Beispiele sollen einen exemplarischen Eindruck von den zu erwartenden Daten liefern. Der Umfang der Daten kann allerdings variieren. Vor der produktiven Inbetriebnahme sollten die Callbacks auf dem Stage-System geprüft werden.
Allgemeiner Aufbau eines Callbacks:
{
„entityType“: „CUSTOMER“, -> die Entität, für die der Callback erstellt wurde (Kunde/Rechnung/Abonnement/etc.)
„callbackType“: „CREATION“, -> der entsprechende Callback-Typ (erstellen/ändern/löschen/etc.) „entityId“: „29", - entityID entspricht der Kundennummer/Rechnungsnummer/Abonummer/etc., abhängig vom EntityType.)
„entityId“: „29", -> entityID entspricht der Kundennummer/Rechnungsnummer/Abonummer/etc., abhängig vom EntityType
„entity“: {-> die Daten der Entität gemäß der API-Dokumentation
xxxx
}
}Kunde erstellen
{
"entityType": "CUSTOMER",
"callbackType": "CREATION",
"entityId": "29",
"entity": {
"ageVerificationPinEnabled": false,
"birthday": null,
"changedBy": "10001",
"changedByType": "MERCHANT",
"changedDate": "2024-08-27T11:49:41.389622Z",
"createdBy": "10001",
"createdByType": "MERCHANT",
"createdDate": "2024-08-27T11:49:41.389622Z",
"customerId": "29",
"email": "plenigo+callback@plenigo.com",
"externalSystemId": "",
"firstName": "Test",
"invoiceEmail": "",
"language": "de",
"lastName": "",
"miscellaneousData": {},
"mobileNumber": "",
"registrationDate": "2024-08-27T11:49:41.389622Z",
"registrationSource": "Supporter",
"salutation": "",
"ssoLoginProviders": null,
"status": "ACTIVATED",
"twoFactorEnabled": false,
"username": "Test"
}
}Rechnung erstellen
{
"entityType": "INVOICE",
"callbackType": "CREATION",
"entityId": "223",
"entity": {
"accumulatedPrice": 0.5,
"analogInvoice": false,
"cancellationInvoiceId": 0,
"changedDate": "2024-08-28T00:08:51.914437Z",
"currency": "EUR",
"customerEmail": "plenigo@plenigo.com",
"invoiceAddress": {
"businessAddress": false,
"city": "Kempten",
"country": "DE",
"firstName": "Test",
"lastName": "User",
"postbox": "48576525",
"postcode": "87435",
"salutation": "NONE",
"type": "INVOICE"
},
"invoiceCustomerId": "23",
"invoiceDate": "2024-08-28T00:08:51.868510Z",
"invoiceId": 223,
"items": [
{
"changedDate": "2024-08-28T00:08:51.916800Z",
"createdDate": "2024-08-28T00:08:51.916800Z",
"deliveryAddress": {
"businessAddress": false,
"country": "DE",
"salutation": "NONE",
"type": "DELIVERY"
},
"deliveryCustomerId": "23",
"discountPercentage": 0,
"periodEndDate": "2024-08-29T23:59:59.000000Z",
"periodStartDate": "2024-08-28T00:00:00.000000Z",
"plenigoOfferId": "O_D0SO735QL1AXZH7FTG",
"plenigoProductId": "P_DSQ20PV66PNWGK0LPV",
"plenigoStepId": "S_O38DOOQI9ZE6DESDWC",
"position": 1,
"price": 0.5,
"productId": "P_DSQ20PV66PNWGK0LPV",
"purchasedAddonId": 0,
"quantity": 1,
"subscriptionItemId": 1230101,
"tax": 7,
"taxCountry": "DE",
"taxType": "DIGITALNEWSPAPER",
"title": "Angebot A kurzes Abo-Intervall Leistungszeitraum 28.08.2024 - 29.08.2024"
}
],
"orderId": 0,
"paymentChangedToBilling": false,
"paymentMethod": "BILLING",
"paymentMethodId": 0,
"precursorId": 0,
"status": "NOT_PAID",
"successorId": 0,
"type": "INVOICE"
}
}Abonnement ändern
{
"entityType": "SUBSCRIPTION",
"callbackType": "CHANGE",
"entityId": "1230116",
"entity": {
"accessBlocked": false,
"accountingPeriod": 0,
"accountingPeriodTimeSpan": "NONE",
"activePartners": null,
"analogInvoice": false,
"cancellationDate": null,
"cancellationPeriod": 5,
"cancellationPeriodTimeSpan": "DAY",
"cancellationReasonUniqueId": "",
"cancellationType": "ISSUE_BASED_REGULAR",
"chainId": 1230116,
"changedBy": "PLENIGO",
"changedByType": "SYSTEM",
"changedDate": "2024-08-28T00:00:07.717485Z",
"chargeableDeliveries": 8,
"connectedOffer": false,
"connectedOfferInfo": null,
"createdBy": "8",
"createdByType": "CUSTOMER",
"createdDate": "2024-08-02T09:43:13.41412Z",
"currency": "EUR",
"customerCancellationBlocked": false,
"customerCancellationReasonId": 0,
"deliveries": 8,
"deliveryAddressId": 1230037,
"deliveryCustomerId": "8",
"deliveryPaused": null,
"durationPeriod": 0,
"durationPeriodTimeSpan": "NONE",
"endDate": null,
"externalBilling": false,
"externalSystemId": "",
"finishedDeliveries": 4,
"firstBookingDate": "2024-08-02T09:43:13.348227Z",
"invoiceAddressId": 1230038,
"invoiceCustomerId": "8",
"items": null,
"lastBookingDate": "2024-08-02T09:43:13.348227Z",
"managedBy": "PLENIGO",
"managedExternal": false,
"nextBookingDate": null,
"openDeliveries": 4,
"paused": null,
"paymentMethod": "CREDIT_CARD",
"paymentMethodDetails": {
"brand": "AMERICAN_EXPRESS"
},
"paymentMethodId": 1230005,
"paymentPaused": null,
"paymentTriesDone": 0,
"plenigoOfferId": "O_628IU8F9CB7I6EH5ZG",
"precursorId": 0,
"precursorReason": "",
"precursorReasonDetail": "",
"purchaseOrderIndicator": "",
"recurringDeliveries": false,
"referenceStartDate": "2024-08-02T00:00:00Z",
"startDate": "2024-08-02T09:43:13.348191Z",
"status": "ACTIVE",
"subscriptionId": 1230116,
"subscriptionType": "ISSUE_BASED",
"successorId": 0,
"successorReason": "",
"successorReasonDetail": "",
"suppressInvoiceSending": false,
"term": 0,
"termTimeSpan": "NONE"
}
}Kunde löschen
{
"entityType": "CUSTOMER",
"callbackType": "DELETION",
"entityId": "33",
"entity": null
}entityId ist die Kundennummer. Entity = bearbeitete Daten, hier null, da die betroffenen Daten gelöscht wurden.
In-App Abonnement erstellen
{
"entityType": "APP_STORE_SUBSCRIPTION",
"callbackType": "CREATION",
"version": "3.0",
"entityId": "1230306",
"entity": {
"accessRightUniqueId": "inappsub",
"appStoreSubscriptionId": 1230206,
"cancellationDate": "null",
"chainId": 1230206,
"changedBy": "2VYpOnyFbem8IWY9DyoVaLgOAuG",
"changedByType": "API",
"changedDate": 2023-12-29T15:02:05.353082Z",
"customerId": "29",
"endDate": "2023-12-29T15:06:32.364Z",
"externalSystemId: "subscription_1_app_2",
"startDate": "2023-12-29T15:01:34.393Z",
"status": "ACTIVE"
}
}Callback-Beispiele Vertriebsregeln
Die folgenden Beispiele zeigen die Felder, anhand derer sich regelbasierte Abonnement-Callbacks von regulären Nutzerkündigungen unterscheiden lassen.
Altersbedingte Regel: ENDED-Callback (Vorgängerabonnement zum Wechseldatum)
{
"entityType": "SUBSCRIPTION",
"callbackType": "ENDED",
"entityId": "1230200",
"entity": {
"subscriptionId": 1230200,
"status": "INACTIVE",
"cancellationDate": null,
"endDate": "2025-03-15T00:00:00Z",
"successorReason": "AGE",
"successorReasonDetail": "",
"successorId": 1230201,
"precursorReason": "",
"precursorId": 0,
"plenigoOfferId": "O_UNDER25_OFFER",
"startDate": "2022-03-15T00:00:00Z",
"changedBy": "PLENIGO",
"changedByType": "SYSTEM",
"changedDate": "2025-03-15T00:00:01Z"
}
}
successorReason: "AGE"und die befülltesuccessorId, die auf das Folgeabonnement verweist, sind die entscheidenden Signale. Es ist keincancellationDategesetzt.
Cross-Selling-Regel: CANCELLATION-Callback beim automatisch gekündigten Abhängigkeitsabonnement
{
"entityType": "SUBSCRIPTION",
"callbackType": "CANCELLATION",
"entityId": "1230310",
"entity": {
"subscriptionId": 1230310,
"status": "ACTIVE",
"cancellationDate": "2025-06-01T10:00:00Z",
"endDate": "2025-07-01T00:00:00Z",
"successorReason": "",
"successorReasonDetail": "",
"successorId": 0,
"precursorReason": "",
"precursorId": 0,
"plenigoOfferId": "O_DISCOUNTED_OFFER",
"startDate": "2024-06-01T00:00:00Z",
"changedBy": "PLENIGO",
"changedByType": "SYSTEM",
"changedDate": "2025-06-01T10:00:01Z"
}
}Dieser Payload ist strukturell identisch mit einer Nutzerkündigung —
cancellationDateist gesetzt,successorReasonist leer. Eine durch eine Cross-Selling-Regel ausgelöste automatische Kündigung lässt sich anhand des Payloads allein nicht zuverlässig von einer manuellen Kündigung unterscheiden.
Up-/Down-Selling: CHANGE-Callback beim alten Abonnement (Übergang: NOW / END_OF_TERM / NEXT_BOOKING)
{
"entityType": "SUBSCRIPTION",
"callbackType": "CHANGE",
"entityId": "1231822",
"entity": {
"accessBlocked": false,
"accountingPeriod": 1,
"accountingPeriodTimeSpan": "DAY",
"activePartners": null,
"analogInvoice": false,
"cancellationDate": null,
"cancellationPeriod": 1,
"cancellationPeriodTimeSpan": "DAY",
"cancellationReasonUniqueId": "",
"cancellationType": "TIME_BASED",
"chainId": 1231822,
"changedBy": "66666668260",
"changedByType": "CUSTOMER",
"changedDate": "2026-06-03T07:41:50.242229Z",
"chargeableDeliveries": 0,
"connectedOffer": false,
"connectedOfferInfo": null,
"createdBy": "66666668260",
"createdByType": "CUSTOMER",
"createdDate": "2026-06-03T07:41:15.892031Z",
"currency": "EUR",
"customerCancellationBlocked": false,
"customerCancellationReasonId": 0,
"deliveries": 0,
"deliveryAddressId": 1230755,
"deliveryCustomerId": "66666668260",
"deliveryPaused": null,
"durationPeriod": 0,
"durationPeriodTimeSpan": "MONTH",
"endDate": "2026-06-05T00:00:00Z",
"externalBilling": false,
"externalSystemId": "",
"finishedDeliveries": 0,
"firstBookingDate": "2026-06-03T07:41:15.815532Z",
"invoiceAddressId": 0,
"invoiceCustomerId": "66666668260",
"items": [
{
"accessRightUniqueId": "time-misc",
"chainItemId": 1232077,
"changedBy": "66666668260",
"changedByType": "CUSTOMER",
"changedDate": "2026-06-03T07:41:50.247454Z",
"connectedOfferInfo": null,
"corporateAccountId": 0,
"costCenter": "",
"createdBy": "66666668260",
"createdByType": "CUSTOMER",
"createdDate": "2026-06-03T07:41:15.892031Z",
"creditCount": 0,
"creditWalletUniqueId": "",
"discountPercentage": 0,
"discountSettings": null,
"internalTitle": "Test",
"multiuserSettings": null,
"packageCancellationLocked": false,
"packageId": "",
"packageTitle": "",
"plenigoProductId": "P_NWM7KKEIW1970TR1NS",
"plenigoStepId": "S_O0AHMK0A2862NKMSB0",
"price": 1,
"priceIssueId": 100041,
"productContractId": 100080,
"productId": "P_NWM7KKEIW1970TR1NS",
"purchaseNumber": "",
"quantity": 1,
"status": "ACTIVE",
"subscriptionItemId": 1232077,
"taxType": "DIGITALPRODUCT",
"title": "Test"
}
],
"lastBookingDate": "2026-06-03T07:41:15.815532Z",
"managedBy": "PLENIGO",
"managedExternal": false,
"multiuserSettings": null,
"nextBookingDate": "2026-06-04T00:00:00Z",
"openDeliveries": 0,
"paused": null,
"paymentMethod": "CREDIT_CARD",
"paymentMethodDetails": {
"brand": "VISA"
},
"paymentMethodId": 1230295,
"paymentPaused": null,
"paymentTriesDone": 0,
"plenigoOfferId": "O_MSNCU5I4FL4K08QXKJ",
"precursorId": 0,
"precursorReason": "",
"precursorReasonDetail": "",
"purchaseOrderIndicator": "",
"recurringDeliveries": false,
"referenceStartDate": "2026-06-03T00:00:00Z",
"startDate": "2026-06-03T07:41:15.815512Z",
"status": "ACTIVE",
"subscriptionId": 1231822,
"subscriptionType": "TIME_BASED",
"successorId": 1231823,
"successorReason": "CROSS_SELLING",
"successorReasonDetail": "END_OF_TERM",
"successorReasonMerchant": "",
"suppressInvoiceSending": false,
"term": 2,
"termTimeSpan": "DAY"
}
}
successorReason: "CROSS_SELLING"und die befülltesuccessorIdkennzeichnen dies als regelbasierten Angebotsübergang.successorReasonDetailgibt die konfigurierte Übergangsoption wieder (NOW,END_OF_TERModerNEXT_BOOKING).
Up-/Down-Selling: CANCELLATION-Callback beim alten Abonnement (Übergang: LAST_BOOKING / NOW_WITH_INVOICING)
{
"entityType": "SUBSCRIPTION",
"callbackType": "CANCELLATION",
"entityId": "1231820",
"entity": {
"accessBlocked": false,
"accountingPeriod": 1,
"accountingPeriodTimeSpan": "DAY",
"activePartners": null,
"analogInvoice": false,
"cancellationDate": null,
"cancellationPeriod": 1,
"cancellationPeriodTimeSpan": "DAY",
"cancellationReasonUniqueId": "",
"cancellationType": "TIME_BASED",
"chainId": 1231820,
"changedBy": "PLENIGO",
"changedByType": "SYSTEM",
"changedDate": "2026-06-03T07:36:28.184834Z",
"chargeableDeliveries": 0,
"connectedOffer": false,
"connectedOfferInfo": null,
"createdBy": "66666668260",
"createdByType": "CUSTOMER",
"createdDate": "2026-06-03T07:35:53.851576Z",
"currency": "EUR",
"customerCancellationBlocked": false,
"customerCancellationReasonId": 0,
"deliveries": 0,
"deliveryAddressId": 1230755,
"deliveryCustomerId": "66666668260",
"deliveryPaused": null,
"durationPeriod": 0,
"durationPeriodTimeSpan": "MONTH",
"endDate": "2026-06-03T07:35:53.778014Z",
"externalBilling": false,
"externalSystemId": "",
"finishedDeliveries": 0,
"firstBookingDate": "2026-06-03T07:35:53.778031Z",
"invoiceAddressId": 0,
"invoiceCustomerId": "66666668260",
"items": [
{
"accessRightUniqueId": "time-misc",
"chainItemId": 1232074,
"changedBy": "66666668260",
"changedByType": "CUSTOMER",
"changedDate": "2026-06-03T07:36:28.192109Z",
"connectedOfferInfo": null,
"corporateAccountId": 0,
"costCenter": "",
"createdBy": "66666668260",
"createdByType": "CUSTOMER",
"createdDate": "2026-06-03T07:35:53.851576Z",
"creditCount": 0,
"creditWalletUniqueId": "",
"discountPercentage": 0,
"discountSettings": null,
"internalTitle": "Test",
"multiuserSettings": null,
"packageCancellationLocked": false,
"packageId": "",
"packageTitle": "",
"plenigoProductId": "P_VFQFK5I7XLL2OW03BA",
"plenigoStepId": "S_XP3FJQH32LX3WVWRHC",
"price": 1,
"priceIssueId": 100041,
"productContractId": 100080,
"productId": "P_VFQFK5I7XLL2OW03BA",
"purchaseNumber": "",
"quantity": 1,
"status": "ACTIVE",
"subscriptionItemId": 1232074,
"taxType": "DIGITALPRODUCT",
"title": "Test"
}
],
"lastBookingDate": "2026-06-03T07:35:53.778031Z",
"managedBy": "PLENIGO",
"managedExternal": false,
"multiuserSettings": null,
"nextBookingDate": null,
"openDeliveries": 0,
"paused": null,
"paymentMethod": "CREDIT_CARD",
"paymentMethodDetails": {
"brand": "VISA"
},
"paymentMethodId": 1230295,
"paymentPaused": null,
"paymentTriesDone": 0,
"plenigoOfferId": "O_9MDKAABUM8FG7TT5KB",
"precursorId": 0,
"precursorReason": "",
"precursorReasonDetail": "",
"purchaseOrderIndicator": "",
"recurringDeliveries": false,
"referenceStartDate": "2026-06-03T00:00:00Z",
"startDate": "2026-06-03T07:35:53.778014Z",
"status": "ACTIVE",
"subscriptionId": 1231820,
"subscriptionType": "TIME_BASED",
"successorId": 1231821,
"successorReason": "CROSS_SELLING",
"successorReasonDetail": "LAST_BOOKING",
"successorReasonMerchant": "",
"suppressInvoiceSending": false,
"term": 2,
"termTimeSpan": "DAY"
}
}Bei
LAST_BOOKINGundNOW_WITH_INVOICINGlautet der Callback-TypCANCELLATIONstattCHANGE. Die entscheidenden Unterscheidungsmerkmale sindsuccessorReason: "CROSS_SELLING"und die befülltesuccessorId— diese Felder sind bei einer reinen Nutzerkündigung nie vorhanden.
Fehlgeschlagene Zahlung
Dieser Callback (entityType: FAILED_PAYMENT, callbackType: PAYMENT_FAILED) wird bei jedem einzelnen fehlgeschlagenen Zahlungsversuch eines Abonnements gesendet — also auch bei jedem automatischen Wiederholungsversuch der Prozesssteuerung, nicht nur beim letzten.
{
"entityType": "FAILED_PAYMENT",
"callbackType": "PAYMENT_FAILED",
"entityId": "0",
"entity": {
"paymentRetry": 3,
"subscription": {
"accessBlocked": false,
"accountingPeriod": 1,
"accountingPeriodTimeSpan": "MONTH",
"activePartners": null,
"analogInvoice": false,
"cancellationDate": null,
"cancellationPeriod": 7,
"cancellationPeriodTimeSpan": "DAY",
"cancellationReasonUniqueId": "",
"cancellationType": "TIME_BASED",
"chainId": 1230391,
"changedBy": "10013",
"changedByType": "MERCHANT",
"changedDate": "2026-05-30T00:01:13.240032Z",
"chargeableDeliveries": 0,
"connectedOffer": false,
"connectedOfferInfo": null,
"createdBy": "10013",
"createdByType": "MERCHANT",
"createdDate": "2026-05-21T09:20:02.599792Z",
"currency": "EUR",
"customerCancellationBlocked": false,
"customerCancellationReasonId": 0,
"deliveries": 0,
"deliveryAddressId": 1230174,
"deliveryCustomerId": "97",
"deliveryPaused": null,
"durationPeriod": 0,
"durationPeriodTimeSpan": "MONTH",
"endDate": null,
"externalBilling": false,
"externalSystemId": "",
"finishedDeliveries": 0,
"firstBookingDate": "2026-05-21T09:20:02.395838Z",
"invoiceAddressId": 1230175,
"invoiceCustomerId": "97",
"items": [
{
"accessRightUniqueId": "Digi",
"chainItemId": 1230477,
"changedBy": "10013",
"changedByType": "MERCHANT",
"changedDate": "2026-05-21T09:20:02.599792Z",
"connectedOfferInfo": null,
"corporateAccountId": 0,
"costCenter": "",
"createdBy": "10013",
"createdByType": "MERCHANT",
"createdDate": "2026-05-21T09:20:02.599792Z",
"creditCount": 0,
"creditWalletUniqueId": "",
"discountPercentage": 0,
"discountSettings": null,
"internalTitle": "Monthly Subscription",
"multiuserSettings": null,
"packageCancellationLocked": false,
"packageId": "",
"packageTitle": "",
"plenigoProductId": "P_A81TR7E86V3QTZ88NT",
"plenigoStepId": "S_P3PBYAXRG2ZKCIS02N",
"price": 17.99,
"priceIssueId": 100001,
"productContractId": 100001,
"productId": "P_A81TR7E86V3QTZ88NT",
"purchaseNumber": "",
"quantity": 1,
"status": "ACTIVE",
"subscriptionItemId": 1230477,
"taxType": "DIGITALNEWSPAPER",
"title": "Monthly Subscription"
}
],
"lastBookingDate": "2026-05-21T09:20:02.395838Z",
"managedBy": "PLENIGO",
"managedExternal": false,
"multiuserSettings": null,
"nextBookingDate": "2026-06-01T00:00:00Z",
"openDeliveries": 0,
"paused": null,
"paymentMethod": "CREDIT_CARD",
"paymentMethodId": 1230037,
"paymentPaused": null,
"paymentTriesDone": 3,
"plenigoOfferId": "O_B6AN8XIDB96XXQDT7Y",
"precursorId": 0,
"precursorReason": "",
"precursorReasonDetail": "",
"purchaseOrderIndicator": "",
"recurringDeliveries": false,
"referenceStartDate": "2026-05-26T00:00:00Z",
"startDate": "2026-05-26T00:00:00Z",
"status": "ACTIVE",
"subscriptionId": 1230391,
"subscriptionType": "TIME_BASED",
"successorId": 0,
"successorReason": "",
"successorReasonDetail": "",
"successorReasonMerchant": "",
"suppressInvoiceSending": false,
"term": 1,
"termTimeSpan": "MONTH"
}
}
}Die wichtigsten Felder
Feld | Bedeutung |
|---|---|
| Bei diesem Callback-Typ immer |
| Der wievielte Wiederholungsversuch als nächstes eingeplant wurde — keine Zählung der bereits unternommenen Versuche. Beim finalen Versuch wird kein weiterer eingeplant, der Wert wiederholt daher die vorherige Zahl. |
| Anzahl der für die aktuelle Abrechnungsperiode bereits unternommenen Zahlungsversuche. |
| Ob der Produktzugriff zum Zeitpunkt des Callbacks gesperrt ist. |
| Status des Abonnements. Bleibt während der Wiederholungsversuche |
| Beziehen sich auf die letzte Änderung am Abonnement, nicht auf den Auslöser des Zahlungsversuchs. Im Beispiel oben steht hier |
Was Du mit diesem Callback bauen kannst
Typischer Anwendungsfall ist eine eigene Erinnerungs- oder Warn-Mail an Deine Kunden, zusätzlich zu den Systemmails von Frisbii Media. Dafür musst Du wissen, welcher Callback der letzte in einer Wiederholungsserie ist — und das ist anhand von paymentRetry allein nicht erkennbar, weil sich der höchste Wert wiederholt. Im obigen Beispiel steht paymentRetry: 3; bei vier konfigurierten Zahlungsversuchen tritt dieser Wert sowohl beim vorletzten als auch beim finalen Callback auf.
Zwei zuverlässige Wege:
Trigger trennen (empfohlen) — Nutze
FAILED_PAYMENTausschließlich für Warn-Mails und steuere die "Abonnement gekündigt"-Mail über den Kündigungs-CallbackSUBSCRIPTION / CANCELLATION.Callbacks pro Abrechnungsperiode zählen — Du erhältst pro Abrechnungsperiode genau einen
FAILED_PAYMENT-Callback je konfiguriertem Zahlungsversuch. Der zweite Callback mit der höchstenpaymentRetry-Zahl ist der finale.
Hinweis: Nach dem letzten fehlgeschlagenen Versuch wird der Wiederholungszähler zurückgesetzt. Eine neue Abrechnungsperiode beginnt daher wieder bei
1. Eine erneute „1" bedeutet also nicht, dass der vorherige Mahnzyklus noch läuft.
In drei Fällen bricht die Prozesssteuerung sofort ab und der
FAILED_PAYMENT-Callback wird nicht ausgelöst: gesperrte Zahlungsart, nicht implementierte Zahlungsart und nicht verfügbarer PSP. Verlasse Dich in diesen Fällen nicht auf den Callback, sondern auf das Transaktionslog.
Kündigung durch die Prozesssteuerung erkennen
Kündigt die Prozesssteuerung ein Abonnement nach ausgeschöpften Zahlungsversuchen, sendet Frisbii Media SUBSCRIPTION / CANCELLATION und zusätzlich SUBSCRIPTION / ENDED, sobald das Abonnement inaktiv wird. Es gibt kein dediziertes Feld, das einen Zahlungsausfall als Kündigungsgrund ausweist.
Im ersten Schritt unterscheidest Du anhand von changedByType und changedBy, aus welcher Richtung die Kündigung kam:
Kündigung ausgelöst durch |
|
|
|---|---|---|
Systemseitig — Prozesssteuerung oder Vertriebsregel |
|
|
Kunde (Self Service) |
| Kunden-ID |
Kundenservice (Merchant Backend) |
| Benutzer-ID |
Da auch Kündigungen durch Vertriebsregeln SYSTEM und PLENIGO tragen (siehe die Beispiele oben), brauchst Du für systemseitige Kündigungen ein zweites Unterscheidungsmerkmal:
Merkmal | Vertriebsregel | Prozesssteuerung (Zahlungsausfall) |
|---|---|---|
| Gefüllt, z. B. | Leer |
| Verweist auf das Folgeabonnement |
|
Vorangehender | Nein | Ja |
Hinweis: Die zuverlässigste Methode ist die Korrelation: Ordne den
SUBSCRIPTION / CANCELLATION-Callback einem vorangehendenFAILED_PAYMENT-Callback für dieselbesubscriptionIdzu. Beide werden als Teil desselben Prozesssteuerungsvorgangs gesendet.