Aprende a integrar pagos con PayPal en ASP.NET Core: Configurar la API REST de PayPal en ASP.NET Core

En este artículo te enseñare a configurar API REST de PayPal para consumirlo en ASP.NET Core para recibir pagos en tu página web desarrollada con ASP.NET Core. Además, creare una serie de artículos donde te mostrare diferentes formas de integrar PayPal en tu sitio web desarrollado con ASP.NET Core para recibir pagos.
En artículos anteriores ya vimos cómo crear una cuenta PayPal, Crear cuentas de Sandbox en PayPal, obtener las Credenciales API Sandbox para realizar pagos y Crear el proyecto web ASP.NET Core
- Aprende a integrar pagos con PayPal en ASP.NET Core: Crear una cuenta de PayPal
- Aprende a integrar pagos con PayPal en ASP.NET Core: Crear cuentas de Sandbox en PayPal
- Aprende a integrar pagos con PayPal en ASP.NET Core: Credenciales API Sandbox para realizar pagos
- Aprende a integrar pagos con PayPal en ASP.NET Core: Crear el proyecto web ASP.NET Core
- Aprende a integrar pagos con PayPal en ASP.NET Core: Configurar la API REST en ASP.NET Core
- Aprende a integrar pagos con PayPal en ASP.NET Core: Integrar el SDK de JavaScript de PayPal
- Aprende a integrar pagos con PayPal en ASP.NET Core: Cómo incluir botones de pago PayPal inteligente en mi página web
Archivo appsettings.json
Abre el proyecto que creaste anteriormente, en mi caso se llama EstradaWebGroup.PayPal.Web, ya en el Visual Studio abre el archivo appsettings.json para almacenar las credenciales de la API REST de PayPal.
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"Paypal": {
"ApiAppName": "Default Application",
"Account": "sb-ytlxg2753206@business.example.com ",
"ClientID": "Your-REST-API-ClientID",
"Secret": "Your-REST-API-Secret"
}
}
Para compilar la aplicación, debes reemplazar los campos ClientID y Secret con tu propio ClientID y Secret de tu aplicación API REST de PayPal.
Clase de configuración
En ASP.NET Core, no hay una forma predeterminada de obtener la configuración del archivo appsettings.json. En cambio, el enfoque recomendado es crear una clase de configuración fuertemente tipada con una estructura que coincida con la sección correspondiente en el archivo de configuración.
En la carpeta llamada Models del proyecto agrega una nueva clase C# llamada PaypalApiSetting y pega el siguiente código:
namespace EstradaWebGroup.Paypal.Web.Models
{
public class PaypalApiSetting
{
public string ApiAppName { get; set; }
public string Account { get; set; }
public string ClientID { get; set; }
public string Secret { get; set; }
}
}
Archivo Startup.cs
A esta clase se le asigna los valores de la sección de Paypal del archivo appsettings.json. Para asociar el archivo appsettings.json a la clase PaypalApiSetting, necesitamos agregar la configuración de los servicios en el archivo Startup.cs, el cual quedará de la siguiente manera:
namespace EstradaWebGroup.Paypal.Web
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// Este método es llamado en tiempo de ejecución. Usa este método para agregar servicios.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
// Asigna los valores de la sección de Paypal del archivo appsettings.json a la clase PaypalApiSetting services.Configure<PaypalApiSetting>(Configuration.GetSection("Paypal"));
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}
Con esto ya estamos listos para utilizar el API de PayPal.
En este artículo aprendiste a configurar el API REST de PayPal para consumirlo en ASP.NET Core para recibir pagos en tu página web desarrollada con ASP.NET Core.