IM
FR
Accueil documentation
Menu
Guides

Contrôle du propriétaire de l'abonnement

gérer les actions du cycle de vie des abonnements en tant que propriétaire du compte via api.inbox-manager.com.

inbox-manager subscriptions client-flow

Contrôle du propriétaire de l’abonnement

Objectif : permettre aux propriétaires de comptes d’inspecter les plans et d’exécuter des actions de cycle de vie d’abonnement.

Flux d’interface utilisateur

  1. L’utilisateur ouvre la page de facturation pour le compte sélectionné par le jeton.
  2. L’interface utilisateur charge GET /api/subscriptions.
  3. L’interface utilisateur charge GET /api/subscriptions/features.
  4. L’interface utilisateur charge GET /api/subscriptions/identity.
  5. L’interface utilisateur charge GET /api/subscriptions/merchants.
  6. L’interface utilisateur crée des sessions de paiement ou de portail lorsque le propriétaire commence les actions de facturation.
  7. L’interface utilisateur exécute des actions de synchronisation/modification/annulation à partir d’actions explicites du propriétaire.

Flux de bibliothèque client

const subs = await api.subscriptions.list();
const features = await api.subscriptions.features();
const merchants = await api.subscriptions.merchants();

const checkout = await api.subscriptions.createCheckoutSession({
  price_id,
  success_url,
  cancel_url,
});

await api.subscriptions.change(subscriptionId, {
  interval: "year",
});

Flux HTTP/curl

API_BASE_URL="https://api.inbox-manager.com"

curl -sS "${API_BASE_URL}/api/subscriptions" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS "${API_BASE_URL}/api/subscriptions/features" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS "${API_BASE_URL}/api/subscriptions/identity" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS "${API_BASE_URL}/api/subscriptions/merchants" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS -X POST "${API_BASE_URL}/api/subscriptions/stripe/checkout-session" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data "{\"price_id\":\"${PRICE_ID}\",\"success_url\":\"${SUCCESS_URL}\",\"cancel_url\":\"${CANCEL_URL}\"}"

curl -sS -X POST "${API_BASE_URL}/api/subscriptions/stripe/portal-session" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data "{\"return_url\":\"${RETURN_URL}\"}"

curl -sS -X POST "${API_BASE_URL}/api/subscriptions/sync?allow_deletes=false" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{}'

curl -sS -X POST "${API_BASE_URL}/api/subscriptions/${SUBSCRIPTION_ID}/change" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"interval":"month"}'

curl -sS -X POST "${API_BASE_URL}/api/subscriptions/${SUBSCRIPTION_ID}/cancel" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"timing":"period_end"}'

curl -sS -X POST "${API_BASE_URL}/api/subscriptions/stripe/checkout-session-sync" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data "{\"session_id\":\"${SESSION_ID}\"}"

Remarques

  • Les itinéraires d’abonnement sont sans compte ; le contexte du compte provient de JWT acc.
  • L’autorisation du propriétaire est appliquée par les points de terminaison d’abonnement d’authentification en amont.
  • inbox-manager transmet directement le jeton du porteur utilisateur.
  • Les rappels des webhooks Stripe ne sont pas proxy via inbox-manager.