Ir para o conteúdo do rodapé
AJUDA DO .NET

Stripe .NET (Como funciona para desenvolvedores)

Integração do Stripe .NET com o IronPDF

Stripe.Net é uma poderosa biblioteca .NET que permite aos desenvolvedores integrar os recursos de processamento de pagamentos do Stripe em aplicativos .NET . O Stripe é um gateway de pagamento popular que permite que empresas aceitem pagamentos online. Com o Stripe.Net, os desenvolvedores podem gerenciar transações, clientes, assinaturas e muito mais usando os recursos robustos fornecidos pela API do Stripe. Neste artigo, discutiremos como usar o Stripe com o IronPDF para criar PDFs.

Primeiros passos com o Stripe .NET

Criar um novo projeto do Visual Studio

Para começar a usar o Stripe.Net, precisamos criar um novo projeto no Visual Studio ou abrir um já existente. Para este tutorial, usaremos um projeto de Aplicativo de Console.

  1. Abra o Visual Studio e clique em "Criar um novo projeto".

    Stripe .NET (How It Works For Developers): Figure 1 - Open Visual Studio and click on Create a new project option.

  2. Uma nova janela será aberta. Selecione Aplicativo de Console e clique em Avançar.

    Stripe .NET (Como funciona para desenvolvedores): Figura 2 - Selecione Aplicativo de console C# como o tipo de projeto. Clique em Avançar.

  3. Na janela seguinte, insira o nome do seu projeto e selecione o local, depois clique em Avançar.

    Stripe .NET (Como funciona para desenvolvedores): Figura 3 - Configure seu projeto especificando o nome do projeto, o local e o nome da solução. Em seguida, clique em Avançar.

  4. Na janela seguinte, selecione a estrutura e clique em Criar.

    Stripe .NET (Como funciona para desenvolvedores): Figura 4 - Selecione a .NET Framework apropriada para o seu projeto e clique em Criar.

Assim, de repente, seu novo projeto de Aplicativo de Console do Visual Studio é criado.

Instalação

Para começar a usar Stripe.Net em seu projeto, você precisa instalar o pacote Stripe .NET via NuGet. Você pode fazer isso usando o Console do Gerenciador de Pacotes ou o Gerenciador de Pacotes NuGet no Visual Studio.

Utilizando o Console do Gerenciador de Pacotes:

Install-Package Stripe.net

Ou

dotnet add package Stripe.net

Utilizando o gerenciador de pacotes NuGet , procure por "Stripe .NET" e instale o pacote.

Configuração

Após a instalação, você precisa configurar sua chave de API do Stripe, que pode ser encontrada na sua conta do Stripe. Essa chave é essencial para autenticar suas solicitações à API do Stripe. Normalmente, essa chave é armazenada em um arquivo de configuração ou variável de ambiente por motivos de segurança.

Aqui está um exemplo de como configurar sua chave de API:

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

Operações básicas com Stripe .NET

Criando um Cliente

Criar um cliente é uma das operações fundamentais ao trabalhar com Stripe.Net. Os clientes podem ser associados a métodos de pagamento e assinaturas.

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

Painel de controle do Stripe

Stripe .NET (Como funciona para desenvolvedores): Figura 5 - Painel do Stripe para clientes

Criando uma intenção de pagamento

Um PaymentIntent é um objeto que representa um processo de pagamento no Stripe. Ele foi projetado para rastrear o ciclo de vida de um pagamento, desde a sua criação até a sua conclusão.

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

Stripe .NET (Como funciona para desenvolvedores): Figura 6 - Intenção de pagamento do Stripe

Recursos avançados

Assinaturas

O Stripe oferece suporte a vários modelos de assinatura e o gerenciamento de assinaturas via Stripe.Net é simples. Você pode criar, atualizar e cancelar assinaturas.

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

Stripe .NET (Como funciona para desenvolvedores): Figura 7 - Serviço de assinatura Stripe

Gerenciamento de Disputas

Disputas ocorrem quando um cliente questiona uma cobrança junto ao seu banco ou à sua operadora de cartão de crédito. Stripe.Net permite listar, recuperar e responder a disputas.

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

