Enregistrer des paiements
L'API ernregistrer des paiements permet aux utilisateurs de l'OD d'enregistrer des paiements sur une vente (avec ou sans facture)
Pré-requis
- Posséder un compte OD
- Avoir créé une connexion PDP ou PPF
- Avoir un identifiant de facture de vente ou de vente
Requête
Pour enregistrer des paiements sur une vente, on fait une requête PATCH sur un des chemins d'accès suivants:
v1/ventes/factures/<identifiant facture>
v1/ventes/<identifiant vente>
On doit passer:
- L'identifiant utilisateur de l'OD dans l'en-tête X-OD-User-ID
- Le contenu du patch au format JSON Patch dans le corps de la requête
Le patch doit affecter un tableau de paiements à la propriété paiements de la facture de vente ou de la vente
Par exemple:
- cURL
- Typescript
Requête d'enregistrement de paiements sur une facture de vente ou une vente
curl \
-X PATCH \
-H 'X-OD-User-ID: ${userId}' \
-H 'Content-Type: application/json-patch+json; charset=utf-8' \
-d @paiements.json \
http://<host>:<port>/v1/ventes/factures/26ad3a21-615e-40ea-a05a-2ac8e8a2f373
# http://<host>:<port>/v1/ventes/26ad3a21-615e-40ea-a05a-2ac8e8a2f373
Requête d'ernregistrement de paiements sur une facture de vente ou une vente
const url = 'http://<host>:<port>/v1/ventes/factures/26ad3a21-615e-40ea-a05a-2ac8e8a2f373'
// const url = 'http://<host>:<port>/v1/ventes/26ad3a21-615e-40ea-a05a-2ac8e8a2f373'
const data = fs.readFileSync('paiements.json');
const response: AxiosResponse = await axios.patch(url, data, {
headers: {
'X-OD-User-ID': userId,
'Content-Type': 'application/json-patch+json; charset=utf-8',
}
});
Fichier paiements.json
[
{
"op": "add",
"path": "/paiements",
"value": [
{
"id": "f47d9ab9-a47f-440a-976d-081a951d7698",
"dateEncaissement": "2024-02-26T15:43:55.076Z",
"codeDevise": "EUR",
"montantHt": 103.55,
"tauxTva": 20
},
{
"id": "145a0398-539e-4456-9ebc-651db5db5330",
"dateEncaissement": "2024-02-26T15:43:55.076Z",
"codeDevise": "EUR",
"montantHt": 34.55,
"tauxTva": 5
},
// ... autres paiements
]
}
]
Données de paiement
| Propriété | Valeur | Requis |
|---|---|---|
| paiements[i].id | Identifiant du paiement (UUID) | Oui |
| paiements[i].dateEncaissement | Date d'encaissement du paiement | Oui |
| paiements[i].codeDevise | Code ISO 4217 | Non (par défaut EUR) |
| paiements[i].montantHt | Montant hors taxes du paiement | Oui |
| paiements[i].tauxTva | Taux de TVA applicable au montant hors taxes du paiement | Oui |
attention
La somme des montants hors taxes doit être inférieure ou égale au montant hors taxes de la facture de vente ou de la vente
Réponse
Si l'enregistrement des paiements a été fait avec succès, la réponse de l'OD est 204 No Content
Erreurs
Si une erreur s'est produite, les codes et messages suivants peuvent être retournés:
| Code | Message |
|---|---|
| 400 Bad Request | Requête invalide - Voir messages d'erreur |
| 401 Unauthorized | Informations d'authentification invalides |
| 403 Forbidden | Droits insuffisants pour effectuer cette action |
| 404 Not Found | La vente n'a pas été trouvée |
Impact
- Les paiements sont enregistrés sur la facture de vente ou la vente
- Si les paiements concernent une facture de vente, celle-ci est mise à jour sur la PDP choisie par l'utilisateur ou le PPF
- Si les paiements concernent une vente, une déclaration de paiement est ajoutée automatiquement aux données de e-reporting en attente de transmission