# Configurer un abonnement avec Kakao Pay Créez un *abonnement* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) avec le moyen de paiement [Kakao Pay](https://docs.stripe.com/payments/kakao-pay/accept-a-payment.md). # API Setup Intents > This is a API Setup Intents for when api-integration is setupintents. View the full page at https://docs.stripe.com/billing/subscriptions/kakao-pay?api-integration=setupintents. Créez et confirmez un objet Subscription à l’aide de deux appels à l’API. Le [premier appel à l’API](https://docs.stripe.com/billing/subscriptions/kakao-pay.md#create-setup-intent) envoie les informations relatives au client et au produit à l’[API Subscriptions](https://docs.stripe.com/api/subscriptions.md) pour créer à la fois un objet Subscription et un PaymentIntent. La réponse comprend un ID de PaymentIntent, que vous devez utiliser dans un appel à l’[API Payment Intents](https://docs.stripe.com/api/payment_intents.md) pour confirmer un paiement. ## Créer un produit et un tarif [Dashboard] Les [produits](https://docs.stripe.com/api/products.md) correspondent aux articles ou services que vous vendez. Les [tarifs](https://docs.stripe.com/api/prices.md) définissent le montant et la fréquence des paiements facturés pour un produit. Le tarif prend en compte la valeur du produit, la devise que vous acceptez et s’il s’agit d’un paiement ponctuel ou récurrent. Si vous n’avez que quelques produits et tarifs, créez-les et gérez-les dans le Dashboard. Ce guide prend comme exemple un service de banque d’images qui débite ses clients d’un montant de 100,000 KRW pour un abonnement mensuel. Pour modéliser ceci : 1. Go to the [Products](https://dashboard.stripe.com/products?active=true) page and click **Create product**. 1. Saisissez un **Nom** pour le produit. Vous pouvez éventuellement ajouter une **Description** et télécharger une image du produit. 1. Select a **Product tax code**. Learn more about [product tax codes](https://docs.stripe.com/tax/tax-codes.md). 1. Sélectionnez **Récurrent**. Saisissez ensuite **** pour le prix et sélectionnez **** comme devise. 1. Choose whether to **Include tax in price**. You can either use the default value from your [tax settings](https://dashboard.stripe.com/test/settings/tax) or set the value manually. In this example, select **Auto**. 1. Pour **Période de facturation**, sélectionnez **Mensuel**. 1. Click **More pricing options**. Then select **Flat rate** as the pricing model for this example. Learn more about [flat rate](https://docs.stripe.com/products-prices/pricing-models.md#flat-rate) and other [pricing models](https://docs.stripe.com/products-prices/pricing-models.md). 1. Add an internal **Price description** and [Lookup key](https://docs.stripe.com/products-prices/manage-prices.md#lookup-keys) to organize, query, and update specific prices in the future. 1. Cliquez sur **Suivant**. Cliquez ensuite sur **Ajouter un produit**. Après avoir créé le produit et le tarif, enregistrez l’ID de tarif de manière à pouvoir l’utiliser dans les étapes ultérieures. La page des tarifs affiche l’ID dont le format est similaire à ce qui suit : `price_G0FvDp6vZvdwRZ`. > Pour utiliser ce moyen de paiement, vous devez convertir vos tarifs en KRW. ## Créer un SetupIntent [Côté serveur] Créez un objet [SetupIntent](https://docs.stripe.com/api/setup_intents.md) pour enregistrer le moyen de paiement d’un client en vue de paiements futurs. Le `SetupIntent` permet de suivre les étapes de ce processus de configuration. ```curl curl https://api.stripe.com/v1/setup_intents \ -u "<>:" \ -d confirm=true \ --data-urlencode "return_url=https://www.stripe.com" \ -d usage=off_session \ -d customer=cus_ODQluYFNl44ODI \ -d "payment_method_data[type]=kakao_pay" \ -d "payment_method_types[]=kakao_pay" \ -d "mandate_data[customer_acceptance][type]=online" \ -d "mandate_data[customer_acceptance][online][ip_address]=127.0.0.0" \ -d "mandate_data[customer_acceptance][online][user_agent]=device" ``` L’objet SetupIntent contient un `client_secret`, une clé unique que vous devez transmettre à Stripe.js côté client afin de rediriger votre acheteur vers Kakao Pay et autoriser le mandat. ## Créer un abonnement [Côté serveur] Créez un abonnement avec un tarif et un client. Définissez la valeur du paramètre `default_payment_method` sur l’ID de PaymentMethod contenu dans la réponse du SetupIntent. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "items[0][price]={{PRICE_ID}}" \ -d default_payment_method={{PAYMENT_METHOD_ID}} \ -d off_session=true ``` Quand vous créez un abonnement, le moyen de paiement débité est automatiquement le moyen de paiement par défaut du client. Lorsqu’un paiement aboutit, son état dans le Dashboard Stripe bascule sur **Actif**. Le tarif que vous avez configuré détermine le montant des prochaines factures. Découvrez comment [créer un abonnement avec une période d’essai gratuit](https://docs.stripe.com/billing/subscriptions/kakao-pay.md#trial-periods). ## Confirmer un paiement [Côté serveur] Confirmez un paiement avec l’API [PaymentIntents](https://docs.stripe.com/api/payment_intents.md) à l’aide de l’ID de PaymentIntent contenu dans la réponse de l’objet Subscription. Ajoutez l’ID de PaymentIntent à l’URL et définissez la valeur du paramètre `payment_method_types` sur `kakao_pay` : ```curl curl https://api.stripe.com/v1/payment_intents/:id/confirm \ -u "<>:" \ --data-urlencode "return_url=https://www.stripe.com" \ -d "payment_method_data[]=type" \ -d "payment_method_data[]=kakao_pay" ``` La réponse du PaymentIntent inclut l’état `requires_action`, qui indique que pour finaliser le PaymentIntent, vos clients doivent effectuer le paiement avec le moyen de paiement qu’ils ont sélectionné dans Kakao Pay. Une fois le paiement abouti, l’abonnement devient actif et le moyen de paiement est enregistré comme moyen de paiement par défaut. # API Subscriptions > This is a API Subscriptions for when api-integration is subscription. View the full page at https://docs.stripe.com/billing/subscriptions/kakao-pay?api-integration=subscription. Créer et confirmer un abonnement avec deux appels à l’API. - Tout d’abord, [créez un abonnement](https://docs.stripe.com/billing/subscriptions/kakao-pay.md#pi-create-subscription) pour envoyer les informations relatives au client et au produit à l’[API Subscriptions](https://docs.stripe.com/api/subscriptions.md) et créer un objet Subscription et un PaymentIntent en un seul appel. - Utilisez ensuite l’ID du PaymentIntent pour [confirmer un paiement](https://docs.stripe.com/billing/subscriptions/kakao-pay.md#pi-confirm-payment). ## Créer un produit et un tarif [Dashboard] Les [produits](https://docs.stripe.com/api/products.md) correspondent aux articles ou services que vous vendez. Les [tarifs](https://docs.stripe.com/api/prices.md) définissent le montant et la fréquence des paiements facturés pour un produit. Le tarif prend en compte la valeur du produit, la devise que vous acceptez et s’il s’agit d’un paiement ponctuel ou récurrent. Si vous n’avez que quelques produits et tarifs, créez-les et gérez-les dans le Dashboard. Ce guide prend comme exemple un service de banque d’images qui débite ses clients d’un montant de 100,000 KRW pour un abonnement mensuel. Pour modéliser ceci : 1. Go to the [Products](https://dashboard.stripe.com/products?active=true) page and click **Create product**. 1. Saisissez un **Nom** pour le produit. Vous pouvez éventuellement ajouter une **Description** et télécharger une image du produit. 1. Select a **Product tax code**. Learn more about [product tax codes](https://docs.stripe.com/tax/tax-codes.md). 1. Sélectionnez **Récurrent**. Saisissez ensuite **** pour le prix et sélectionnez **** comme devise. 1. Choose whether to **Include tax in price**. You can either use the default value from your [tax settings](https://dashboard.stripe.com/test/settings/tax) or set the value manually. In this example, select **Auto**. 1. Pour **Période de facturation**, sélectionnez **Mensuel**. 1. Click **More pricing options**. Then select **Flat rate** as the pricing model for this example. Learn more about [flat rate](https://docs.stripe.com/products-prices/pricing-models.md#flat-rate) and other [pricing models](https://docs.stripe.com/products-prices/pricing-models.md). 1. Add an internal **Price description** and [Lookup key](https://docs.stripe.com/products-prices/manage-prices.md#lookup-keys) to organize, query, and update specific prices in the future. 1. Cliquez sur **Suivant**. Cliquez ensuite sur **Ajouter un produit**. Après avoir créé le produit et le tarif, enregistrez l’ID de tarif de manière à pouvoir l’utiliser dans les étapes ultérieures. La page des tarifs affiche l’ID dont le format est similaire à ce qui suit : `price_G0FvDp6vZvdwRZ`. ## Créer un abonnement [Côté serveur] Créez un [abonnement](https://docs.stripe.com/api/subscriptions.md) avec un tarif et un client avec l’état `incomplete` en attribuant au paramètre [payment_behavior](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-payment_behavior) la valeur `default_incomplete`. Définissez le paramétrage `payment_settings.save_default_payment_method=on_subscription` pour enregistrer un moyen de paiement lors de l’activation de l’abonnement. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d payment_behavior=default_incomplete \ -d "items[0][price]={{PRICE_ID}}" \ -d "payment_settings[save_default_payment_method]=on_subscription" \ -d "expand[0]=latest_invoice.payments" \ -d "expand[1]=latest_invoice.confirmation_secret" ``` La réponse inclut la première [facture](https://docs.stripe.com/api/invoices.md) de l’*abonnement* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis). Celui-ci contient les paiements de la facture, qui inclut un PaymentIntent par défaut que Stripe a généré pour cette facture et la clé secrète de confirmation que vous pouvez envoyer au client afin qu’il finalise le processus de paiement en toute sécurité au lieu de lui transmettre la totalité de l’objet PaymentIntent. Obtenez l’ID PaymentIntent que vous devez utiliser pour confirmer un paiement provenant de `latest_invoice.payments`. Renvoyez le `latest_invoice.confirmation_secret.client_secret` au front-end pour finaliser le paiement. Découvrez comment [créer un abonnement avec une période d’essai gratuite](https://docs.stripe.com/billing/subscriptions/kakao-pay.md#trial-periods). ## Confirmer un paiement [Côté serveur] Confirmez un paiement avec l’API [PaymentIntents](https://docs.stripe.com/api/payment_intents.md) à l’aide de l’ID de PaymentIntent contenu dans la réponse de l’objet Subscription. Ajoutez l’ID de PaymentIntent à l’URL et définissez la valeur du paramètre `payment_method_types` sur `kakao_pay` : ```curl curl https://api.stripe.com/v1/payment_intents/:id/confirm \ -u "<>:" \ -d "payment_method_data[type]=kakao_pay" \ --data-urlencode "return_url=https://www.stripe.com" \ -d "mandate_data[customer_acceptance][type]=online" \ -d "mandate_data[customer_acceptance][online][ip_address]=127.0.0.0" \ -d "mandate_data[customer_acceptance][online][user_agent]=device" \ -d "mandate_data[customer_acceptance][accepted_at]=1660000000" ``` La réponse du PaymentIntent inclut l’état `requires_action`, qui indique que vos clients doivent s’identifier auprès de Kakao Pay pour effectuer le PaymentIntent. Une fois le paiement abouti, l’abonnement devient actif et le moyen de paiement est enregistré comme moyen de paiement par défaut. # Une page hébergée par Stripe > This is a Une page hébergée par Stripe for when api-integration is checkout. View the full page at https://docs.stripe.com/billing/subscriptions/kakao-pay?api-integration=checkout. Utilisez l’[API Checkout Sessions](https://docs.stripe.com/api/checkout/sessions.md) pour créer et confirmer un abonnement avec une page de paiement préconfigurée. ## Créer un produit et un tarif [Dashboard] Les [produits](https://docs.stripe.com/api/products.md) correspondent aux articles ou services que vous vendez. Les [tarifs](https://docs.stripe.com/api/prices.md) définissent le montant et la fréquence des paiements facturés pour un produit. Le tarif prend en compte la valeur du produit, la devise que vous acceptez et s’il s’agit d’un paiement ponctuel ou récurrent. Si vous n’avez que quelques produits et tarifs, créez-les et gérez-les dans le Dashboard. Ce guide prend comme exemple un service de banque d’images qui débite ses clients d’un montant de 100,000 KRW pour un abonnement mensuel. Pour modéliser ceci : 1. Go to the [Products](https://dashboard.stripe.com/products?active=true) page and click **Create product**. 1. Saisissez un **Nom** pour le produit. Vous pouvez éventuellement ajouter une **Description** et télécharger une image du produit. 1. Select a **Product tax code**. Learn more about [product tax codes](https://docs.stripe.com/tax/tax-codes.md). 1. Sélectionnez **Récurrent**. Saisissez ensuite **** pour le prix et sélectionnez **** comme devise. 1. Choose whether to **Include tax in price**. You can either use the default value from your [tax settings](https://dashboard.stripe.com/test/settings/tax) or set the value manually. In this example, select **Auto**. 1. Pour **Période de facturation**, sélectionnez **Mensuel**. 1. Click **More pricing options**. Then select **Flat rate** as the pricing model for this example. Learn more about [flat rate](https://docs.stripe.com/products-prices/pricing-models.md#flat-rate) and other [pricing models](https://docs.stripe.com/products-prices/pricing-models.md). 1. Add an internal **Price description** and [Lookup key](https://docs.stripe.com/products-prices/manage-prices.md#lookup-keys) to organize, query, and update specific prices in the future. 1. Cliquez sur **Suivant**. Cliquez ensuite sur **Ajouter un produit**. Après avoir créé le produit et le tarif, enregistrez l’ID de tarif de manière à pouvoir l’utiliser dans les étapes ultérieures. La page des tarifs affiche l’ID dont le format est similaire à ce qui suit : `price_G0FvDp6vZvdwRZ`. ## Créer une session Checkout [Côté serveur] Votre client doit vous autoriser à utiliser son compte Kakao Pay en vue de paiements futurs via Stripe Checkout. Vous pourrez ensuite accepter les paiements Kakao Pay. Ajoutez à votre site Web un bouton de paiement qui appelle un endpoint côté serveur afin de créer une [session Checkout](https://docs.stripe.com/api/checkout/sessions.md). ```html Checkout
``` Créez une session Checkout en mode `subscription` pour collecter les informations requises. Après avoir créé la session Checkout, redirigez votre client vers l’[URL](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-url) renvoyée dans la réponse. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ --data-urlencode "success_url=https://example.com/success" \ -d "line_items[0][price]={{RECURRING_PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "payment_method_types[0]=card" \ -d "payment_method_types[1]=kakao_pay" \ -d mode=subscription ``` ## Tester votre intégration [Côté serveur] Sélectionnez le moyen de paiement Kakao Pay et appuyez sur S’abonner. Vous pouvez tester qu’il fonctionne en authentifiant le paiement sur la page de redirection. Le PaymentIntent passe de `requires_action` à `succeeded`.