collana pay app v28.0.2609.816 - 02.09.2026

  • Aktualisiert

Diese Release Notes beschreiben die Änderungen in den Versionen 28.0.2609.816, 27.0.2609.823 und 26.0.2609.825 der collana pay App vom 02.09.2026.

Fehlerbehebungen

Rundungsdifferenzen bei Teilreklamationen blockieren Erstattungen nicht mehr

Business Central berechnet die Rabatt- und MwSt.-Rundung bei jeder Teilreklamation neu. Dadurch können die Beträge mehrerer Teilreklamationen derselben Rechnungszeile um wenige Cent vom erfassten Betrag abweichen. Solche Reklamationen wurden bisher mit dem Fehler No capture was found for the given return order abgelehnt und ließen sich nur per Force Credit buchen.

  • Erstattungen tolerieren diese Cent-Differenzen jetzt, bis zu einem Cent pro erfasster Einheit
  • Der erstattete Betrag wird automatisch auf den verbleibenden erfassten Betrag begrenzt. Eine Erstattung kann den Capture dadurch nie übersteigen
  • Bei Belegen mit Preisen ohne MwSt. wurde der anteilige Zeilenrabatt für den Abgleich von Reklamationszeilen mit erfassten Positionen falsch berechnet; dies wurde ebenfalls korrigiert

Benachrichtigungen zu Auto Capture und Auto Void werden korrekt verarbeitet

Benachrichtigungen zu Captures und Voids, die der PSP automatisch ausführt (Auto Capture / Auto Void), blieben bisher mit einem Fehler liegen.

  • Solche Benachrichtigungen werden jetzt verarbeitet bzw. mit einem erklärenden Hinweis abgeschlossen; bei Bedarf wird der Capture-Logeintrag aus der Benachrichtigung erstellt und die Transaktion gilt als captured
  • Die farbliche Hervorhebung des Statustextes im Transaktionslog funktioniert jetzt auch in nicht-englischen Sitzungen korrekt

Mehrfache Refunds auf dieselbe Rechnung und denselben Artikel

Die Prüfung, ob ein Capture für einen Refund verwendet werden kann, basiert jetzt auf dem verbleibenden erstattbaren Betrag statt auf der Menge. Ein Capture lässt sich für Refunds verwenden, bis sein Betrag ausgeschöpft ist.

  • Damit funktionieren mehrere Reklamationen zur gleichen gebuchten Rechnung und zum gleichen Artikel wieder – etwa eine Wertgutschrift über einen Teilbetrag, gefolgt von einer Retoure des Artikels, auch mit 100 % Zeilenrabatt
  • Der Fehler No capture was found for the given return order tritt in diesen Fällen nicht mehr auf; die Fehlermeldung wurde entsprechend überarbeitet
  • Für bestehende Installationen: Die Menge blockiert einen Refund nicht mehr, entscheidend ist der Betrag. Eine Reklamation, deren Betrag den Rest des Captures übersteigt, wird weiterhin abgelehnt
Hinweis für Partner:
Der Integration Event OnAfterCaptureNotRefundable enthält zusätzlich den neuen Parameter HighestRemainingAmount; bestehende Subscriber sind davon nicht betroffen.

Fehlende Artikel am Capture-Logeintrag bei Transaktionen ohne Warenkorbübertragung behoben

