Aller au contenu principal
Sur cette page

Gérer les billets, les sièges attribués, les articles de restauration et le paiement dans un cycle de vie unique. DEUNA permet aux équipes des cinémas de vendre l'ensemble de la visite tout en conservant le contexte de l'événement nécessaire pour émettre des billets et accompagner les clients.

Ce guide couvre les champs documentés pour le cinéma. Les autres modèles de divertissement utilisent la commande standard et les métadonnées marchand prises en charge ; ne déduisez pas de champs généraux d'événement ou de billetterie à partir de l'exemple du cinéma.

Payload complet de commande pour le cinéma#

Les détails de l'événement sont disponibles dans shipping_options.details, tandis que les billets et les articles de restauration restent des éléments distincts pour les opérations et la réconciliation.

Requête complète

Cinéma

Traitez le paiement en une requête en envoyant la commande, le payeur et la source de paiement tokenisée en ligne.

POST/v2/merchants/orders/purchase

Séance, lieu, sièges attribués, livraison des billets et concessions dans un même cycle de commande.

itemsshipping_options.details.event_dateevent_seatingrecipient_email
Corps de la requêteJSON
{
  "payer_info": {
    "email": "alex@example.com"
  },
  "payment_source": {
    "method_type": "credit_card",
    "payment_method": "TOKENIZED_PAYMENT_METHOD"
  },
  "order_type": "DEUNA_CHECKOUT",
  "order": {
    "order_id": "cinema-77821",
    "store_code": "mx-polanco-12",
    "currency": "MXN",
    "items_total_amount": 42000,
    "sub_total": 42000,
    "total_tax_amount": 6720,
    "total_amount": 48720,
    "items": [
      {
        "id": "show-20261115-1930-screen-05",
        "sku": "ADULT-2D",
        "name": "Two adult tickets",
        "description": "Evening screening · Screen 5",
        "options": "Seats E10 and E11",
        "quantity": 2,
        "category": "movie_tickets",
        "type": "event",
        "taxable": true,
        "unit_price": {
          "amount": 15000,
          "currency": "MXN",
          "currency_symbol": "$"
        },
        "total_amount": {
          "amount": 30000,
          "original_amount": 30000,
          "currency": "MXN",
          "currency_symbol": "$",
          "total_discount": 0
        },
        "tax_amount": {
          "amount": 4800,
          "currency": "MXN",
          "currency_symbol": "$"
        }
      },
      {
        "id": "concession-combo-02",
        "sku": "POPCORN-COMBO-L",
        "name": "Large popcorn combo",
        "quantity": 1,
        "category": "concessions",
        "taxable": true,
        "unit_price": {
          "amount": 12000,
          "currency": "MXN",
          "currency_symbol": "$"
        },
        "total_amount": {
          "amount": 12000,
          "original_amount": 12000,
          "currency": "MXN",
          "currency_symbol": "$",
          "total_discount": 0
        },
        "tax_amount": {
          "amount": 1920,
          "currency": "MXN",
          "currency_symbol": "$"
        }
      }
    ],
    "shipping_options": {
      "type": "pickup",
      "method": "digital_ticket",
      "requires_shipping": false,
      "details": {
        "store_id": "mx-polanco-12",
        "store_name": "Polanco Cinema",
        "address": "Avenida Ejército Nacional 843, Ciudad de México",
        "address_coordinates": {
          "lat": 19.4391,
          "lng": -99.2019
        },
        "contact": {
          "name": "Guest services",
          "phone": "+525500000000"
        },
        "event_date": "2026-11-15T19:30:00-06:00",
        "event_seating": "E10, E11",
        "event_city": "Ciudad de México",
        "event_country_code": "MX",
        "recipient_email": "alex@example.com"
      }
    },
    "expires_at": "2026-11-15T19:15:00-06:00",
    "metadata": {
      "vertical": "cinema",
      "movie_id": "movie-4408",
      "format": "2D"
    }
  },
  "callback_urls": {
    "on_success": "https://merchant.example.com/payments/success",
    "on_pending": "https://merchant.example.com/payments/pending",
    "on_reject": "https://merchant.example.com/payments/rejected",
    "on_canceled": "https://merchant.example.com/payments/canceled",
    "on_failed": "https://merchant.example.com/payments/failed"
  }
}

Modéliser le contexte commercial#

ExigenceChamps de commande
Séanceevent_date, identifiants du film et du lieu
Lieustore_id, store_name, adresse, ville, pays et coordonnées
Siègesevent_seating et article de billet options
Livraison des billetsrecipient_email et coordonnées du payeur
Articles de restaurationSéparés items[] avec leur propre SKU, quantité, taxe et prix total

Liste de contrôle de production#

  • Conserver l'ID de la séance de cinéma et la réservation de sièges stables tout au long de la tentative de paiement.
  • Assurer la cohérence de la date d'expiration de la commande avec la durée de conservation du système de réservation.
  • Séparer les lignes de billets et de consommables pour les besoins de fiscalité, de gestion des commandes, de remboursement et de reporting.
  • Envoyer le bon destinataire du billet lorsque l'acheteur et le participant sont différents.
  • Tester les scénarios de révocation de la réservation, de nouvelle tentative, de remboursement partiel, d'annulation de la séance et de délai des webhooks.

Continuez avec Workflow et statuts de paiement et Webhooks.