Créez des paiements Stripe et des factures PDF avec IronPDF !
using Stripe;
using IronPdf;
using System;
public class PaymentService
{
public void ProcessPaymentAndGenerateInvoice()
{
// Configure Stripe API key
StripeConfiguration.ApiKey = "your_secret_key";
// Create a PaymentIntent
var paymentIntentOptions = new PaymentIntentCreateOptions
{
Amount = 2000,
Currency = "usd",
PaymentMethodTypes = new List<string> { "card" },
};
var paymentIntentService = new PaymentIntentService();
PaymentIntent paymentIntent = paymentIntentService.Create(paymentIntentOptions);
// Assuming payment succeeded, create a PDF invoice
GeneratePdfInvoice(paymentIntent);
}
private void GeneratePdfInvoice(PaymentIntent paymentIntent)
{
// Create HTML content for the invoice
var htmlContent = $@"
<html>
<head>
<title>Invoice</title>
</head>
<body>
<h1>Invoice</h1>
<p>Payment ID: {paymentIntent.Id}</p>
<p>Amount: {paymentIntent.Amount / 100.0:C}</p>
<p>Status: {paymentIntent.Status}</p>
</body>
</html>";
// Convert HTML to PDF
var renderer = new ChromePdfRenderer();
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save PDF to file
var filePath = "invoice.pdf";
pdfDocument.SaveAs(filePath);
Console.WriteLine($"Invoice saved to {filePath}");
}
}
class Program
{
static void Main(string[] args)
{
var service = new PaymentService();
service.ProcessPaymentAndGenerateInvoice();
}
}
Stripe .NET (Comment ça marche pour les développeurs)
Kannapat Udonpant
juillet 1, 2024
Partager:
Intégration de Stripe.NET avec IronPDF for .NET
Stripe.Net est une puissante bibliothèque .NET qui permet aux développeurs d'intégrer les capacités de traitement des paiements de Stripe dans les applications .NET. Stripe est une passerelle de paiement populaire qui permet aux entreprises d'accepter les paiements en ligne. Avec Stripe.NET, les développeurs peuvent gérer les transactions, les clients, les abonnements, et plus encore en utilisant les fonctionnalités robustes fournies par l'API Stripe. Dans cet article, nous allons voir comment utiliser Stripe avec IronPDF pour créer des PDF.
Démarrer avec Stripe.NET
Créer un nouveau projet Visual Studio
Pour commencer avec Stripe.Net, nous devons créer un nouveau projet Visual Studio ou ouvrir un projet existant. Pour ce tutoriel, nous utiliserons un projet d'application console.
Ouvrez Visual Studio et cliquez sur "Créer un nouveau projet".
Une nouvelle fenêtre apparaît. Sélectionnez l'application console et cliquez sur Suivant.
Dans la fenêtre suivante, entrez le nom de votre projet et sélectionnez l'emplacement, puis cliquez sur Suivant.
Dans la fenêtre suivante, sélectionnez le cadre et cliquez sur Créer.
C'est ainsi que votre nouveau projet d'application Visual Studio Console est créé.
Installation
Pour commencer à utiliser Stripe.Net dans votre projet, vous devez installer le paquet Stripe.Net via NuGet. Vous pouvez le faire en utilisant la console du gestionnaire de paquets ou le gestionnaire de paquets NuGet dans Visual Studio.
Utilisation de la console du gestionnaire de paquets :
Install-Package Stripe.net
Ou
dotnet add package Stripe.net
À l'aide du gestionnaire de paquets NuGet, recherchez "Stripe.net" et installez le paquet.
Configuration
Une fois installé, vous devez configurer votre clé API Stripe, que vous trouverez sur votre compte Stripe. Cette clé est essentielle pour authentifier vos demandes à l'API Stripe. En général, cette clé est stockée dans un fichier de configuration ou une variable d'environnement à des fins de sécurité.
Voici un exemple de configuration de votre clé API :
La création d'un client est l'une des opérations fondamentales lorsque l'on travaille avec Stripe.Net. Les clients peuvent être associés à des méthodes de paiement et à des abonnements.
var options = new CustomerCreateOptions
{
Email = "customer@example.com",
Name = "John Doe",
};
var service = new CustomerService();
Customer customer = service.Create(options);
var options = new CustomerCreateOptions
{
Email = "customer@example.com",
Name = "John Doe",
};
var service = new CustomerService();
Customer customer = service.Create(options);
Dim options = New CustomerCreateOptions With {
.Email = "customer@example.com",
.Name = "John Doe"
}
Dim service = New CustomerService()
Dim customer As Customer = service.Create(options)
Tableau de bord Output Stripe
Création d'une intention de paiement
Un PaymentIntent est un objet qui représente un processus de paiement dans Stripe. Il est conçu pour suivre le cycle de vie d'un paiement depuis sa création jusqu'à son achèvement.
var options = new PaymentIntentCreateOptions
{
Amount = 2000,
Currency = "usd",
PaymentMethodTypes = new List<string>
{
"card",
},
};
var service = new PaymentIntentService();
PaymentIntent paymentIntent = service.Create(options);
var options = new PaymentIntentCreateOptions
{
Amount = 2000,
Currency = "usd",
PaymentMethodTypes = new List<string>
{
"card",
},
};
var service = new PaymentIntentService();
PaymentIntent paymentIntent = service.Create(options);
Dim options = New PaymentIntentCreateOptions With {
.Amount = 2000,
.Currency = "usd",
.PaymentMethodTypes = New List(Of String) From {"card"}
}
Dim service = New PaymentIntentService()
Dim paymentIntent As PaymentIntent = service.Create(options)
Fonctionnalités avancées
Abonnements
Stripe supporte différents modèles d'abonnement, et la gestion des abonnements via Stripe.NET est simple. Vous pouvez créer, mettre à jour et annuler des abonnements.
var options = new SubscriptionCreateOptions
{
Customer = "cus_123456789",
Items = new List<SubscriptionItemOptions>
{
new SubscriptionItemOptions
{
Plan = "plan_123456789",
},
},
};
var service = new SubscriptionService();
Subscription subscription = service.Create(options);
var options = new SubscriptionCreateOptions
{
Customer = "cus_123456789",
Items = new List<SubscriptionItemOptions>
{
new SubscriptionItemOptions
{
Plan = "plan_123456789",
},
},
};
var service = new SubscriptionService();
Subscription subscription = service.Create(options);
Dim options = New SubscriptionCreateOptions With {
.Customer = "cus_123456789",
.Items = New List(Of SubscriptionItemOptions) From {
New SubscriptionItemOptions With {.Plan = "plan_123456789"}
}
}
Dim service = New SubscriptionService()
Dim subscription As Subscription = service.Create(options)
Traitement des litiges
Les litiges surviennent lorsqu'un client conteste un prélèvement auprès de sa banque ou de la société émettrice de sa carte de crédit. Stripe.Net vous permet de lister, de récupérer et de répondre aux litiges.
var service = new DisputeService();
Dispute dispute = service.Get("dp_123456789");
var service = new DisputeService();
Dispute dispute = service.Get("dp_123456789");
Dim service = New DisputeService()
Dim dispute As Dispute = service.Get("dp_123456789")
Meilleures pratiques
Sécurité : Sécurisez toujours vos clés d'API et ne les codifiez jamais en dur dans vos fichiers sources.
Gestion des erreurs : Mettre en œuvre une gestion robuste des erreurs pour gérer les exceptions et les appels d'API qui échouent.
Test : Utilisez le mode test de Stripe et fournissez des numéros de cartes test pour tester votre intégration en profondeur.
Documentation : Référez-vous à la documentation officielle de Stripe API et à la documentation de la bibliothèque Stripe.Net pour des informations et des exemples à jour.
Présentation d'IronPDF pour C
ironPDF est une bibliothèque C# qui permet aux développeurs de créer, d'éditer et d'extraire du contenu de documents PDF. Il s'agit d'un outil idéal pour générer des PDF dans les applications .NET, que ce soit pour des rapports, des factures ou d'autres besoins de documentation.
IronPDF peut convertir avec précision les pages web, les URL, etHTML vers PDFformat, en faisant un outil parfait pour créer des documents PDF à partir de contenu en ligne, tels que des rapports et des factures.
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
Caractéristiques principales
1. HTML vers PDF
IronPDF permet aux développeurs de créer facilement des documents PDF en convertissant des chaînes HTML, des URL et des fichiers HTML en PDF.
2. Edition PDF
Modifiez facilement des documents PDF existants. IronPDF permet de manipuler des PDF existants en permettant aux utilisateurs d'ajouter des pages à des index spécifiques, de copier ou de supprimer des pages, de diviser un PDF et d'extraire des pages pour créer de nouveaux PDF, etc.
3. Fusion de PDF
La fonctionnalité de fusion d'IronPDF permet aux développeurs de combiner deux ou plusieurs documents PDF en un seul.
4. Sécurité PDF
IronPDF permet aux utilisateurs d'ajouter des mots de passe et des autorisations aux PDF afin d'en renforcer la sécurité.
5. Cryptage et décryptage des PDF
IronPDF prend en charge le cryptage, le décryptage et la protection par mot de passe des documents PDF sur 128 bits.
6. Signer numériquement un document PDF
Les développeurs peuvent ajouter par programme des signatures numériques aux PDF à l'aide d'IronPDF. Il prend en charge plusieurs façons de signer un PDF avec un certificat de signature numérique aux formats .pfx et .p12.
Exemple : Génération d'une facture au format PDF avec Stripe.Net et IronPDF
Créons un exemple pratique dans lequel nous générons une facture PDF à l'aide d'IronPDF après avoir traité un paiement avec Stripe.Net.
Installer la bibliothèque IronPDF for .NET
Marche à suivre pour installer IronPDF à l'aide du gestionnaire de paquets NuGet :
Ouvrez votre projet ASP.NET dans Visual Studio et accédez au menu "Outils".
Sélectionnez "NuGet Package Manager" et cliquez sur "Manage NuGet Packages for Solution"
Dans l'onglet "Parcourir", recherchez "IronPDF" et sélectionnez la version souhaitée. Cliquez sur "Install" pour ajouter le paquet à votre projet. IronPDF et ses dépendances seront automatiquement téléchargés et intégrés, ce qui vous permettra de commencer à tirer parti de ses fonctionnalités dans votre application ASP.NET en toute transparence.
Traiter le paiement et générer la facture
Voici un exemple complet qui démontre la création d'un nouveau paiement avec l'API Stripe.Net et la génération d'une facture PDF avec IronPDF.
using Stripe;
using IronPdf;
using System;
public class PaymentService
{
public void ProcessPaymentAndGenerateInvoice()
{
// Configure Stripe API key
StripeConfiguration.ApiKey = "your_secret_key";
// Create a PaymentIntent
var paymentIntentOptions = new PaymentIntentCreateOptions
{
Amount = 2000,
Currency = "usd",
PaymentMethodTypes = new List<string> { "card" },
};
var paymentIntentService = new PaymentIntentService();
PaymentIntent paymentIntent = paymentIntentService.Create(paymentIntentOptions);
// Assuming payment succeeded, create a PDF invoice
GeneratePdfInvoice(paymentIntent);
}
private void GeneratePdfInvoice(PaymentIntent paymentIntent)
{
// Create HTML content for the invoice
var htmlContent = $@"
<html>
<head>
<title>Invoice</title>
</head>
<body>
<h1>Invoice</h1>
<p>Payment ID: {paymentIntent.Id}</p>
<p>Amount: {paymentIntent.Amount / 100.0:C}</p>
<p>Status: {paymentIntent.Status}</p>
</body>
</html>";
// Convert HTML to PDF
var renderer = new ChromePdfRenderer();
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save PDF to file
var filePath = "invoice.pdf";
pdfDocument.SaveAs(filePath);
Console.WriteLine($"Invoice saved to {filePath}");
}
}
class Program
{
static void Main(string[] args)
{
var service = new PaymentService();
service.ProcessPaymentAndGenerateInvoice();
}
}
using Stripe;
using IronPdf;
using System;
public class PaymentService
{
public void ProcessPaymentAndGenerateInvoice()
{
// Configure Stripe API key
StripeConfiguration.ApiKey = "your_secret_key";
// Create a PaymentIntent
var paymentIntentOptions = new PaymentIntentCreateOptions
{
Amount = 2000,
Currency = "usd",
PaymentMethodTypes = new List<string> { "card" },
};
var paymentIntentService = new PaymentIntentService();
PaymentIntent paymentIntent = paymentIntentService.Create(paymentIntentOptions);
// Assuming payment succeeded, create a PDF invoice
GeneratePdfInvoice(paymentIntent);
}
private void GeneratePdfInvoice(PaymentIntent paymentIntent)
{
// Create HTML content for the invoice
var htmlContent = $@"
<html>
<head>
<title>Invoice</title>
</head>
<body>
<h1>Invoice</h1>
<p>Payment ID: {paymentIntent.Id}</p>
<p>Amount: {paymentIntent.Amount / 100.0:C}</p>
<p>Status: {paymentIntent.Status}</p>
</body>
</html>";
// Convert HTML to PDF
var renderer = new ChromePdfRenderer();
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save PDF to file
var filePath = "invoice.pdf";
pdfDocument.SaveAs(filePath);
Console.WriteLine($"Invoice saved to {filePath}");
}
}
class Program
{
static void Main(string[] args)
{
var service = new PaymentService();
service.ProcessPaymentAndGenerateInvoice();
}
}
Imports Stripe
Imports IronPdf
Imports System
Public Class PaymentService
Public Sub ProcessPaymentAndGenerateInvoice()
' Configure Stripe API key
StripeConfiguration.ApiKey = "your_secret_key"
' Create a PaymentIntent
Dim paymentIntentOptions = New PaymentIntentCreateOptions With {
.Amount = 2000,
.Currency = "usd",
.PaymentMethodTypes = New List(Of String) From {"card"}
}
Dim paymentIntentService As New PaymentIntentService()
Dim paymentIntent As PaymentIntent = paymentIntentService.Create(paymentIntentOptions)
' Assuming payment succeeded, create a PDF invoice
GeneratePdfInvoice(paymentIntent)
End Sub
Private Sub GeneratePdfInvoice(ByVal paymentIntent As PaymentIntent)
' Create HTML content for the invoice
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Dim htmlContent = $"
<html>
<head>
<title>Invoice</title>
</head>
<body>
<h1>Invoice</h1>
<p>Payment ID: {paymentIntent.Id}</p>
<p>Amount: {paymentIntent.Amount / 100.0:C}</p>
<p>Status: {paymentIntent.Status}</p>
</body>
</html>"
' Convert HTML to PDF
Dim renderer = New ChromePdfRenderer()
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
' Save PDF to file
Dim filePath = "invoice.pdf"
pdfDocument.SaveAs(filePath)
Console.WriteLine($"Invoice saved to {filePath}")
End Sub
End Class
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim service = New PaymentService()
service.ProcessPaymentAndGenerateInvoice()
End Sub
End Class
Sortie
Conclusion
Stripe.Net est une bibliothèque complète et puissante qui simplifie l'intégration du traitement des paiements Stripe dans les applications .NET. Avec des fonctionnalités allant du traitement des transactions de base à la gestion des abonnements et des litiges, il couvre un large éventail de besoins liés aux paiements.
ironPDF complète IronPDF for NET en permettant aux développeurs de générer, d'éditer et de gérer des documents PDF. Ensemble, ces bibliothèques constituent une solution solide pour gérer les paiements et générer la documentation correspondante dans les applications .NET.
En exploitant les capacités de Stripe.NET et de IronPDF, les développeurs peuvent créer des flux de travail transparents et efficaces qui gèrent tout, du traitement des paiements à la génération de documents, améliorant ainsi la fonctionnalité globale et l'expérience de l'utilisateur de leurs applications.
IronPDF offre aux développeurs la possibilité de tester ses fonctionnalités étendues en leur fournissant uneessai gratuit d'IronPDF.
IronPDF fournit une assistance clientèle et des mises à jour, ainsi que des exemples de code et une documentation complète pour aider les utilisateurs à en tirer le meilleur parti. Pour approfondir le sujet, consultez notre tutoriel complet sur la traduction deConversion de HTML en PDF avec IronPDF.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT Papercut SMTP C# (Comment ça marche pour les développeurs)
SUIVANT > TensorFlow .NET (Comment ça marche pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier