.NET 幫助

Stripe .NET(開發人員如何運作)

發佈 2024年7月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的理想工具,無論是用於報告、發票還是其他文檔需求。

主要功能

HTML 轉 PDF

IronPDF可以讓開發人員輕鬆創建PDF文件,透過將HTML字串、URL和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 發票。

安裝 IronPDF .NET 庫

使用 NuGet 套件管理器安裝 IronPDF 的步驟:

  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;

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 - 使用 IronPDF 透過 Stripe 服務生成的 PDF 發票

結論

Stripe.Net 是一個綜合性且強大的庫,簡化了將 Stripe 的支付處理集成到 .NET 應用程序中的過程。 具有從基本交易處理到管理訂閱和爭議等功能,它涵蓋了廣泛的支付相關需求。

IronPDF通過使開發人員能夠生成、編輯和管理 PDF 文件來補充Stripe.Net。 這些函式庫共同為 .NET 應用程式中的付款處理和生成相應文檔提供了一個強大的解決方案。

通過利用 Stripe.Net 和 IronPDF 的功能,開發人員可以創建無縫且高效的工作流程,處理從支付處理到文件生成的所有事務,增強應用程式的整體功能和用戶體驗。

IronPDF通過提供一個機會,讓開發人員測試其廣泛的功能IronPDF 免費試用.

IronPDF 提供客戶支持和更新,以及代碼示例和詳細的文檔,幫助用戶充分利用其功能。 若要進一步探索此主題,請參閱我們的詳細教程使用 IronPDF 將 HTML 轉換為 PDF.

< 上一頁
Papercut SMTP C#(開發人員如何使用)
下一個 >
TensorFlow .NET(它對開發者的運作方式)

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >