Skip to content

Sessions de paiement

Une session de paiement est une URL à usage unique et de courte durée qui héberge la page de paiement. Vous la créez sur votre serveur, redirigez le client, et vérifiez le résultat au retour. Les données de carte du client ne touchent jamais vos serveurs.

Créer une session de paiement

http
POST /api/v1/checkout-sessions

Corps de la requête

ChampTypeRequisDescription
amountintegerOuiMontant dans la plus petite unité de la devise (ex. 1000 = 10,00 $)
currencystringOuiISO 4217 : USD, JMD, TTD, BBD, EUR, GYD
success_urlstringOuiURL de redirection après paiement réussi
failure_urlstringOuiURL de redirection après paiement échoué
cancel_urlstringNonURL de redirection pour le bouton Annuler
descriptionstringNonAffichée sur la page de paiement et le reçu
customerobjectNon{name, email}
line_itemsarrayNonDétails de commande — voir Lignes, taxes et détails
subtotalintegerNonSous-total avant taxes (centimes)
tax_namestringNonÉtiquette de taxe (GCT, VAT, Sales Tax)
tax_ratenumberNonTaux décimal (0.15 = 15 %)
tax_amountintegerNonMontant de taxe en centimes
metadataobjectNonDonnées arbitraires (renvoyées dans les webhooks)
gatewaystringNonSlug de passerelle préféré (ex. powertranz_direct)
expires_in_minutesintegerNon1–1440. Par défaut 30.

Réponse

json
{
  "id": "cs_abc123def456",
  "status": "open",
  "amount": 2500,
  "currency": "USD",
  "checkout_url": "https://app.geniuscheckout.com/checkout/cs_abc123def456",
  "expires_at": "2026-05-05T12:30:00+00:00"
}

Redirigez le client vers checkout_url. Il verra la page de paiement à votre marque, le récapitulatif de commande et le formulaire de carte.

Récupérer une session de paiement

http
GET /api/v1/checkout-sessions/{id}

Vérifiez avant d'expédier

Utilisez ce endpoint pour confirmer le statut du paiement après la redirection du client. Ne faites jamais confiance aux paramètres de l'URL — les URLs de redirection ne contiennent aucune donnée de paiement, juste l'ID de session.

Réponse

json
{
  "id": "cs_abc123def456",
  "status": "completed",
  "amount": 2500,
  "currency": "USD",
  "description": "Commande #1042",
  "completed_at": "2026-05-05T12:15:00+00:00",
  "transaction": {
    "id": "txn_789xyz",
    "receipt_number": "RCT-000042",
    "status": "captured",
    "card_brand": "Visa",
    "card_last4": "0071",
    "gateway_transaction_id": "5ABCABEC-4867-410B-B76C-E85721CF859B",
    "token_id": "tok_abc123"
  }
}

Statuts de session

StatutSignification
openLe client n'a pas encore terminé le paiement
completedPaiement capturé
failedLe paiement a été tenté et refusé
expiredSession expirée sans complétion
cancelledLe client a utilisé le bouton Annuler

Suite

Released under the proprietary Genius Checkout license.