.NET 帮助

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

发布 2024年七月1日
分享:

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,点击 创建新项目 选项。

  2. 一个新窗口将会出现。 选择控制台应用程序,然后单击下一步。

    Stripe .NET(如何为开发人员服务):图 2 - 选择 C# 控制台应用程序作为项目类型。 单击下一步。

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

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

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

    Stripe .NET(如何为开发人员工作):图 4 - 为您的项目选择合适的 .NET Framework,然后单击 创建。

    就这样,您的新 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";
StripeConfiguration.ApiKey = "your_secret_api_key"
VB   C#

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);
Dim options = New CustomerCreateOptions With {
	.Email = "customer@example.com",
	.Name = "John Doe"
}
Dim service = New CustomerService()
Dim customer As Customer = service.Create(options)
VB   C#

输出 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);
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)
VB   C#

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);
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)
VB   C#

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");
Dim service = New DisputeService()
Dim dispute As Dispute = service.Get("dp_123456789")
VB   C#

最佳实践

  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 的理想工具,无论是用于报告、发票还是其他文档需求。

主要功能

1.HTML 至 PDF

IronPdf 允许开发人员将 HTML 字符串、URL 和 HTML 文件转换为 PDF,从而轻松创建 PDF 文档。

2. PDF编辑

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

3.PDF 合并

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

PDF安全性

IronPdf 使用户能够为 PDF 添加密码和权限,以增强 PDF 的安全性。

5.PDF 加密和解密

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

6.对 PDF 文档进行数字签名

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

举例说明:使用 Stripe.Net 和 IronPDF 生成 PDF 发票

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

安装 IronPDF for .NET 库

使用 NuGet 包管理器安装 IronPDF 的步骤:

  1. 在 Visual Studio 中打开 ASP.NET 项目,并导航到 "工具 "菜单。

  2. 选择 "NuGet 包管理器",然后点击 "管理解决方案的 NuGet 包"。

  3. 在 "浏览 "选项卡中搜索 "IronPDF "并选择所需的版本。 点击 "安装 "将软件包添加到您的项目中。 IronPDF 及其附属程序将自动下载并集成,使您可以开始在 ASP.NET 应用程序中无缝利用其功能。

    Stripe .NET(如何为开发人员工作):图 9 - 在 NuGet Package Manager 的搜索栏中搜索 IronPDF,使用 Manage NuGet Package for Solution 安装 IronPDF,然后选择项目并点击安装按钮。

处理付款和生成发票

下面是一个完整的示例,演示了使用 Stripe.Net API 创建新付款和使用 IronPDF 生成 PDF 发票。

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
VB   C#

输出

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

结论

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

IronPDF for .NET "是对 "Stripe.Net "的补充,使开发人员能够生成、编辑和管理 PDF 文档。 这些库共同提供了一个强大的解决方案,用于在 .NET 应用程序中处理付款和生成相应的文档。

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

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

IronPdf 提供客户支持和更新,以及代码示例和详尽的文档,帮助用户充分利用。 如需进一步了解该主题,请参阅我们在以下方面的详尽教程使用 IronPDF 将 HTML 转换为 PDF.

< 前一页
Papercut SMTP C# (开发者如何使用)
下一步 >
TensorFlow .NET(它是如何为开发人员工作的)

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,622,374 查看许可证 >