Comment créer des codes Stripe pour un deal AppSumo
J'ai récemment publié un deal AppSumo pour Beanvest, et j'ai cherché un moyen de créer rapidement 10 000 codes promo dans Stripe.
Comme je n'ai pas trouvé de solution assez simple, j'ai écrit ce script pour créer ces 10 000 codes avec 100% de réduction à vie. En réalité, le script ne crée qu'un seul coupon Stripe, puis 10 000 codes de promotion associés, ce qui rend le tout plus lisible dans le tableau de bord.
Il génère aussi un fichier CSV contenant tous les codes, prêt à être envoyé sur AppSumo.
Générateur de codes promo Stripe pour AppSumo
NOUVEAU J'ai depuis créé un générateur de coupons Stripe pour rendre cette opération encore plus simple.
Cet outil gratuit permet de générer et de créer des codes promo Stripe directement depuis le navigateur, avec une interface plus agréable qu'un script lancé à la main, ce qui n'est pas un exploit mais reste appréciable.
Il est configurable, gratuit, et ne stocke évidemment pas vos clés API Stripe ni les codes générés.
Si vous préférez lancer le script en local, ou si vous voulez garder un contrôle total sur le processus, vous pouvez toujours utiliser le code ci-dessous.
Script pour générer des codes Stripe pour AppSumo
Le script est disponible sur Github, mais vous pouvez aussi le copier directement ici :
'use strict' // Copiez-collez une clé secrète depuis https://dashboard.stripe.com/apikeys const STRIPE_API_KEY = 'sk_live_.........' // Longueur du code, préfixe inclus. Doit être entre 3 et 200 const CODE_LENGTH = 40 // Nombre de coupons à générer. Doit être entre 100 et 10000 const NB_COUPONS = 10000 // Préfixe optionnel pour les codes const PREFIX = 'SuMo' // Liste des caractères utilisés pour générer le code const chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890' // Ce fichier CSV contiendra tous vos codes AppSumo const fileName = `AppSumo-${NB_COUPONS}-codes.csv` const fs = require('fs') const stripe = require('stripe')(STRIPE_API_KEY) async function createCodes() { const stream = fs.createWriteStream(fileName) const coupon = await stripe.coupons.create({ name: 'AppSumo Lifetime Deal', percent_off: 100, duration: 'forever' }) for (let i = 0; i < NB_COUPONS; i++) { const code = await createPromo(coupon.id) stream.write(`${code}\r\n`) console.log(`${i + 1}/${NB_COUPONS} - ${code}`) } stream.end() console.log(`✨✨✨ ${NB_COUPONS} coupons created on Stripe & saved in a csv file ${fileName}`) } function generateRandomCode () { return PREFIX + Array.from( { length: CODE_LENGTH - PREFIX.length }, (v, k) => chars[Math.floor(Math.random() * chars.length)] ).join('') } async function createPromo (coupon) { const code = generateRandomCode() try { await stripe.promotionCodes.create({ coupon, code, max_redemptions: 1 }) } catch (e) { console.log(e) } return code } createCodes()
J'espère que cela vous fera gagner un peu de temps pour votre deal AppSumo LTD.