Données de panier

Précision sur les données contextuelles attendues dans les paiements

L'objet paiement dispose d'une variable cart.items[] permettant de spécifier un ensemble de valeurs lié au contenu du panier. Ces données enrichies permettent :

  • d'améliorer la détection et la prévention de la fraude
  • de mieux connaitre les habitudes clients

Et ainsi d'améliorer la performance globale (acception, conversion, ...) avec Alma.

Données communes

Chaque élément du panier peut-être décrit à l'aide de ces champs:

ChampTypeCommentaireStatut
payment.cart.items[]Liste d'objetsContient les éléments de panierRequis
payment.cart.items[].skustringIdentifiant produitOptionnel
payment.cart.items[].vendorstringMarque du produit venduOptionnel
payment.cart.items[].titlestringNom du produitRequis
payment.cart.items[].variant_titlestringAutre nom possible du produitOptionnel
payment.cart.items[].quantityintegerQuantité du produitRequis
payment.cart.items[].unit_priceintegerPrix du produit unitaire en centimesRequis
payment.cart.items[].line_priceintegerTotal du prix en centimesRequis
payment.cart.items[].is_giftbooleanMarquer le produit comme offertOptionnel
payment.cart.items[].categoriesListe de stringsCatégorie du produitOptionnel
payment.cart.items[].urlstringLien URL de la page produitOptionnel
payment.cart.items[].picture_urlstringLien URL de l'image du produitOptionnel
payment.cart.items[].requires_shippingbooleanPréciser si livraison physique nécessaireRequis
payment.cart.items[].tax_includedbooleanPréciser si le prix est TTCRequis
payment.cart.items[].extra_data[]ObjetVoir sections ci-dessousObligatoire selon cas

Autres éléments relatifs au paiement :

ChampTypeCommentaireStatut
payment.cart.discounts[]Liste d'objetsPrécise les détails en cas de réductionOptionnel
payment.cart.discounts[].titlestringNom de la campagne marketingOptionnel
payment.cart.discounts[].amountsintegerMontant du rabais en centimesOptionnel
{
  "payment": {
    ...
    "cart": {
      "items": [
        {
          "sku": "XXXXXXXXXX",
          "vendor": "mattel",
          "title": "pink sofa ",
          "variant_title": "pink sofa - Barbie edition",
          "quantity": 1,
          "unit_price": 25000,
          "line_price": 25000,
          "is_gift": false,
          "categories": [
            "furniture",
            "home",
            "decoration"
          ],
          "url": "https://www.xxxx.com",
          "picture_url": "https://www.yyyy.com",
          "requires_shipping": true,
          "taxes_included": true
        }
      ],
      "discounts": [ // optional - discounts applied to the purchase
        {
          "title": "welcome to pink world",
          "amount": 5000
        }
      ]
    }
  }
}

Activités spécifiques

Selon les activités exercées, il est demandé de fournir des données spécifiques additionnelles permettant à notre algorithme de mieux scorer vos clients, considérant les particularités de vos industries. Dès lors que vous exercez une de ces activités, ces données sont requises.

Ces données doivent être précisées dans la variable payment.cart.items[].extra_data[]

💡

Si vous n'êtes pas toujours en mesure de fournir les données demandées ci-dessous au moment du paiement, des canaux de partage asynchrones sont envisageables: nos équipes techniques sont à disposition pour en parler.

Train

🔴 Obligatoires pour les paiement incluant des voyages ferroviaires

ChampTypeDescriptionValeurs autoriséesStatut
payment.cart.items[].extra_data[].typestringtrainRequis
payment.cart.items[].extra_data[].departure_datedatetimeDate de départISO 8601Requis
payment.cart.items[].extra_data[].departure_stationstringGare de départRequis
payment.cart.items[].extra_data[].arrival_stationstringGare d'arrivéeRequis
payment.cart.items[].extra_data[].train_numberstringNuméro de trainOptionnel
{
  "payment": {
    ...
    "cart": {
      "items": {
        "title": "Train ticket",
        "quantity": 1,
        "line_price": 10000,
        "extra_data": [
          {
            "type": "train",
            "departure_date": "2026-06-13T09:45:00Z",
            "departure_station": "Lyon - Part Dieu",
            "arrival_station": "Paris - Gare de Lyon",
            "train_number": "0000"
          }
        ]
      }
    }
  }
}

Vol

🔴 Obligatoires pour les paiement incluant des voyages aériens

ChampTypeDescriptionValeurs autoriséesStatut
payment.cart.items[].extra_data[].typestringflightRequis
payment.cart.items[].extra_data[].refund_policystringRègles relatives au remboursement et à l'échange des billetsexchangeable · refundable · both · nullOptionnel
payment.cart.items[].extra_data[].departure_datedatetimeDate de départISO 8601Requis
payment.cart.items[].extra_data[].departure_airportstringAéroport de départIATA airport codeRequis
payment.cart.items[].extra_data[].arrival_airportstringAéroport d'arrivéeIATA airport codeRequis
payment.cart.items[].extra_data[].flight_numberstringNuméro de volOptionnel
payment.cart.items[].extra_data[].travel_classstringClasseeconomy · business · firstOptionnel
payment.cart.items[].extra_data[].passenger_countintegerNombre de passager≥ 1Optionnel
payment.cart.items[].extra_data[].passengers[].typestringType de passagerPTCRequis
{
  "payment": {
    ...
    "cart": {
      "items": {
        "title": "Flight ticket",
        "quantity": 1,
        "line_price": 10000,
        "extra_data": [
          {
            "type": "flight",
            "arrival_airport": "LIS",
            "departure_airport": "CDG",
            "departure_date": "2026-06-13T09:45:00Z",
            "flight_number": "XXXXX",
            "passenger_count": 2,
            "passengers": [
              {
                "type": "ADT"
              },
              {
                "type": "ADT"
              }
            ],
            "refund_policy": "refundable",
            "travel_class": "economy"
          }
        ]
      }
    }
  }
}

