DotNetMercadoPago 1.0.0
dotnet add package DotNetMercadoPago --version 1.0.0
NuGet\Install-Package DotNetMercadoPago -Version 1.0.0
<PackageReference Include="DotNetMercadoPago" Version="1.0.0" />
<PackageVersion Include="DotNetMercadoPago" Version="1.0.0" />
<PackageReference Include="DotNetMercadoPago" />
paket add DotNetMercadoPago --version 1.0.0
#r "nuget: DotNetMercadoPago, 1.0.0"
#addin nuget:?package=DotNetMercadoPago&version=1.0.0
#tool nuget:?package=DotNetMercadoPago&version=1.0.0
MercadoPago Payment Library
Una librería fácil de usar para integrar pagos de MercadoPago en tus aplicaciones. Esta librería proporciona una interfaz sencilla para procesar pagos, generar tokens de tarjetas, manejar cuotas, y más, todo mediante el uso de MercadoPago API.
Tabla de contenidos
Características
- Procesamiento de pagos: Permite realizar pagos con tarjetas de crédito, débito, pagofacil, etc.
- Generación de tokens de tarjeta: Facilita la creación de tokens seguros para pagos con tarjetas de crédito.
- Integración con MercadoPago API: Simplifica el uso de la API de MercadoPago en tus proyectos.
- Manejo de errores y respuestas de la API: Proporciona mensajes de error claros y respuestas detalladas para facilitar la depuración.
Requisitos
- .NET 8.0
- Cuenta de MercadoPago: Necesitarás configurar una cuenta de MercadoPago y obtener las credenciales de API (clave pública y secreta).
Instalación
Para instalar esta librería, puedes agregarla a tu proyecto a través de NuGet. Ejecuta el siguiente comando:
dotnet add package DotNetMercadoPago
Uso
Configuración
- Esta clase tiene que instanciarse una sola vez, usando singleton.
var builder = WebApplication.CreateBuilder(args);
string accessToken = builder.Configuration["AccessToken"];
builder.Services.AddSingleton<MercadoPagoPayment>(sp =>
{
return new MercadoPagoPayment(accessToken);
});
Realizar un pago
- En esta versión solo existen dos tipos de metodos de pago: Checkout PRO y Checkout Bricks
- Checkout PRO: Crea en el backend un reference id que es la configuración de la compra como el contenido y las urls dependiendo el estado de la compra, que luego esto se tiene que enviar al frontend para comenzar con la compra.
- Ejemplo:
var items = new List<PreferenceItemRequest>
{
new PreferenceItemRequest
{
Title = "Mi producto",
UnitPrice = 50,
Quantity = 1,
PictureUrl = "https://www.images.com/image_1.png"
},
new PreferenceItemRequest
{
Title = "Mi producto 2",
UnitPrice = 50,
Quantity = 1,
}
};
var urls = new PreferenceBackUrlsRequest
{
Success = "https://www.myexamplepage.com/success",
Failure = "https://www.myexamplepage.com/failure",
Pending = "https://www.myexamplepage.com/pending",
};
var installments = 2;
string referenceId = await mercadoPagoPayment.CreatePreferenceRequest(items, urls, installments);
- Checkout Bricks: Recibe desde el frontend los datos de la compra de tipo JSON, para luego realizar el proceso de pago en el backend devolviendo como respuesta el estado de pago (approved, pending, rejected).
- Ejemplo:
string json = """
{
"description": "Purchase of product XYZ",
"cardholderName": "Pepe Lopez",
"installments": 1,
"payer": {
"email": "test@testuser.com",
"identification": {
"type": "DNI",
"number": "12345678"
}
},
"payment_method_id": "debmaster",
"token": "adjsjdajdj2j323j2j",
"transaction_amount": 100
}
""";
# Se puede deserializar manualmente usando la clase PaymentDataRequest que viene con la biblioteca
PaymentDataRequest paymentData = JsonConvert.DeserializeObject<PaymentDataRequest>(json);
string status = await mercadoPagoPayment.CreatePaymentRequest(paymentData);
# O usando el metodo estatico que deserializa y verifica si los datos no son nulos o estan vacios, lanzando una excepcion en caso de error. Es necesario agregar un try catch para manejar el error
try
{
PaymentDataRequest paymentData = MercadoPagoPayment.DeserializePaymentData(json);
string status = await mercadoPagoPayment.CreatePaymentRequest(paymentData);
}
catch (Exception ex)
{
# Mensaje de que un dato es nulo o esta vacio
Console.WriteLine(ex.Message);
}
Contribuir
¡Gracias por tu interés en contribuir a este proyecto! Todos los contribuyentes son bienvenidos, es mi primera vez haciendo una biblioteca asi que toda ayuda es bienvenida 😃
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- mercadopago-sdk (>= 2.4.2)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 180 | 3/3/2025 |