Przejdź do głównej zawartości

Powiadomienia o usuwaniu zewnętrznej płatności z zamówienia zostały dodane do API V8

Podczas próby usunięcia zewnętrznej płatności wywoływana jest metoda OnPaymentDeleting na odpowiednim IPaymentProcessor.

Niektóre systemy płatności wymagają dokonania płatności w systemie zewnętrznym zanim zamówienie zostanie opłacone w Syrve, więc istnieje okres czasu, gdy płatność została już dokonana w systemie zewnętrznym, ale jeszcze nie w Syrve.
Wcześniej użytkownik mógł usunąć taką płatność bez śladu, a ponieważ Syrve traktowało tę płatność jako nieuregulowaną, była ona usuwana bez anulowania, co prowadziło do błędnej dodatkowej transakcji w systemie zewnętrznym.

Teraz procesor płatności w metodzie OnPaymentDeleting może według własnego uznania:

  • nic nie robić - jeśli płatność nie została jeszcze dokonana i nie wymaga żadnych działań przy usuwaniu,
  • anulować płatność w systemie zewnętrznym,
  • zabronić usunięcia płatności w Syrve generując jeden z wyjątków:
    • PaymentActionCancelledException — anulowanie usunięcia bez dodatkowych komunikatów (np. jeśli wtyczka wcześniej wyświetliła jakieś pytanie, a użytkownik wybrał anulowanie),
    • PaymentActionFailedException — zakaz usunięcia z wyświetleniem komunikatu o błędzie (np. jeśli nie udało się anulować płatności w systemie zewnętrznym).

Na razie działa to tylko przy próbie usunięcia z ekranu płatności. Wywołanie metody OnPaymentDeleting podczas usuwania płatności przez API (DeleteExternalPaymentItem) zostanie zaimplementowane później.