AYUDA .NET

Stripe .NET (Cómo funciona para desarrolladores)

Actualizado julio 1, 2024
Compartir:

Integración de Stripe.Net con IronPDF

Stripe.Net es una potente librería .NET que permite a los desarrolladores integrar las capacidades de procesamiento de pagos de Stripe en aplicaciones .NET. Stripe es una popular pasarela de pago que permite a las empresas aceptar pagos en línea. Con Stripe.Net, los desarrolladores pueden gestionar transacciones, clientes, suscripciones y mucho más utilizando las sólidas funciones que ofrece la API de Stripe. En este artículo, vamos a discutir cómo utilizar Stripe con IronPDF para crear archivos PDF.

Primeros pasos con Stripe.Net

Crear un nuevo proyecto de Visual Studio

Para empezar con Stripe.Net, necesitamos crear un nuevo proyecto de Visual Studio o abrir uno ya existente. Para este tutorial, utilizaremos un proyecto de Aplicación de Consola.

  1. Abra Visual Studio y haga clic en "Crear un nuevo proyecto".

    Stripe .NET (Cómo funciona para desarrolladores): Figura 1 - Abra Visual Studio y haga clic en la opción Crear un nuevo proyecto.

  2. Aparecerá una nueva ventana. Seleccione Aplicación de consola y haga clic en Siguiente.

    Stripe .NET (Cómo funciona para los desarrolladores): Figura 2 - Seleccione C# Console App como tipo de proyecto. Haga clic en Siguiente.

  3. En la ventana siguiente, introduzca el nombre de su proyecto y seleccione la ubicación, después haga clic en Siguiente.

    Stripe .NET (Cómo funciona para los desarrolladores): Figura 3 - Configure su proyecto especificando el nombre del proyecto, la ubicación y el nombre de la solución. A continuación, haga clic en Siguiente.

  4. En la siguiente ventana, seleccione el marco y haga clic en Crear.

    Stripe .NET (Cómo funciona para desarrolladores): Figura 4 - Seleccione el .NET Framework adecuado para su proyecto y haga clic en Crear.

    De este modo, se creará un nuevo proyecto de aplicación de consola de Visual Studio.

Instalación

Para empezar a utilizar Stripe.Net en su proyecto, debe instalar el paquete Stripe.Net a través de NuGet. Puede hacerlo utilizando la consola del gestor de paquetes o el gestor de paquetes NuGet en Visual Studio.

Uso de la consola del gestor de paquetes:

Install-Package Stripe.net

O

dotnet add package Stripe.net

Utilizando el gestor de paquetes NuGet, busque "Stripe.net" e instale el paquete.

Configuración

Una vez instalado, deberá configurar su clave API de Stripe, que encontrará en su cuenta de Stripe. Esta clave es esencial para autenticar sus solicitudes a la API de Stripe. Normalmente, esta clave se almacena en un archivo de configuración o en una variable de entorno por motivos de seguridad.

Aquí tiene un ejemplo de cómo configurar su clave API:

StripeConfiguration.ApiKey = "your_secret_api_key";
StripeConfiguration.ApiKey = "your_secret_api_key";
StripeConfiguration.ApiKey = "your_secret_api_key"
VB   C#

Operaciones básicas con Stripe.Net

Crear un cliente

Crear un cliente es una de las operaciones fundamentales cuando se trabaja con Stripe.Net. Los clientes pueden asociarse a métodos de pago y suscripciones.

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#

Salida del panel de control de Stripe

Stripe .NET (Cómo funciona para desarrolladores): Figura 5 - Panel de Stripe para clientes

Creación de una intención de pago

Un PaymentIntent es un objeto que representa un proceso de pago en Stripe. Está diseñado para realizar un seguimiento del ciclo de vida de un pago desde su creación hasta su finalización.

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 (Cómo funciona para desarrolladores): Figura 6 - Intención de pago de Stripe

Funciones avanzadas

Suscripciones

Stripe admite varios modelos de suscripción, y la gestión de suscripciones a través de Stripe.Net es sencilla. Puede crear, actualizar y cancelar suscripciones.

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 (Cómo funciona para desarrolladores): Figura 7 - Servicio de suscripción de Stripe

Gestión de litigios

Los litigios se producen cuando un cliente cuestiona un cargo ante su banco o la entidad emisora de su tarjeta de crédito. Stripe.Net le permite listar, recuperar y 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")
VB   C#

Buenas prácticas

  1. Seguridad: Asegure siempre sus claves API y nunca las codifique en sus archivos fuente.

  2. Gestión de errores: Implementa un manejo robusto de errores para gestionar excepciones y llamadas fallidas a la API.

  3. Pruebas: Utilice el modo de prueba de Stripe y proporcione números de tarjeta de prueba para probar a fondo su integración.

  4. Documentación: Consulte la documentación oficial de la API de Stripe y la documentación de la biblioteca Stripe.Net para obtener información actualizada y ejemplos.

