Guía de Autenticación y Creación de Sesiones de Pago con PlacetoPay
Esta guía proporciona instrucciones para configurar la autenticación y crear sesiones de
pago utilizando la biblioteca de PlacetoPay en C#. Se incluyen ejemplos prácticos con
explicaciones detalladas para facilitar su implementación.
---
1. Autenticación
Configura una instancia de PlacetoPay para autenticarte ante los servicios web.
Configuración de la instancia
using P2P = [Link];
// Configuración de la instancia
Gateway gateway = new P2P(
YOUR_LOGIN, // Credenciales proporcionadas por PlacetoPay
YOUR_TRANKEY, // Llave transaccional
new Uri("URL_INTEGRATION"), // URL del entorno (producción o sandbox)
Gateway.TP_SOAP or Gateway.TP_REST // Selección del protocolo (SOAP o REST)
);
Notas:
- Reemplaza `YOUR_LOGIN` y `YOUR_TRANKEY` con las credenciales.
- Cambia `"URL_INTEGRATION"` por el endpoint proporcionado (por ejemplo,
`[Link]
- Define si usarás el protocolo `SOAP` o `REST`, según las necesidades del proyecto.
---
2. Crear una nueva sesión de pago
Solicita la creación de una sesión (cobro o suscripción) y obtén un identificador único y la
URL para procesar el pago.
Ejemplo de implementación genérico
// Monto a cobrar
Amount amount = new Amount(PAYMENT_AMOUNT); // Sustituye PAYMENT_AMOUNT
con el valor numérico
// Detalles del pago
Payment payment = new Payment(
"REFERENCE", // Referencia única para identificar la transacción
"DESCRIPTION", // Descripción del cobro
amount // Monto del pago
);
// Crear la solicitud de redirección
RedirectRequest request = new RedirectRequest(
payment,
RETURN_URL, // URL a la que se redirigirá al usuario al finalizar
IP_ADDRESS, // Dirección IP del usuario
USER_AGENT, // User-Agent del navegador del usuario
EXPIRATION // Fecha y hora de expiración de la solicitud
);
// Enviar la solicitud
RedirectResponse response = [Link](request);
Retorno
El método `[Link](request)` devuelve una instancia de la clase
`RedirectResponse`. Puedes verificar el estado de la respuesta para determinar si la sesión
de pago fue creada con éxito.
Validación del estado
if ([Link] == "OK")
{
[Link]($"Sesión creada correctamente. URL de pago: {[Link]}");
}
else
{
[Link]($"Error al crear la sesión: {[Link]}");
}
---
3. Ejemplo práctico completo
A continuación, se presenta un ejemplo completo con valores específicos.
using [Link];
// Configurar la instancia del gateway
Gateway gateway = new PlacetoPay(
"7ffbb7bf1f7361b1200b2e8d74e1d76f", // Login
"SnZP3D63n3I9dH9O", // TranKey
new Uri("[Link] // URL del entorno de pruebas
Gateway.TP_REST // Protocolo REST
);
// Configurar el monto del pago
Amount amount = new Amount(20000, "CLP"); // Monto en pesos chilenos (CLP)
// Configurar los detalles del pago
Payment payment = new Payment(
"ORDEN0001", // Referencia de la orden
"Orden FWP GETNET 001", // Descripción del pago
amount
);
// Crear la solicitud de redirección
RedirectRequest request = new RedirectRequest(
payment,
"[Link] // URL de retorno
"[Link]", // Dirección IP del usuario
"USER_AGENT", // User-Agent del navegador
"2025-01-21T[Link]-05:00" // Fecha y hora de expiración
);
// Enviar la solicitud y obtener la respuesta
RedirectResponse response = [Link](request);
// Validar el resultado
return Ok([Link]()
? [Link] // URL de procesamiento
: [Link] // Mensaje de error
);
Notas importantes:
- Los valores de ejemplo, como `"7ffbb7bf1f7361b1200b2e8d74e1d76f"`,
`"SnZP3D63n3I9dH9O"` y la URL de integración, deben ser reemplazados por los
proporcionados por PlacetoPay.
- Asegúrate de que la dirección IP y el User-Agent sean capturados de forma dinámica en un
entorno de producción.
- La fecha de expiración debe configurarse con base en las reglas de tu aplicación.