跳至页脚内容
.NET 帮助

Stripe .NET(开发人员如何使用)

Stripe.Net 与 IronPDF 的集成。

Stripe.Net 是一个强大的 .NET 库,允许开发人员将 Stripe 的支付处理能力集成到 .NET 应用程序中。 Stripe 是一个流行的支付网关,使企业能够在线接受付款。通过 Stripe.Net,开发人员可以使用 Stripe API 提供的强大功能来管理交易、客户、订阅等。 在本文中,我们将讨论如何使用 Stripe 与 IronPDF 创建 PDF。

开始使用 Stripe.Net

创建一个新的Visual Studio项目

要开始使用 Stripe.Net,我们需要创建一个新的 Visual Studio 项目或打开一个现有项目。 在本教程中,我们将使用控制台应用程序项目。

  1. 打开 Visual Studio 并点击"创建新项目"。

Stripe .NET (开发人员工作原理):图 1 - 打开 Visual Studio 并点击创建新项目选项。

  1. 一个新窗口将出现。 选择控制台应用程序并点击下一步。

Stripe .NET (开发人员工作原理):图 2 - 选择 C# 控制台应用程序作为项目类型。 点击下一步。

  1. 在下一个窗口,输入项目名称并选择位置,然后点击下一步。

Stripe .NET (开发人员工作原理):图 3 - 通过指定项目名称、位置和解决方案名称来配置项目。 然后点击下一步。

  1. 在下一个窗口,选择框架并点击创建。

Stripe .NET (开发人员工作原理):图 4 - 为项目选择适当的 .NET 框架并点击创建。

就这样,您的新 Visual Studio 控制台应用程序项目已经创建。

安装

要在项目中开始使用 Stripe.Net,您需要通过 NuGet 安装 Stripe.Net 包。 您可以使用包管理器控制台或 Visual Studio 的 NuGet 包管理器来完成此操作。

使用包管理器控制台:

Install-Package Stripe.net

或者

dotnet add package Stripe.net

使用 NuGet 包管理器,搜索"Stripe.net"并安装该包。

配置

安装完成后,您需要配置您的 Stripe API 密钥,您可以在您的 Stripe 账户中找到此密钥。 此密钥对于验证您向 Stripe API 发送的请求至关重要。 通常,此密钥存储在配置文件或环境变量中以确保安全。

这是如何设置您的 API 密钥的示例:

StripeConfiguration.ApiKey = "your_secret_api_key";
StripeConfiguration.ApiKey = "your_secret_api_key";
$vbLabelText   $csharpLabel

使用 Stripe.Net 的基本操作

创建一个客户

创建客户是在使用 Stripe.Net 时的基本操作之一。 客户可以与支付方法和订阅关联。

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);
$vbLabelText   $csharpLabel

输出 Stripe 仪表板

Stripe .NET (开发人员工作原理):图 5 - 客户的 Stripe 仪表板

创建支付意图

PaymentIntent 是一个对象,代表 Stripe 中的支付过程。它旨在跟踪从创建到完成的支付生命周期。

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);
$vbLabelText   $csharpLabel

Stripe .NET (开发人员工作原理):图 6 - Stripe 支付意图

高级功能

订阅

Stripe 支持多种订阅模型,通过 Stripe.Net 管理订阅非常简单。 您可以创建、更新和取消订阅。

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);
$vbLabelText   $csharpLabel

Stripe .NET (开发人员工作原理):图 7 - Stripe 订阅服务

处理争议

当客户对其银行或信用卡公司的收费提出质疑时,会发生争议。 Stripe.Net 允许您列出、获取和回应争议。

var service = new DisputeService();
Dispute dispute = service.Get("dp_123456789");
var service = new DisputeService();
Dispute dispute = service.Get("dp_123456789");
$vbLabelText   $csharpLabel

最佳实践

1.安全性:务必保护好您的 API 密钥,切勿将其硬编码到源文件中。 2.错误处理:实现强大的错误处理机制来管理异常和失败的 API 调用。 3.测试:使用 Stripe 的测试模式并提供测试卡号,以彻底测试您的集成。 4.文档:请参阅 Stripe 官方 API 文档和Stripe.Net库文档,以获取最新信息和示例。