Hébergement

🔴 Obligatoires pour les paiement incluant des activités de tourisme, hébergement et autre locations de logements saisonniers

ChampTypeDescriptionValeurs autoriséesStatut
payment.cart.items[].extra_data[].typestringaccommodationRequis
payment.cart.items[].extra_data[].check_indatetimeDate d'arrivéeISO 8601Requis
payment.cart.items[].extra_data[].check_outdatetimeDate de départISO 8601Requis
payment.cart.items[].extra_data[].booking_referencestringRéférenceOptionnel
payment.cart.items[].extra_data[].room_countintegerNombre de chambresOptionnel
payment.cart.items[].extra_data[].guest_countintegerNombre de personnes≥ 1Optionnel
{
  "payment": {
    ...
    "cart": {
      "items": {
        "title": "One night at a hotel",
        "quantity": 1,
        "line_price": 10000,
        "extra_data": [
          {
            "type": "accommodation",
            "booking_reference": "XXXXX",
            "check_in": "2026-06-13T15:00:00Z",
            "check_out": "2026-06-14T10:00:00Z",
            "guest_count": 2,
            "room_count": 1
          }
        ]
      }
    }
  }
}

Assurance

🔴 Obligatoires pour les paiement incluant des activités assurantielles

ChampTypeDescriptionValeurs autoriséesStatut
payment.cart.items[].extra_data[].typestringinsuranceRequis
payment.cart.items[].extra_data[].operator_namestringNom de la compagnie d'assuranceRequis
payment.cart.items[].extra_data[].policy_numberstringNuméro d'assuranceOptionnel
payment.cart.items[].extra_data[].coverage_start_datedatetimeDate de débutISO 8601Requis
payment.cart.items[].extra_data[].coverage_end_datedatetimeDate de finISO 8601Optionnel
payment.cart.items[].extra_data[].insured_amountintegerMontant couvertRequis
{
  "payment": {
    ...
    "cart": {
      "items": {
        "title": "One-day insurance",
        "quantity": 1,
        "line_price": 10000,
        "extra_data": [
          {
            "type": "insurance",
            "insured_amount": 900000,
            "operator_name": "XXXXX",
            "policy_number": "000 0000000/00000000",
            "coverage_start_date": "2026-06-13T15:00:00Z",
            "coverage_end_date": "2026-06-14T10:00:00Z"
          }
        ]
      }
    }
  }
}

Marketplace

L'ensemble des données enrichies demandées ci-dessous permet d'identifier les transactions générées via une place de marché et ainsi mieux évaluer les risques par vendeurs et transactions. Dès lors que vous exercez une activité de place de marché, ces données sont �� obligatoires.

Ces données doivent être précisées dans la variable payment.cart.items[].marketplace_seller[]

💡

Si vous n'êtes pas toujours en mesure de fournir les données demandées ci-dessous au moment du paiement, des canaux de partage asynchrones sont envisageables: nos équipes techniques sont à disposition pour en parler.

Données générales

ChampTypeDescriptionValeurs autoriséesStatut
payment.cart.items[].marketplace_seller.account_idstringId du compte vendeur sur votre siteRequis
payment.cart.items[].marketplace_seller.account_createddatetimeDate de création du compte sur votre siteISO 8601Requis
payment.cart.items[].marketplace_seller.countrystringPays du vendeurISO 3166-1 alpha-2Requis
payment.cart.items[].marketplace_seller.websitestringLien url de son site internetURL valideOptionnel
payment.cart.items[].marketplace_seller.ratingfloatEvaluation du vendeur sur votre site[0-5]Optionnel
payment.cart.items[].marketplace_seller.tagsstring[]Labels associés au vendeur sur votre siteOptionnel
payment.cart.items[].marketplace_seller.account_typeVoir ci-dessousbusiness ou individualRequis

Données vendeurs business

ChampTypeDescriptionValeurs autoriséesStatut
payment.cart.items[].marketplace_seller.account_typebusinessRequis
payment.cart.items[].marketplace_seller.business.company_namestringDénomination socialeRequis
payment.cart.items[].marketplace_seller.business.commercial_namestringNom commercial si existantOptionnel
payment.cart.items[].marketplace_seller.business.business_id_numberstringNuméro d'identification unique, par exemple le SIREN pour la FranceRequis
payment.cart.items[].marketplace_seller.business.legal_formstringForme légale de l'entreprise (SAS, SARL, auto entreprise, ...Requis

Données vendeurs individual

ChampTypeValeurs autoriséesStatut
payment.cart.items[].marketplace_seller.account_typeindividualRequis
payment.cart.items[].marketplace_seller.individual.full_namestringRequis
payment.cart.items[].marketplace_seller.individual.emailEmail (string)Requis