Presentación de IronPDF para C

Stripe .NET (Cómo funciona para desarrolladores): Figura 8 - IronPDF for .NET: La biblioteca PDF de C#

ironPDF es una biblioteca de C# que permite a los desarrolladores crear, editar y extraer contenido de documentos PDF. Es una herramienta ideal para generar archivos PDF en aplicaciones .NET, ya sea para informes, facturas u otras necesidades de documentación.

Características principales

1. HTML a PDF

IronPDF permite a los desarrolladores crear documentos PDF fácilmente convirtiendo cadenas HTML, URL y archivos HTML a PDF.

2. Edición PDF

Edita documentos PDF existentes con facilidad. IronPDF permite manipular los PDF existentes permitiendo a los usuarios añadir páginas en índices específicos, copiar o eliminar páginas, dividir un PDF y extraer páginas para crear nuevos PDF, etc.

3. Fusión de PDF

La función de fusión de IronPDF permite a los desarrolladores combinar dos o más documentos PDF en uno solo.

4. Seguridad PDF

IronPDF permite a los usuarios añadir contraseñas y permisos a los PDF para mejorar su seguridad.

5. Cifrado y descifrado de PDF

IronPDF admite cifrado, descifrado y protección por contraseña de 128 bits de documentos PDF.

6. Firmar digitalmente un documento PDF

Los desarrolladores pueden añadir mediante programación firmas digitales a los PDF utilizando IronPDF. Admite múltiples formas de firmar un PDF con un certificado de firma digital de los formatos .pfx y .p12.

Ejemplo: Generación de una factura PDF con Stripe.Net y IronPDF

Vamos a crear un ejemplo práctico en el que generamos una factura PDF utilizando IronPDF después de procesar un pago con Stripe.Net.

Instalación de la biblioteca IronPDF .NET

Pasos para instalar IronPDF utilizando NuGet Package Manager:

  1. Abra su proyecto ASP.NET en Visual Studio y vaya al menú "Herramientas".

  2. Seleccione "NuGet Package Manager" y, a continuación, haga clic en "Manage NuGet Packages for Solution"

  3. En la pestaña "Examinar", busque "IronPDF" y seleccione la versión deseada. Haga clic en "Instalar" para añadir el paquete a su proyecto. IronPDF y sus dependencias se descargarán e integrarán automáticamente, lo que le permitirá empezar a aprovechar su funcionalidad en su aplicación ASP.NET sin problemas.

    Stripe .NET (Cómo funciona para desarrolladores): Figura 9 - Instale IronPDF utilizando el Gestor de Paquetes NuGet para Solución buscando IronPDF en la barra de búsqueda del Gestor de Paquetes NuGet, luego seleccione el proyecto y haga clic en el botón Instalar.

Procesar el pago y generar la factura

Aquí tiene un ejemplo completo que demuestra la creación de un nuevo pago con la API Stripe.Net y la generación de una factura PDF con 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
VB   C#

Salida

Stripe .NET (Cómo funciona para desarrolladores): Figura 10 - Factura PDF generada utilizando IronPDF a través del servicio Stripe

Conclusión

Stripe.Net es una completa y potente librería que simplifica la integración del procesamiento de pagos de Stripe en aplicaciones .NET. Con funciones que van desde la gestión básica de transacciones hasta la gestión de suscripciones y litigios, cubre una amplia gama de necesidades relacionadas con los pagos.

ironPDFcomplementa aStripe.Net` permitiendo a los desarrolladores generar, editar y gestionar documentos PDF. Juntas, estas bibliotecas proporcionan una solución sólida para gestionar pagos y generar la documentación correspondiente en aplicaciones .NET.

Al aprovechar las capacidades de Stripe.Net e IronPDF, los desarrolladores pueden crear flujos de trabajo eficientes y sin fisuras que gestionan todo, desde el procesamiento de pagos hasta la generación de documentos, mejorando la funcionalidad general y la experiencia de usuario de sus aplicaciones.

IronPDF ofrece a los desarrolladores la posibilidad de probar sus amplias funciones mediante una página de prueba gratuita.

IronPDF ofrece asistencia al cliente y actualizaciones, además de ejemplos de código y documentación exhaustiva para ayudar a los usuarios a sacarle el máximo partido. Para profundizar en el tema, consulte nuestro extenso tutorial sobre Conversión de HTML a PDF.

< ANTERIOR
Papercut SMTP C# (Cómo funciona para desarrolladores)
SIGUIENTE >
TensorFlow .NET (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.9 acaba de salir

Descarga gratuita de NuGet Descargas totales: 10,516,730 View Licenses >