feat(sage_client): add new payment parameters and make fields optional

This commit is contained in:
Fanilo-Nantenaina 2026-01-15 16:56:25 +03:00
parent beabefa3f9
commit 6f2136c3ca

View file

@ -447,11 +447,15 @@ class SageGatewayClient:
self, self,
numero_facture: str, numero_facture: str,
montant: float, montant: float,
mode_reglement: int = 2, mode_reglement: int = 0,
date_reglement: str = None, date_reglement: str = None,
reference: str = "", reference: str = "",
libelle: str = "", libelle: str = "",
code_journal: str = "BEU", code_journal: str = None,
devise_code: int = 0,
cours_devise: float = 1.0,
tva_encaissement: bool = False,
compte_general: str = None,
) -> dict: ) -> dict:
"""Règle une facture""" """Règle une facture"""
payload = { payload = {
@ -459,10 +463,18 @@ class SageGatewayClient:
"mode_reglement": mode_reglement, "mode_reglement": mode_reglement,
"reference": reference, "reference": reference,
"libelle": libelle, "libelle": libelle,
"code_journal": code_journal, "devise_code": devise_code,
"cours_devise": cours_devise,
"tva_encaissement": tva_encaissement,
} }
# Champs optionnels
if date_reglement: if date_reglement:
payload["date_reglement"] = date_reglement payload["date_reglement"] = date_reglement
if code_journal:
payload["code_journal"] = code_journal
if compte_general:
payload["compte_general"] = compte_general
return self._post(f"/sage/factures/{numero_facture}/regler", payload).get( return self._post(f"/sage/factures/{numero_facture}/regler", payload).get(
"data", {} "data", {}
@ -472,12 +484,15 @@ class SageGatewayClient:
self, self,
client_code: str, client_code: str,
montant_total: float, montant_total: float,
mode_reglement: int = 2, mode_reglement: int = 0,
date_reglement: str = None, date_reglement: str = None,
reference: str = "", reference: str = "",
libelle: str = "", libelle: str = "",
code_journal: str = "BEU", code_journal: str = None,
numeros_factures: list = None, numeros_factures: list = None,
devise_code: int = 0,
cours_devise: float = 1.0,
tva_encaissement: bool = False,
) -> dict: ) -> dict:
"""Règle plusieurs factures d'un client""" """Règle plusieurs factures d'un client"""
payload = { payload = {
@ -486,10 +501,15 @@ class SageGatewayClient:
"mode_reglement": mode_reglement, "mode_reglement": mode_reglement,
"reference": reference, "reference": reference,
"libelle": libelle, "libelle": libelle,
"code_journal": code_journal, "devise_code": devise_code,
"cours_devise": cours_devise,
"tva_encaissement": tva_encaissement,
} }
if date_reglement: if date_reglement:
payload["date_reglement"] = date_reglement payload["date_reglement"] = date_reglement
if code_journal:
payload["code_journal"] = code_journal
if numeros_factures: if numeros_factures:
payload["numeros_factures"] = numeros_factures payload["numeros_factures"] = numeros_factures