- Expediere
- 28 mai 2026 la 21:01 UTC
- Autor
- Kamo
- Comite
- 0c59054
Mişcarea banilor ( Miezul P1): - LoanPaymentPostingService: MarkSucceedAndPost / MarkFailed / MarkReturnedAndReverse/markDisbursementSucceed/markDrawDisbursed. Ordin de alocare blocat: taxe → dobândă → principal. Advance auto de stare DELINQUENT ↔ SUBSTANŢĂ ↔ PIED OFF pe baza echilibrului rezultat. - StripeWebhookService nu mai este log numai: payment int.succesed / payment failed / charge.refinanțate (retur ACH) / dispute.create+închis/ payout.paid+a eșuat tot avansul registrul prin PostingService. - NachaReturnCode + RetryScheduler: NACHA-conforme R-code de detailare R01/R09 retrimitere până la 2× / 5 zile distanță, R07/R10/R29 revocă mandatul; retries epuizat flip LoanPaymentMetoda → REQUIRES REVERIFY. Materializare comercială-verticală: - ************* acum creează logodnă (PERSONAL LOANS, COMITET), angajament (Activ, cu tarife + termene JSON poze), Ordin (AUTORIZED, subtotal=principal) și fire ID-urile lor înapoi la împrumut.angajamentUid / angajamentUid / irecomandantOrderUid in aceeaşi tranzacţie. Cron locuri de muncă (logică reală, nu cioburi): - CoolingOffAdvanceJob: enqueues a PELLING DISBURSEMENT OUT payment for Fiecare PENSII DISBURSARE Împrumutul a cărui răcire a expirat. - DobandaAcrualJob: zi de zi simple-dobândă de cumpărare pe principalBalance pentru credite ACTIVE + DELINQUENT. - DeclaratieGenerationJob: rate per-due-date statement, LOC per-cycle declarație cu aproximare ADB + evaluare anuală a taxelor + plată automată Programare. - AutoDebitRunJob: incendii pending auto-debits + DISBURSEMENT out payout + NACHA retries via StripeConnectService with idempotence keys. - ReconciliereJob: re-suma pe timp de noapte a taxelor/principal/echilibrul din Registrul; corecția de derivă autentificată + auditată. - ReamintireDispatchJob: trage notificări SCHEDULED trecut programatPentru și livrează prin NotificationDispatchService. Notificări: - *************** real HTTP POST to EmailService (/api/email/tranzactional/send) și VOIPService (/api/voip/sms/send, /api/voip/voice/send), șablonKey = "împrumut. {kind lowercase}." Validare: - LoanProductValidationService: aplică APR ≤ plafon de stat (per tip); controale de natură interzisă, min/max-principal. Legat LoanProductService.creare + actualizare. Încărcare: - LoanChargeOffService.queue () listează D120 credite; .confirmă() statutul flips pentru a percepe OFF și scrie un eveniment de audit exigibil. - LoanChargeOffController expune - Nu. Navigare audit: - LoanAuditEvenimentController expune - Nu