介绍IronPDF for C

Stripe .NET (开发人员工作原理):图 8 - IronPDF for .NET:C# PDF 库

IronPDF 是一个 C# 库,允许开发人员创建、编辑和从 PDF 文档中提取内容。 它是 .NET 应用程序中生成 PDF 的理想工具,无论是用于报告、发票还是其他文档需求。

IronPDF 可以准确地将网页、网址和 HTML 转换为 PDF 格式,使其成为从在线内容(如报告和发票)创建 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");
    }
}
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");
    }
}
$vbLabelText   $csharpLabel

主要功能

1. HTML 转换为 PDF

IronPDF 允许开发人员轻松创建 PDF 文档,方法是将 HTML 字符串、网址和 HTML 文件转换为 PDF。

2. PDF编辑

轻松编辑现有 PDF 文档。 IronPDF 允许您操作现有 PDF,用户可以在特定索引处添加页面、复制或删除页面、拆分 PDF 以及提取页面以创建新 PDF 等。

3. PDF 合并

IronPDF 的合并功能允许开发人员将两个或多个 PDF 文档合并为一个。

4. PDF安全

IronPDF 允许用户向 PDF 添加密码和权限以增强 PDF 安全性。

5. PDF 加密和解密

IronPDF 支持 128 位加密、解密和 PDF 文档的密码保护。

6. 给 PDF 文档签名

开发人员可以使用 IronPDF 以编程方式向 PDF 添加数字签名。 它支持多种方式使用 .pfx.p12 格式的数字签名证书对 PDF 进行签名。

示例:使用 Stripe.Net 和 IronPDF 生成 PDF 发票

让我们创建一个实际例子,先使用 Stripe.Net 处理支付,然后使用 IronPDF 生成 PDF 发票。

它们结合提供了强大的解决方案,用于在 .NET 应用程序中处理支付和生成文档。

通过利用 Stripe.NetIronPDF 的功能,开发人员可以建立高效的工作流程,处理支付和文档生成。

  1. 在Visual Studio中打开您的ASP.NET项目并导航到"工具"菜单。
  2. 选择"NuGet包管理器",然后单击"为解决方案管理NuGet包"。
  3. 在"浏览"选项卡中,搜索"IronPDF"并选择所需版本。 点击"安装"将包添加到您的项目。 IronPDF及其依赖项将自动下载和集成,允许您无缝地在ASP.NET应用程序中开始利用它的功能。

Stripe .NET (开发人员工作原理):图 9 - 通过在 NuGet 包管理器搜索栏中搜索IronPDF,选择项目并点击安装按钮来使用解决方案管理 NuGet 包安装 IronPDF。

处理支付并生成发票

这是一个完整的示例,展示如何使用 Stripe.Net API 创建新支付并使用 IronPDF 生成 PDF 发票。

using Stripe;
using IronPdf;
using System;
using System.Collections.Generic;

