Paiement

Payment

{
    "totalHT": 1400,    //Montant total HT sans réduction
    "totalHTDiscounted": 1000,  //Montant total HT avec réduction
    "totalExact": 1210.1, //Montant total HT avec réduction + taxes exacte
    "totalWithTaxReal": 1210, //Montant total HT avec réduction + taxes exacte arrondie
    "changeReturned": 0, // Monnaie change
    "totalPaid": 1210, //Total payé par le client
    "paymentDetails": [ { PaymentEntry } ], //Moyen de paiement
    "taxesDetails": { }, //Taxes du panier
    "totalRemaining": 0, // Montant restant à payer
}

PaymentEntry

{
    "paymentMethod": "cash", //method de paiement
    "amount": 547, //Montant à payer avec ce moyen de paiement
    "totalPaid": 1000, //Montant donné par le client
    "entryPaid": true
    ...
}

Methode paiement (PaymentEntry)

Différents moyens de paiments sont pris en compte :

  • cash : espèce
  • check : chèque
  • card : carte blue
  • jade : carte jade
  • amex : carte amex
  • voucher : avoir
  • prepaid : prépayé
  • deferred : paiement différe //pour la vente aux salariés

Espèce

{
    "paymentMethod": "cash",
    "amount": 547, //Montant à payer
    "totalPaid": 1000, //Montant donné par le client
    "entryPaid": true, 
    ...
}

Chèque

{
    "paymentMethod": "check",
    "amount": 547,
    "totalPaid": 547,
    "entryPaid": true,
    ...,
    "bankId": "abd548-c5751c588"
}

Carte blue, carte jade, carte amex

{
    "paymentMethod": "card",
    "amount": 1000,
    "totalPaid": 1000,
    "entryPaid": true,
    ...
    "terminalData": { Map<String, Object> }, // Réponse obtenue par le terminal de carte 
}

Avoir

Si l’avoir à un montant supérieur aux montant à payer, il n’y a pas remboursement.

{
    "paymentMethod": "voucher",
    "amount": 1000,
    "totalPaid": 1700,
    "entryPaid": true,
    ...
    "voucherID": "8bc8ffd3-98fd-4b10-817a-b347500e4448", // id de l'avoir utilisé
}

Prépayé

Un prépayé est considéré comme une moyen de paiement mais à pour effet une réduction sur les lignes de cinéma uniquement (line.lineType=show).
A chaque utilisation d’un prépayé pour un panier, on ajout un moyen de paiment qui a une valeur de zéro au paiement.
Ce moyen de paiement est un cas particulier.

{
    "paymentMethod": "prepaid",
    "amount": 0,
    "totalPaid": 0,
    "entryPaid": true,
    ...
    "prepaidEntry": {
        "prepaidId": "7bc8fcf3-45fd-4b10-817a-b347500e79d4", // id du prépayé utilisé pour se panier
        "amountHT": "1194" // montant HT théorique du prépayé
    }
}