curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/checkout \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"planId": "professional",
"successUrl": "https://yourapp.com/subscription/success",
"cancelUrl": "https://yourapp.com/pricing"
}'
const response = await fetch('https://api.llmgenerator.com/api/v1/subscriptions/checkout', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
planId: 'professional',
successUrl: 'https://yourapp.com/subscription/success',
cancelUrl: 'https://yourapp.com/pricing'
})
});
const data = await response.json();
// Redirect user to Stripe checkout
window.location.href = data.url;
import requests
response = requests.post(
'https://api.llmgenerator.com/api/v1/subscriptions/checkout',
headers={
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
json={
'planId': 'professional',
'successUrl': 'https://yourapp.com/subscription/success',
'cancelUrl': 'https://yourapp.com/pricing'
}
)
data = response.json()
print(f"Redirect to: {data['url']}")
{
"sessionId": "cs_test_a1b2c3d4e5f6g7h8i9j0",
"url": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4...",
"plan": {
"id": "professional",
"name": "Professional",
"monthlyCredits": 3000,
"priceCents": 1299
}
}
Abonnements
Checkout d’abonnement
Crée une session Stripe Checkout pour souscrire à une formule.
POST
/
subscriptions
/
checkout
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/checkout \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"planId": "professional",
"successUrl": "https://yourapp.com/subscription/success",
"cancelUrl": "https://yourapp.com/pricing"
}'
const response = await fetch('https://api.llmgenerator.com/api/v1/subscriptions/checkout', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
planId: 'professional',
successUrl: 'https://yourapp.com/subscription/success',
cancelUrl: 'https://yourapp.com/pricing'
})
});
const data = await response.json();
// Redirect user to Stripe checkout
window.location.href = data.url;
import requests
response = requests.post(
'https://api.llmgenerator.com/api/v1/subscriptions/checkout',
headers={
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
json={
'planId': 'professional',
'successUrl': 'https://yourapp.com/subscription/success',
'cancelUrl': 'https://yourapp.com/pricing'
}
)
data = response.json()
print(f"Redirect to: {data['url']}")
{
"sessionId": "cs_test_a1b2c3d4e5f6g7h8i9j0",
"url": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4...",
"plan": {
"id": "professional",
"name": "Professional",
"monthlyCredits": 3000,
"priceCents": 1299
}
}
Vue d’ensemble
Crée une session Stripe Checkout pour souscrire à une formule. Renvoie une URL vers laquelle rediriger l’utilisateur pour finaliser le paiement. Nécessite une authentification par session (jeton d’accès JWT).Pour les intégrations tierces : utilisez
POST /subscriptions/checkout/api avec authentification par clé d’API.Authentification
string
requis
Jeton d’accès JWT. Format :
Bearer YOUR_ACCESS_TOKENCorps de la requête
string
requis
Identifiant de la formule :
starter, professional, business ou agency.string
défaut:"monthly"
Fréquence de facturation :
monthly ou yearly.string
URL de redirection après paiement réussi. Par défaut : tableau de bord de l’application.
string
URL de redirection si l’utilisateur annule le paiement. Par défaut : page tarifs.
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/checkout \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"planId": "professional",
"successUrl": "https://yourapp.com/subscription/success",
"cancelUrl": "https://yourapp.com/pricing"
}'
const response = await fetch('https://api.llmgenerator.com/api/v1/subscriptions/checkout', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
planId: 'professional',
successUrl: 'https://yourapp.com/subscription/success',
cancelUrl: 'https://yourapp.com/pricing'
})
});
const data = await response.json();
// Redirect user to Stripe checkout
window.location.href = data.url;
import requests
response = requests.post(
'https://api.llmgenerator.com/api/v1/subscriptions/checkout',
headers={
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
json={
'planId': 'professional',
'successUrl': 'https://yourapp.com/subscription/success',
'cancelUrl': 'https://yourapp.com/pricing'
}
)
data = response.json()
print(f"Redirect to: {data['url']}")
{
"sessionId": "cs_test_a1b2c3d4e5f6g7h8i9j0",
"url": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4...",
"plan": {
"id": "professional",
"name": "Professional",
"monthlyCredits": 3000,
"priceCents": 1299
}
}
Champs de réponse
string
Identifiant de session Stripe Checkout. Permet une vérification ultérieure.
string
URL de redirection vers la page de paiement hébergée par Stripe.
object
Détails de la formule sélectionnée.
Déroulement du checkout
- Créer la session : appeler ce point de terminaison avec la formule souhaitée
- Rediriger l’utilisateur : envoyer vers l’
urlrenvoyée - Paiement : l’utilisateur paie sur Stripe
- Webhook : Stripe notifie votre endpoint webhook
- Redirection succès : l’utilisateur arrive sur
successUrl - Vérification (facultatif) : contrôler l’abonnement via
/subscriptions/current
Réponses d’erreur
Requête incorrecte : identifiant de formule invalide ou abonnement déjà actif.
Non autorisé : jeton manquant ou invalide.
Si l’utilisateur a déjà un abonnement actif, il doit utiliser le portail de facturation (
/subscriptions/portal) pour changer de formule.POST /subscriptions/checkout/api
Crée une session Stripe Checkout avec authentification par clé d’API. Adapté aux intégrations tierces.Authentification
Authentification par clé d’API obligatoire. Indiquez votre clé dans l’en-têteAuthorization :
Authorization: Bearer llmgen_your_api_key_here
Corps de la requête
Identique à/subscriptions/checkout ci-dessus.
Réponse
Identique à/subscriptions/checkout ci-dessus.
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/checkout/api \
-H "Authorization: Bearer llmgen_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"planId": "professional",
"successUrl": "https://yourapp.com/subscription/success",
"cancelUrl": "https://yourapp.com/pricing"
}'
const response = await fetch('https://api.llmgenerator.com/api/v1/subscriptions/checkout/api', {
method: 'POST',
headers: {
'Authorization': 'Bearer llmgen_your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
planId: 'professional',
successUrl: 'https://yourapp.com/subscription/success',
cancelUrl: 'https://yourapp.com/pricing'
})
});
const data = await response.json();
// Redirect user to Stripe checkout
window.location.href = data.url;
import requests
response = requests.post(
'https://api.llmgenerator.com/api/v1/subscriptions/checkout/api',
headers={
'Authorization': 'Bearer llmgen_your_api_key_here',
'Content-Type': 'application/json'
},
json={
'planId': 'professional',
'successUrl': 'https://yourapp.com/subscription/success',
'cancelUrl': 'https://yourapp.com/pricing'
}
)
data = response.json()
print(f"Redirect to: {data['url']}")
Cette page vous a-t-elle été utile ?
⌘I