Proefperiodes en abonnementsupgrades beheren
Implementeer proefperiodes voor nieuwe abonnees en beheer naadloze upgrades of downgrades tussen verschillende abonnementsplannen.
Proefperiodes en abonnementsupgrades beheren is een gratis Betalingen met Stripe en SaaS-factureringssystemen-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Betalingen met Stripe en SaaS-factureringssystemen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Betalingen met Stripe en SaaS-factureringssystemen bevat in totaal 4 lessen.
Introductie tot flexibele abonnementen
Welkom! In deze les leert u hoe u uw abonnementsdienst flexibeler en gebruiksvriendelijker maakt. We behandelen twee belangrijke functies:
- Proefperioden: Trek nieuwe gebruikers aan door ze uw dienst te laten uitproberen.
- Plannen upgraden of downgraden: Geef gebruikers de mogelijkheid hun plan aan te passen wanneer hun behoeften veranderen.
Deze functies zijn cruciaal voor een hogere klanttevredenheid en klantenbinding.
Proefperioden begrijpen
Een proefperiode geeft gebruikers gedurende een beperkte tijd gratis toegang tot uw dienst voordat er kosten in rekening worden gebracht. Dit is een goede manier om:
- Gebruikers alle functies te laten ervaren.
- Vertrouwen op te bouwen en de waarde te laten zien.
- De drempel voor nieuwe aanmeldingen te verlagen.
Stripe verwerkt de factureringslogica automatisch zodra de proefperiode eindigt.
Een proefperiode instellen
U kunt een proefperiode definiëren wanneer u een Price in Stripe maakt of bijwerkt. Hiermee stelt u de standaardduur van de proefperiode in voor elk abonnement dat met die prijs wordt gemaakt.
Wanneer u in het Stripe Dashboard een nieuwe Price maakt, zoekt u de optie 'Trial period' en geeft u het aantal dagen op (bijvoorbeeld 7 of 30 dagen).
Via de API gebruikt u de parameter trial_period_days.
Een abonnement met proefperiode maken
Om een nieuw abonnement met een proefperiode te maken, geeft u bij het maken van het abonnement de parameter trial_period_days mee. Stripe beheert automatisch de begin- en einddatum van de proefperiode.
Probeer dit Java-voorbeeld uit te voeren:
import com.stripe.Stripe;
import com.stripe.exception.StripeException;
import com.stripe.model.Subscription;
import com.stripe.param.SubscriptionCreateParams;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
Stripe.apiKey = "sk_test_YOUR_SECRET_KEY"; // Replace with your actual test secret key
try {
List<SubscriptionCreateParams.Item> items = new ArrayList<>();
items.add(
SubscriptionCreateParams.Item.builder()
.setPrice("price_1OQ2eFLkd2M9gC7q0L1xP5cW") // Replace with YOUR Price ID
.build()
);
SubscriptionCreateParams params = SubscriptionCreateParams.builder()
.setCustomer("cus_Pq34567890abcdef") // Replace with YOUR Customer ID
.addAllItem(items)
.setTrialPeriodDays(7) // Sets a 7-day trial
.build();
Subscription subscription = Subscription.create(params);
System.out.println("Subscription created with trial:");
System.out.println("ID: " + subscription.getId());
System.out.println("Status: " + subscription.getStatus());
System.out.println("Trial End (Unix timestamp): " + subscription.getTrialEnd());
} catch (StripeException e) {
System.err.println("Error creating subscription: " + e.getMessage());
}
}
}De status van een proefperiode controleren
Je kunt de status van een abonnement controleren om te zien of het momenteel een proefperiode is. Een abonnement in een proefperiode heeft status als trialing en het veld trial_end bevat een Unix-tijdstempel die aangeeft wanneer de proefperiode eindigt.
Zo kan je toepassing de gebruiker passende informatie tonen.
import com.stripe.Stripe;
import com.stripe.exception.StripeException;
import com.stripe.model.Subscription;
public class Main {
public static void main(String[] args) {
Stripe.apiKey = "sk_test_YOUR_SECRET_KEY";
try {
String subscriptionId = "sub_12345ABCDEF"; // Replace with an existing Subscription ID
Subscription subscription = Subscription.retrieve(subscriptionId);
System.out.println("Subscription ID: " + subscription.getId());
System.out.println("Current Status: " + subscription.getStatus());
if ("trialing".equals(subscription.getStatus())) {
System.out.println("This subscription is currently in a trial period.");
System.out.println("Trial ends on: " + subscription.getTrialEnd());
} else if ("active".equals(subscription.getStatus())) {
System.out.println("This subscription is active and being billed.");
} else {
System.out.println("Subscription status: " + subscription.getStatus());
}
} catch (StripeException e) {
System.err.println("Error retrieving subscription: " + e.getMessage());
}
}
}Voorbereiden op het einde van de proefperiode
Het is verstandig om gebruikers te informeren voordat hun proefperiode eindigt. Zo krijgen ze de tijd om te beslissen of ze willen doorgaan of annuleren, waardoor onverwachte kosten en mogelijke geschillen worden voorkomen.
Stripe verstuurt enkele dagen voordat de proefperiode eindigt een webhookgebeurtenis met de naam customer.subscription.trial_will_end. Je kunt deze meldingsperiode configureren in je Stripe-instellingen.
Je toepassing moet naar deze webhook luisteren om aangepaste herinneringen per e-mail te versturen.
Planwijzigingen begrijpen
Naarmate de behoeften van je gebruikers veranderen, willen ze mogelijk overstappen naar een ander abonnementsplan. Met Stripe kun je eenvoudig upgraden (overstappen naar een plan van een hoger niveau) en downgraden (overstappen naar een plan van een lager niveau).
Wanneer je een abonnement bijwerkt, verwerkt Stripe automatisch de complexe berekeningen voor de facturatie, waaronder pro-rata-aanpassingen, zodat de kosten eerlijk worden berekend.
Een abonnement upgraden
Om een abonnement te upgraden, werk je de bestaande array items bij door de oude prijs-ID te vervangen door de nieuwe prijs-ID van het hogere niveau. Stripe past de facturatie vervolgens overeenkomstig aan.
Met de parameter proration_behavior bepaal je hoe de kosten voor de wijziging worden berekend. always_invoice is een veelgebruikte keuze.
import com.stripe.Stripe;
import com.stripe.exception.StripeException;
import com.stripe.model.Subscription;
import com.stripe.param.SubscriptionUpdateParams;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
Stripe.apiKey = "sk_test_YOUR_SECRET_KEY";
try {
String subscriptionId = "sub_12345ABCDEF"; // Replace with the Subscription ID to update
String currentSubscriptionItemId = "si_GHIJKLMN"; // Get from the existing subscription's items
String newPriceId = "price_67890UVWXY"; // Replace with the ID of the new, higher-tier Price
Subscription resource = Subscription.retrieve(subscriptionId);
List<SubscriptionUpdateParams.Item> items = new ArrayList<>();
items.add(
SubscriptionUpdateParams.Item.builder()
.setId(currentSubscriptionItemId)
.setPrice(newPriceId)
.build()
);
SubscriptionUpdateParams params = SubscriptionUpdateParams.builder()
.addAllItem(items)
.setProrationBehavior(SubscriptionUpdateParams.ProrationBehavior.ALWAYS_INVOICE) // Prorate and invoice immediately
.build();
Subscription updatedSubscription = resource.update(params);
System.out.println("Subscription upgraded successfully:");
System.out.println("ID: " + updatedSubscription.getId());
System.out.println("Status: " + updatedSubscription.getStatus());
System.out.println("New Price ID: " + updatedSubscription.getItems().getData().get(0).getPrice().getId());
} catch (StripeException e) {
System.err.println("Error updating subscription: " + e.getMessage());
}
}
}Omgaan met planverlagingen
Een abonnement downgraden volgt hetzelfde API-patroon als upgraden. Je werkt de array items van het abonnement bij met de ID van de nieuwe prijs van het lagere niveau.
Stripe berekent automatisch eventuele tegoeden of terugbetalingen waarop de klant recht heeft, op basis van de proration_behavior die je opgeeft. Raadpleeg de les 'Pro-rata-aanpassingen implementeren' voor meer informatie over pro-rata-berekeningen.
import com.stripe.Stripe;
import com.stripe.exception.StripeException;
import com.stripe.model.Subscription;
import com.stripe.param.SubscriptionUpdateParams;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
Stripe.apiKey = "sk_test_YOUR_SECRET_KEY";
try {
String subscriptionId = "sub_12345ABCDEF"; // Replace with the Subscription ID to update
String currentSubscriptionItemId = "si_GHIJKLMN"; // Get from the existing subscription's items
String newPriceId = "price_ZZZZAASSDD"; // Replace with the ID of the new, lower-tier Price
Subscription resource = Subscription.retrieve(subscriptionId);
List<SubscriptionUpdateParams.Item> items = new ArrayList<>();
items.add(
SubscriptionUpdateParams.Item.builder()
.setId(currentSubscriptionItemId)
.setPrice(newPriceId)
.build()
);
SubscriptionUpdateParams params = SubscriptionUpdateParams.builder()
.addAllItem(items)
.setProrationBehavior(SubscriptionUpdateParams.ProrationBehavior.CREATE_PRORATIONS) // Create prorations but don't invoice immediately
.build();
Subscription updatedSubscription = resource.update(params);
System.out.println("Subscription downgraded successfully:");
System.out.println("ID: " + updatedSubscription.getId());
System.out.println("Status: " + updatedSubscription.getStatus());
System.out.println("New Price ID: " + updatedSubscription.getItems().getData().get(0).getPrice().getId());
} catch (StripeException e) {
System.err.println("Error updating subscription: " + e.getMessage());
}
}
}Korte controle: einde van de proefperiode
Als je een gebruiker wilt informeren dat de proefperiode van diens abonnement bijna eindigt, naar welke Stripe-webhookgebeurtenis moet je toepassing dan doorgaans luisteren?
Samenvatting en volgende stappen
Goed gedaan! Je hebt geleerd hoe je belangrijke functies voor flexibele abonnementen implementeert:
- Hoe je abonnementen met proefperiodes definieert en aanmaakt.
- Hoe je de proefstatus van een abonnement controleert.
- Waarom de webhook
customer.subscription.trial_will_endbelangrijk is. - Hoe je abonnementsplannen programmatisch upgradet en downgradet met de Stripe API.
Met deze hulpmiddelen kun je een dynamische en gebruiksvriendelijke abonnementservaring bieden. Vervolgens bekijken we pro-rata-aanpassingen en verbruiksafrekening in meer detail!
Leer Betalingen met Stripe en SaaS-factureringssystemen met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Proefperiodes en abonnementsupgrades beheren” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Betalingen met Stripe en SaaS-factureringssystemen, waaronder “Proefperiodes en abonnementsupgrades beheren”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Betalingen met Stripe en SaaS-factureringssystemen bevat in totaal 4 lessen.
Wat leer ik in “Proefperiodes en abonnementsupgrades beheren”?
Implementeer proefperiodes voor nieuwe abonnees en beheer naadloze upgrades of downgrades tussen verschillende abonnementsplannen. Je oefent met Betalingen met Stripe en SaaS-factureringssystemen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Betalingen met Stripe en SaaS-factureringssystemen te beginnen?
Ervaring vooraf is niet nodig. Betalingen met Stripe en SaaS-factureringssystemen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Proefperiodes en abonnementsupgrades beheren”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Betalingen met Stripe en SaaS-factureringssystemen?
Ja. Elke les over Betalingen met Stripe en SaaS-factureringssystemen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Proefperiodes en abonnementsupgrades beheren
- Proratering en usage-based billing implementeren
- Levenscyclusbeheer en gebeurtenissen van abonnementen
- Coupons, kortingen en promotiecodes