Melhores práticas

  1. Segurança: Sempre proteja suas chaves de API e nunca as codifique diretamente nos seus arquivos de código-fonte.
  2. Tratamento de erros: Implemente um tratamento de erros robusto para gerenciar exceções e chamadas de API com falha.
  3. Teste: Utilize o modo de teste do Stripe e forneça números de cartão de teste para testar completamente a sua integração.
  4. Documentação: Consulte a documentação oficial da API do Stripe e a documentação da biblioteca Stripe.Net para obter informações e exemplos atualizados.

Apresentando o IronPDF para C

Stripe .NET (Como funciona para desenvolvedores): Figura 8 - IronPDF for .NET: A biblioteca PDF em C#

IronPDF é uma biblioteca C# que permite aos desenvolvedores criar, editar e extrair conteúdo de documentos PDF. É uma ferramenta ideal para gerar PDFs em aplicações .NET , seja para relatórios, faturas ou outras necessidades de documentação.

O IronPDF consegue converter com precisão páginas da web, URLs e HTML para o formato PDF , tornando-se uma ferramenta perfeita para criar documentos PDF a partir de conteúdo online, como relatórios e faturas.

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

Principais características

1. HTML para PDF

O IronPDF permite que desenvolvedores criem documentos PDF facilmente, convertendo strings HTML, URLs e arquivos HTML em PDF.

2. Edição de PDF

Edite documentos PDF existentes com facilidade. O IronPDF permite manipular PDFs existentes, possibilitando aos usuários adicionar páginas em índices específicos, copiar ou excluir páginas, dividir um PDF e extrair páginas para criar novos PDFs, etc.

3. Fusão de PDFs

A funcionalidade de mesclagem do IronPDF permite que os desenvolvedores combinem dois ou mais documentos PDF em um só.

4. Segurança do PDF

O IronPDF permite que os usuários adicionem senhas e permissões a PDFs para aumentar a segurança dos mesmos.

5. Criptografia e descriptografia de PDF

O IronPDF suporta criptografia de 128 bits, descriptografia e proteção por senha de documentos PDF.

6. Assinar digitalmente um documento PDF

Os desenvolvedores podem adicionar assinaturas digitais a PDFs de forma programática usando o IronPDF. Ele suporta várias maneiras de assinar um PDF com um certificado de assinatura digital nos formatos .pfx e .p12.

Exemplo: Gerando uma fatura em PDF com Stripe .NET e IronPDF

Vamos criar um exemplo prático onde geramos uma fatura em PDF usando o IronPDF após processar um pagamento com Stripe.Net.

Instale a biblioteca IronPDF .NET.

Passos para instalar o IronPDF usando o Gerenciador de Pacotes NuGet :

  1. Abra seu projeto ASP.NET no Visual Studio e navegue até o menu "Ferramentas".
  2. Selecione "Gerenciador de Pacotes NuGet " e clique em "Gerenciar Pacotes NuGet para a Solução".
  3. Na aba "Procurar", pesquise por "IronPDF" e selecione a versão desejada. Clique em "Instalar" para adicionar o pacote ao seu projeto. O IronPDF e suas dependências serão baixados e integrados automaticamente, permitindo que você comece a aproveitar suas funcionalidades em sua aplicação ASP.NET sem problemas.

    Stripe .NET (How It Works For Developers): Figure 9 - Install IronPDF using the Manage NuGet Package for Solution by searching IronPDF in the search bar of NuGet Package Manager, then select the project and click on the Install button.

Processar pagamento e gerar fatura

Aqui está um exemplo completo que demonstra a criação de um novo pagamento com a API Stripe.Net e a geração de uma fatura em PDF com a API IronPDF.

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();
    }
}
Imports Stripe
Imports IronPdf
Imports System
Imports System.Collections.Generic

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 the HTML content to a PDF document
		Dim renderer = New ChromePdfRenderer()
		Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

		' Save the PDF document to a 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
$vbLabelText   $csharpLabel

Saída

Stripe .NET (Como funciona para desenvolvedores): Figura 10 - Fatura em PDF gerada usando o IronPDF via serviço Stripe

Conclusão