Bei Transaktionen ohne Warenkorbübertragung (No Cart) blieben Capture-Logeinträge, die aus einer Statusabfrage erstellt wurden (z. B. bei Auto Capture), ohne Transaktionsartikel, sobald ein anderer Logeintrag bereits Artikel besaß. Beim Buchen der Verkaufsbestellung kam es dadurch zum Fehler Item ... not found in Transaction Items ... during the Amount Clearing process, obwohl die Rechnung zu diesem Zeitpunkt bereits gebucht war.

  • Die Transaktionsartikel werden jetzt auch in diesem Fall auf den Capture-Logeintrag übernommen, sodass das Buchen fehlerfrei durchläuft
  • Die Übernahme erfolgt nur, wenn sie eindeutig ist: genau ein erfolgreiches Capture, dessen Betrag den Verkaufszeilen entspricht, und ein noch nicht weiter fortgeschrittener Zahlungsprozess
  • Weichen die Beträge ab, werden keine Artikel übernommen; das Freigeben stoppt an der bestehenden Prüfung der Verkaufszeilen. Der Fall lässt sich über eine neue Transaktion mit korrigierten Verkaufszeilen lösen
  • Für Transaktionen mit Warenkorbübertragung ändert sich nichts

Verbesserungen & Erweiterungen

Optimierte Capture-Auswahl bei Refunds (Tightest Fit)

Können mehrere Captures einen Refund bedienen, gewinnt weiterhin das Capture mit den meisten passenden Zeilen. Bei Gleichstand wird jetzt das Capture mit dem niedrigsten verbleibenden erstattbaren Betrag gewählt, der die Zeile noch deckt, statt des zuerst gefundenen.

  • Teil-Refunds verbrauchen dadurch zuerst bereits angebrochene Captures; vollere Captures bleiben für spätere Refunds mit höheren Beträgen erhalten
  • Der Fehler No capture was found for the given return order durch über mehrere Captures verteilte Restbeträge wird damit vermieden
  • Für bestehende Installationen: Ein Refund kann jetzt ein anderes Capture verwenden als bisher; an den erstatteten Beträgen ändert sich nichts
Hinweis für Partner:
Die neue Auswahl greift nur, wenn keine anderen Capture-Informationen vorliegen. Der Integration Event OnBeforeSetBestCaptureID sowie die Felder Capture Referenz in den Zeilen und Ausgleich mit Belegnr. haben weiterhin Vorrang und bleiben unverändert.

PayPal Express Import: Transaction Identifier 1 als Capture-/Autorisierungs-ID

Beim Import von PayPal-Transaktionen wird die in Transaction Identifier 1 hinterlegte PayPal-ID automatisch als Capture- bzw. Autorisierungs-ID übermittelt.

  • Diese Sonderbehandlung greift jetzt auch für die Zahlungsmethode PayPalExpress; die ID muss dort nicht mehr in Transaction Identifier 2 eingetragen werden

Klarere Fehlermeldung bei nicht zuordenbaren Warenkorbpositionen

Wenn eine von collana pay als Versandkosten oder Gutschein gemeldete Warenkorbposition keinem Transaktionsartikel zugeordnet werden kann – typischerweise weil der collana pay Subtyp am Artikel oder an der Ressource nicht gesetzt ist –, weist die Fehlermeldung jetzt auf diese mögliche Ursache hin.

  • Der Fehler bietet zusätzlich einen Link zur betroffenen Transaktion; die Transaktions-GUID steht in der detaillierten Meldung
  • Die Zuordnungslogik selbst bleibt unverändert

Neue Publisher und Integrationsevents

Hinweis für Partner:
Die folgenden Events sind ausschließlich für Partner relevant, die eigene Erweiterungen auf collana pay aufsetzen.

Neuer Publisher: OnAfterUpdatePayByLink

Der Event-Publisher OnAfterUpdatePayByLink in der Codeunit PAY WebServ Communication HVE wird ausgelöst, sobald eine Notification einen Zahlungslink enthält, der vom bisher an der Transaktion gespeicherten Link abweicht – also beim ersten Link oder wenn ein abgelaufener Link erneuert wurde.

  • Erweiterungen können damit Folgeaktionen anbinden, zum Beispiel den erneuten Versand der Zahlungslink-E-Mail
  • Der bisherige Link wird mitgegeben, sodass sich Erstlink und Erneuerung unterscheiden lassen
  • Für bestehende Installationen ändert sich nichts, solange keine Erweiterung das Event abonniert

Verknüpfung mit