public class PaymentService
{
    public void ProcessPaymentAndGenerateInvoice()
    {
        // Configure Stripe API key
        StripeConfiguration.ApiKey = "your_secret_key";

        // Create a PaymentIntent
        var paymentIntentOptions = new PaymentIntentCreateOptions
        {
            Amount = 2000, // Amount in cents
            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 the HTML content to a PDF document
        var renderer = new ChromePdfRenderer();
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF document to a 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;
using System.Collections.Generic;

public class PaymentService
{
    public void ProcessPaymentAndGenerateInvoice()
    {
        // Configure Stripe API key
        StripeConfiguration.ApiKey = "your_secret_key";

        // Create a PaymentIntent
        var paymentIntentOptions = new PaymentIntentCreateOptions
        {
            Amount = 2000, // Amount in cents
            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 the HTML content to a PDF document
        var renderer = new ChromePdfRenderer();
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF document to a 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();
    }
}
$vbLabelText   $csharpLabel

输出

Stripe .NET (开发人员工作原理):图 10 - 使用 IronPDF 通过 Stripe 服务生成的 PDF 发票

结论

Stripe.Net 是一个全面而强大的库,简化了将 Stripe 的支付处理集成到 .NET 应用程序中。 涵盖从基本交易处理到管理订阅和争议的功能,它涵盖了广泛的支付相关需求。

IronPDF 通过允许开发人员生成、编辑和管理 PDF 文档来补充 Stripe.Net。 它们结合提供了一个强大的解决方案,用于处理支付和生成相应文档在 .NET 应用程序中。

通过利用 Stripe.NetIronPDF 的功能,开发人员可以创建无缝且高效的工作流程,涵盖从支付处理到文档生成的全过程,增强应用程序的整体功能和用户体验。

IronPDF 提供开发人员一个测试其广泛功能的机会,提供 IronPDF 的免费试用版

IronPDF 提供客户支持和更新,以及代码示例和详尽文档,以帮助用户最大限度利用它。 要进一步探索该主题,请参考我们关于 IronPDF 的 HTML 到 PDF 转换 的详细教程。

常见问题解答

如何将支付处理集成到 .NET 应用程序中?

您可以使用 `Stripe.Net` 库将支付处理集成到 .NET 应用程序中,该库允许您管理支付、创建客户,并在应用程序中处理账单。

在新的 Visual Studio 项目中设置 Stripe.Net 涉及哪些步骤?

要在新的 Visual Studio 项目中设置 Stripe.Net,首先创建一个新项目,通过 NuGet 安装 `Stripe.Net` 包,并配置您的 Stripe API 密钥以验证 API 请求。

我如何在 .NET 应用程序中处理订阅管理?

Stripe.Net 提供内置方法来管理订阅,使您能够通过 API 直接创建、更新和取消订阅。

Stripe.Net 中保护 API 密钥的最佳实践是什么?

在 Stripe.Net 中保护 API 密钥的最佳实践包括使用环境变量或配置文件安全地存储密钥,并确保它们不在源代码中硬编码。

如何在 .NET 应用程序中处理支付后生成文档或发票?

通过 Stripe.Net 处理支付后,您可以使用 IronPDF 将 HTML 内容转换为 PDF 文件,提供专业的账单输出。

使用 C# PDF 库与 Stripe.Net 的好处是什么?

使用像 IronPDF 这样的 C# PDF 库与 Stripe.Net 可以轻松创建、管理和自定义 PDF 文档,如发票,增强您的 .NET 应用程序的功能。

我如何在 Stripe.Net 中创建 PaymentIntent?

要在 Stripe.Net 中创建 PaymentIntent,请使用 `PaymentIntentService` 类和 `PaymentIntentCreateOptions` 来指定支付细节并跟踪支付生命周期。

整合 Stripe.Net 常见问题应如何排查?

解决整合 Stripe.Net 的常见问题可以通过检查 API 密钥配置,确保正确使用 Stripe 库方法,并查看错误信息以获得具体指导。

Stripe.Net 提供哪些高级功能?

Stripe.Net 提供的高级功能包括处理支付争议、管理定期计费和实现带有强大错误处理的安全支付处理。

如何在 .NET 应用程序中将 HTML 内容转换为 PDF?

您可以使用 IronPDF 的方法在 .NET 应用程序中将 HTML 内容转换为 PDF,例如用于 HTML 字符串的 RenderHtmlAsPdf 或用于 HTML 文件的 RenderHtmlFileAsPdf

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,是 C# PDF 技术的先锋工程师。作为 Iron Software 核心代码库的原始开发者,自公司成立以来,他就塑造了公司的产品架构,并与首席执行官 Cameron Rimington 一起将其转变成一家公司,拥有50多人,服务于 NASA、特斯拉和全球政府机构。

Jacob 拥有曼彻斯特大学 (1998-2001) 的一级荣誉土木工程学士学位。1999 年在伦敦创办了自己的第一家软件公司,并于 2005 年创建了他的第一个 .NET 组件后,他专注于解决微软生态系统中的复杂问题。

他的旗舰 IronPDF 和 Iron Suite .NET 库在全球已获得超过 3000 万次的 NuGet 安装,其基础代码继续为全球使用的开发者工具提供支持。拥有 25 年商业经验和 41 年编程经验的 Jacob 仍专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。