Installer le fournisseur Terraform pour Stripe
Configurez le fournisseur pour un environnement de développement local.
Le fournisseur Terraform pour Stripe vous permet de gérer les ressources Stripe à l’aide d’une infrastructure sous forme de code. Configurez des produits, des prix, des compteurs de facturation et des offres tarifaires complexes grâce à la syntaxe déclarative de Terraform. Votre infrastructure Stripe devient ainsi versionnée, reproductible et auditable. Pour plus d’informations sur les API, consultez la documentation de l’API Stripe.
Exemple de flux
Suivez ce flux pour créer un produit avec un prix périodique et un endpoint de webhook afin de recevoir des événements.
Créez un nouveau fichier Terraform, main. :
terraform { required_providers { stripe = { source = "stripe/stripe" version = "0.1.3" } } } provider "stripe" { # API key is read from STRIPE_API_KEY environment variable # Alternatively, set it explicitly (not recommended for production) # api_key = "sk_test_..." } # Define a product resource "stripe_product" "pro_plan" { name = "Pro Plan" description = "Professional tier with advanced features" } # Create a recurring price for the product resource "stripe_price" "pro_monthly" { product = stripe_product.pro_plan.id currency = "usd" unit_amount = 2900 recurring { interval = "month" } } # Set up a webhook endpoint for payment events resource "stripe_webhook_endpoint" "payments" { url = "https://api.example.com/webhooks/stripe" enabled_events = [ "payment_intent.succeeded", "payment_intent.payment_failed", "customer.subscription.created", "customer.subscription.deleted", ] } output "price_id" { value = stripe_price.pro_monthly.id }
Définissez votre clé API :
export STRIPE_API_KEY="sk_test_BQokikJOvBiI2HlWgH4olfQ2"
Prévisualisez et appliquez les modifications :
terraform plan terraform apply terraform output
Ressources prises en charge
Cette section propose une référence rapide des ressources disponibles. Pour une documentation détaillée et la liste complète des paramètres configurables, consultez Ressources prises en charge.
Product Catalog
| Ressource | Description |
|---|---|
stripe_ | Définitions des produits |
stripe_ | Configurations tarifaires |
stripe_ | Bons de réduction |
stripe_ | Configurations des frais de livraison |
stripe_ | Définitions des taux de taxe |
stripe_ | Drapeaux de fonctionnalités pour les droits d’accès |
Ressources principales
| Ressource | Description |
|---|---|
stripe_ | Fiches clients |
stripe_ | Configurations des endpoints de webhook |
stripe_ | Compteurs de suivi de l’utilisation |
Facturation avancée à l’usage Private preview
Ces ressources font partie de l’API Billing v2 et nécessitent un accès à la version bêta privée.
| Ressource | Description |
|---|---|
stripe_ | Conteneurs d’offres tarifaires |
stripe_ | Composants du plan |
stripe_ | Éléments d’accès sous licence |
stripe_ | Frais d’abonnement |
stripe_ | Éléments facturables basés sur l’usage |
stripe_ | Conteneurs tarifaires |
stripe_ | Tarifs unitaires |
stripe_ | Crédits et réajustements |
Sources de données
| Source de données | Description |
|---|---|
stripe_ | Rechercher les compteurs de facturation existants |
Gérer plusieurs environnements avec des espaces de travail
Les espaces de travail Terraform vous permettent de gérer des environnements Stripe distincts (environnement de test ou mode production) à l’aide de fichiers d’état isolés. Cela évite toute modification accidentelle des ressources de production lorsque vous travaillez en mode test.
Configurer des espaces de travail
Créez des espaces de travail pour un environnement de test(mode test) et le mode production :
# Create workspaces terraform workspace new sandbox terraform workspace new livemode # List available workspaces terraform workspace list
Basculer entre les environnements
Chaque espace de travail dispose de son propre fichier d’état. Basculez entre les espaces de travail et définissez la clé API correspondante :
# Work in sandbox (test mode) terraform workspace select sandbox export STRIPE_API_KEY=terraform plan terraform apply # Work in livemode (production) terraform workspace select livemode export STRIPE_API_KEY="sk_live_..." terraform plan terraform applysk_test_BQokikJOvBiI2HlWgH4olfQ2