ORCRAFT

Stripe géré par Orcraft

Paiement dynamique, sans plans à administrer

Votre backend définit chaque achat au moment où il le demande : article, montant, quantité, devise, référence et, pour un abonnement, sa période. Rien n’est à créer au préalable dans l’espace d’administration Orcraft.

Serveur uniquement. Cet endpoint exige un jeton d’une application confidentielle. Ne transmettez jamais un montant demandé par le navigateur sans le recalculer dans votre backend.

Créer une session Checkout

POST /identity/billing/checkout
Authorization: Bearer ACCESS_TOKEN
Idempotency-Key: 16+ caractères aléatoires
Content-Type: application/json

{
  "return_uri":"https://app.example/orcraft/return",
  "checkout":{
    "mode":"payment",
    "reference":"order_8f3d",
    "currency":"eur",
    "items":[{"name":"Pack de 100 crédits","description":"Crédits Pro","amount_cents":990,"quantity":1}]
  }
}

La réponse contient checkout_url. Redirigez le navigateur vers cette URL Stripe. La return_uri doit être une URI HTTPS exacte enregistrée pour l’application.

Abonnement

"checkout": {
  "mode":"subscription",
  "reference":"pro_annual_42",
  "currency":"eur",
  "interval":"year",
  "items":[{"name":"Pro annuel","amount_cents":9900,"quantity":1}]
}

Un abonnement contient un seul article et utilise month ou year. Un paiement ponctuel peut contenir jusqu’à dix articles. Les montants sont des entiers en centimes.

Confirmation fiable et droits

Événements Stripe à connecter à Orcraft

Dans Stripe, configurez https://www.orcraft.net/action/stripe_webhook.php avec checkout.session.completed, checkout.session.expired, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, invoice.paid et invoice.payment_failed. Le secret de signature correspondant au mode Stripe doit être saisi dans Orcraft.

État et portail client

GET /identity/billing/subscriptions avec billing:read liste les abonnements de l’application et POST /identity/billing/portal avec billing:manage ouvre le portail Stripe hébergé.