Comment demander des paiements avec Stripe Checkout et Google Sheets - Inspiration numérique
Comment demander des paiements avec Stripe Checkout et Google Sheets
Comment utiliser Google Sheets pour générer des liens de paiement Stripe et demander des paiements dans n'importe quelle devise à des clients partout dans le monde !
Les liens de paiement Stripe vous permettent d'accepter facilement les paiements par carte de crédit de clients partout dans le monde sans même avoir de site Web. Vous pouvez utiliser le tableau de bord Stripe pour générer des liens de paiement, puis envoyer les liens par e-mail, WhatsApp, SMS ou les partager sur vos pages de réseaux sociaux.
Une limitation des liens Stripe Payment est que vous ne pouvez les générer que manuellement. Stripe a une API riche en fonctionnalités mais elle ne vous permet pas de générer automatiquement des liens de paiement.
Générateur de liens de paiement Stripe
Si vous cherchez à générer des liens de paiement personnalisés pour Stripe en masse et à les envoyer à vos clients, vous pouvez envisager d'utiliser Stripe Checkout. Ce sont des formulaires de paiement hébergés sur le site Stripe et vous permettent de percevoir uniquement les paiements de vos clients.
Il est important de noter que les sessions Stripe Checkout expireront automatiquement après 24 heures. Comme alternative, vous pouvez utiliser l'API Stripe pour générer des factures et envoyer le lien de la facture par e-mail à vos clients.
Générer des liens de paiement Stripe avec Google Sheets
Pour commencer, ouvrez votre tableau de bord Stripe, accédez à Développeurs > Clés API > Clé API restreinte créée.
Donnez à votre clé un nom descriptif, choisissez l' Write
autorisation sous Checkout Sessions
et cliquez sur Create key
.
Ensuite, faites une copie de la feuille Google Stripe dans votre Google Drive. Allez dans Outils > Éditeur de script et remplacez le Stripe API Key
par la clé générée à l'étape précédente. Ensuite, cliquez Run
une fois sur le menu pour autoriser le script avec votre compte Google.
Passez à Google Sheet et vous pouvez désormais utiliser la fonction Google Sheets personnalisée STRIPE()
pour générer des sessions Stripe Checkout pour accepter les paiements en ligne.
Si vous souhaitez générer des liens de paiement pour plusieurs lignes de la feuille Google, écrivez simplement la formule dans la première ligne et faites glisser le réticule vers les autres lignes, comme indiqué dans la démo ci-dessous. Les formules matricielles ne sont pas encore prises en charge.
Fonctionnement de Stripe Checkout avec Google Sheets
Si vous êtes curieux de savoir comment fonctionne l'intégration de Google Sheets et Stripe, la réponse est Google Apps Script. Le code sous-jacent appelle l'API Stripe avec votre clé API secrète et écrit les liens de session de paiement générés dans la feuille Google.
La fonction personnalisée de Google Sheets utilise le service de mise en cache intégré d'Apps Script pour réduire la latence et améliorer les performances. Le code peut être étendu pour accepter les paiements récurrents pour les abonnements.
/**
*
* Author Amit Agarwal
* Email amit@labnol.org
* Web https://digitalinspiration.com/
*
**/
const STRIPE_API_KEY = "<< Stripe API Key >>";
const STRIPE_SUCCESS_URL = "https://digitalinspiration.com";
const STRIPE_CANCEL_URL = "https://digitalinspiration.com";
/**
* Generate Stripe payment links in Google Sheets
*
* @param {number} amount The amount to be paid using Stripe
* @param {string} currency The 3-letter currency code (optional)
* @param {string} description A short description of the item name (optional)
* @return Stripe checkout session link
* @customfunction
*/
const STRIPE = (amount, currency, description) => {
const input = {
"line_items[0][price_data][currency]": currency || "USD",
"line_items[0][price_data][product_data][name]": description || "Name",
"line_items[0][price_data][unit_amount]": Math.ceil(amount * 100),
"line_items[0][quantity]": 1,
};
const cacheKey = JSON.stringify(input);
const cachedLink = CacheService.getScriptCache().get(cacheKey);
if (cachedLink) return cachedLink;
const params = {
cancel_url: STRIPE_CANCEL_URL,
success_url: STRIPE_SUCCESS_URL,
mode: "payment",
billing_address_collection: "required",
"payment_method_types[]": "card",
...input,
};
const payload = Object.entries(params)
.map(([key, value]) =>
[encodeURIComponent(key), encodeURIComponent(value)].join("=")
)
.join("&");
const response = UrlFetchApp.fetch(
"https://api.stripe.com/v1/checkout/sessions",
{
method: "POST",
headers: {
Authorization: `Bearer ${STRIPE_API_KEY}`,
"Content-Type": "application/x-www-form-urlencoded",
},
payload,
muteHttpExceptions: true,
}
);
const { url, error } = JSON.parse(response);
if (url) {
CacheService.getScriptCache().put(cacheKey, url, 21600);
}
return error ? error.message : url;
};
Vous pouvez utiliser le publipostage avec Gmail pour demander des paiements en ligne à vos clients par e-mail. Vous pouvez également utiliser Document Studio pour créer des factures PDF et intégrer les liens de paiement directement dans la facture du client.
Commentaires
Enregistrer un commentaire
🖐 Hello,
N'hésitez pas à commenter ou vous exprimer si vous avez des trucs à dire . . .👉