Stripe.Net é uma biblioteca abrangente e poderosa que simplifica a integração do processamento de pagamentos do Stripe em aplicativos .NET . Com funcionalidades que vão desde o processamento básico de transações até a gestão de assinaturas e disputas, abrange uma ampla gama de necessidades relacionadas a pagamentos.

IronPDF complementa Stripe.Net permitindo que os desenvolvedores gerem, editem e gerenciem documentos PDF. Em conjunto, essas bibliotecas fornecem uma solução robusta para lidar com pagamentos e gerar a documentação correspondente em aplicações .NET .

Ao aproveitar os recursos de Stripe.Net e IronPDF, os desenvolvedores podem criar fluxos de trabalho integrados e eficientes que lidam com tudo, desde o processamento de pagamentos até a geração de documentos, aprimorando a funcionalidade geral e a experiência do usuário de seus aplicativos.

O IronPDF oferece aos desenvolvedores a oportunidade de testar seus diversos recursos, fornecendo um período de IronPDF gratuito .

O IronPDF oferece suporte ao cliente e atualizações, juntamente com exemplos de código e documentação completa para ajudar os usuários a tirar o máximo proveito da ferramenta. Para explorar o assunto mais a fundo, consulte nosso tutorial completo sobre conversão de HTML para PDF com o IronPDF .

Perguntas frequentes

Como posso integrar o processamento de pagamentos em uma aplicação .NET?

Você pode integrar o processamento de pagamentos em um aplicativo .NET usando a biblioteca `Stripe.Net`, que permite gerenciar pagamentos, criar clientes e lidar com a cobrança em seu aplicativo.

Quais são os passos envolvidos na configuração do Stripe.Net em um novo projeto do Visual Studio?

Para configurar o Stripe.Net em um novo projeto do Visual Studio, comece criando um novo projeto, instale o pacote `Stripe.Net` via NuGet e configure sua chave de API do Stripe para autenticar as solicitações de API.

Como gerenciar assinaturas em uma aplicação .NET?

O Stripe.Net oferece métodos integrados para gerenciar assinaturas, permitindo que você crie, atualize e cancele assinaturas diretamente por meio da API.

Quais são as melhores práticas para proteger chaves de API no Stripe.Net?

As melhores práticas para proteger as chaves de API no Stripe.Net incluem armazená-las com segurança usando variáveis de ambiente ou arquivos de configuração e garantir que elas não estejam codificadas diretamente no código-fonte.

Como posso gerar documentação ou faturas após processar pagamentos em uma aplicação .NET?

Após processar pagamentos com o Stripe.Net, você pode gerar documentação ou faturas usando o IronPDF para converter conteúdo HTML em arquivos PDF, fornecendo uma saída profissional para suas necessidades de faturamento.

Quais são os benefícios de usar uma biblioteca PDF em C# com o Stripe.Net?

Utilizar uma biblioteca PDF em C#, como o IronPDF, com o Stripe.Net permite criar, gerenciar e personalizar facilmente documentos PDF, como faturas, aprimorando a funcionalidade do seu aplicativo .NET.

Como faço para criar um PaymentIntent no Stripe.Net?

Para criar um PaymentIntent no Stripe.Net, utilize a classe `PaymentIntentService` com `PaymentIntentCreateOptions` para especificar os detalhes do pagamento e acompanhar o ciclo de vida do pagamento.

Como posso solucionar problemas comuns ao integrar o Stripe.Net?

Problemas comuns na integração do Stripe.Net podem ser resolvidos verificando as configurações das chaves de API, garantindo o uso correto dos métodos da biblioteca Stripe e revisando as mensagens de erro para obter orientações específicas.

Quais são alguns dos recursos avançados oferecidos pelo Stripe.Net?

Os recursos avançados oferecidos pelo Stripe.Net incluem o tratamento de contestações de pagamento, o gerenciamento de cobranças recorrentes e a implementação de processamento de pagamentos seguro com tratamento robusto de erros.

Como posso converter conteúdo HTML para PDF em uma aplicação .NET?

É possível converter conteúdo HTML para PDF em um aplicativo .NET usando os métodos do IronPDF, como RenderHtmlAsPdf para strings HTML ou RenderHtmlFileAsPdf para arquivos HTML.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim