Tak jest obecnie, natomiast potrzebujemy rozszerzenia tego mechanizmu aby zapewnić lepszą synchronizację danych pomiędzy systemami. Przy obecnym rozwiązaniu mieliśmy kilka problemów. Na przykład zdarzały się błędnie wygenerowane linki zgłaszane przez użytkowników, spowodowane edge case’ami w LMS. Generowanie linków przez API pozwoli wykrywać błędy na wcześniejszym etapie bez konieczności angażowania użytkowników. Obecnie jesteśmy w trakcie tworzenia nowego API, które dodatkowo będzie umożliwiało anulowanie linku po wykonaniu płatności innym źródłem. Teoretycznie moglibyśmy generować linki przed wysłaniem maila z fakturą, ale nie wszyscy użytkownicy mają w LMS adres e-mail. Ogólnie jest dużo sposobów dystrybucji tych linków i najlepiej jakby były one generowane w jednym miejscu. Ponadto jeśli linki będą wygenerowane tylko raz, po wystawieniu faktury, to ładowanie listy faktur w userpanelu będzie szybsze.

czw., 16 lip 2020 o 10:03 Tomasz Chiliński <tomasz.chilinski@chilan.com> napisał(a):
W dniu 15.07.2020 19:52, Paweł Sienkiewicz napisał(a):
> Celem jest przechwytywanie tworzenia wszystkich sensownych
> obciążeń/faktur i generowanie dla nich linków, które będą
> zapisywane w bazie danych. Dzięki temu za każdym razem przy:
>
>       * tworzeniu płatności będzie generowany nowy link
>       * próbie dokonania płatności przez użytkownika link będzie
> pobierany z bazy
>
> Istotne jest żeby generowanie linku działo się podczas tworzenia
> obciążeń/faktur. Z tego powodu rozważam hook w lms-payments.php
> oraz wszędzie gdzie tworzone są faktury. Zastanawia mnie gdzie jest
> odpowiednie miejsce do takiego wpięcia? Do wygenerowania linka
> potrzebne są: numer konta bankowego, kwota płatności oraz jej
> tytuł.

Witam,

dlaczego takiego linku dla płatności nie można generować na bieżąco, gdy
klient
chce coś opłacić (dopiero wtedy)?

>
> śr., 15 lip 2020 o 16:48 Tomasz Chiliński
> <tomasz.chilinski@chilan.com> napisał(a):
>
>> W dniu 13.07.2020 12:46, Paweł Sienkiewicz napisał(a):
>>> Witam,
>>
>> Witam,
>>
>>> implementuję rozszerzenie wtyczki BillTech służącej do
>> rozliczania
>>> opłat za internet z zewnętrznym systemem płatności. Wtyczka ma
>> za
>>> zadanie przetworzyć dane z faktury w momencie ich tworzenia oraz
>> na
>>> ich podstawie dokonać zapisu w specjalnej tabeli w bazie danych.
>> Z
>>> przeprowadzonej analizy dowiedziałem się, że opłaty są
>> wystawiane
>>> przez frontend w sekcji Finanse (nowa faktura/nota odsetkowa/...)
>> oraz
>>> przez skrypt lms-payments.php na podstawie subskrypcji.
>>>
>>> Jako kandydatów na płatności rozpatrywałem rekordy z tabel
>> cash,
>>> invoicecontents lub liabilities ale używając skryptu genfake w
>>> dwóch ostatnich nic się nie znajduje pomimo, że faktury się
>>> wygenerowały, więc skupiam się na tabeli cash.
>>
>> 'cash' - operacje finansowe,
>> 'invoicecontents' - pozycje faktur - mają pewne informacje,
>> których nie
>> posiadają
>> powiązane z nimi rekordy w 'cash' np. liczba sztuk.
>>
>>> W związku z powyższym zastanawiam się, w których miejscach w
>>> kodzie mógłbym się wpiąć, tak żeby złapać wystawianie
>>> wszystkich płatności, które pojawiają się w userpanelu i są
>> do
>>> opłacenia przez użytkowników? Czy istnieje odpowiedni hook do
>>> takiego zastosowania czy będzie trzeba go stworzyć? Dla
>>> lms-payments.php mamy "payments_before_assignment_loop", który
>> wydaje
>>
>> Ten hook służy raczej do tego, żeby móc dodać z zewnątrz nowe
>> subskrypcje, które
>> potem uwzględni główna pętla skryptu i wygeneruje na ich
>> podstawie
>> obciążenia.
>>
>>> się być stworzony właśnie w tym celu ale dane nie są jeszcze
>>> dodane do bazy danych, więc to może generować problemy, gdy
>> skrypt
>>> się wywali. Z drugiej strony zapisywanie w bazie faktur
>> dodawanych
>>> przez frontend dzieje się w wielu miejscach i nie widzę jednego
>>> zbiorczego miejsca. Dotychczas szukałem najlepszego miejsca w
>> kodzie
>>> poprzez wyszukiwania zapytań SQL na tabeli cash.
>>
>> Co chcesz dokładnie uzyskać? Ze strzępków informacji
>> wyobraziłem sobie
>> sytuację w której chcesz przechwytywać w jakimś celu wszystkie
>> generowane obciążenia (?)
>> i coś z nimi robić? Co za dane określone frazą "ich podstawie
>> dokonać
>> zapisu w specjalnej tabeli w bazie danych".
>>
>>> Pozdrawiam,
>>> Paweł
>>
>> --
>> Pozdrawiam
>> Tomasz Chiliński, Chilan
>> opiekun projektu LMS - https://lms.org.pl
>> kierownik projektu LMS Plus / LMS+ - https://lms-plus.org
>> _______________________________________________
>> lms mailing list
>> lms@lists.lms.org.pl
>> https://lists.lms.org.pl/mailman/listinfo/lms
> _______________________________________________
> lms mailing list
> lms@lists.lms.org.pl
> https://lists.lms.org.pl/mailman/listinfo/lms

--
Pozdrawiam
Tomasz Chiliński, Chilan
opiekun projektu LMS - https://lms.org.pl
kierownik projektu LMS Plus / LMS+ - https://lms-plus.org
_______________________________________________
lms mailing list
lms@lists.lms.org.pl
https://lists.lms.org.pl/mailman/listinfo/lms