SDKs
Los SDKs de TAYPI simplifican la integracion con la API REST. Manejan automaticamente la autenticacion HMAC-SHA256, la serializacion de requests y el manejo de errores.
SDKs disponibles
| SDK | Instalacion | Clase principal |
|---|---|---|
| PHP | composer require taypi/taypi-php | Taypi\Taypi |
| JavaScript / Node.js | npm install taypi.pe | Taypi |
| C# / .NET | dotnet add package Taypi.Net | TaypiClient |
¿Que hacen los SDKs?
Todos los SDKs proveen la misma funcionalidad:
- Autenticacion automatica: Generan el header
Authorization: Bearercon tu public key. - Firma HMAC-SHA256: Calculan
Taypi-SignatureyTaypi-Timestampautomaticamente en cada request. - Idempotencia: Generan y envian el header
Idempotency-Keyen requests POST. - Manejo de errores: Traducen errores HTTP a excepciones tipadas con codigo, mensaje y status HTTP.
- Reintentos: Reintentan automaticamente en caso de errores de red o 5xx (con backoff exponencial).
- Ambientes: Cambian entre sandbox y produccion con un parametro.
Comparacion de metodos
Todos los SDKs exponen los mismos metodos con nombres consistentes:
| Metodo | Descripcion | PHP | JavaScript | C# |
|---|---|---|---|---|
| Crear sesion checkout | Crea un pago con checkout_token | createCheckoutSession() | createCheckoutSession() | CreateCheckoutSessionAsync() |
| Crear pago | Crea un pago via API directa | createPayment() | createPayment() | CreatePaymentAsync() |
| Obtener pago | Consulta un pago por ID | getPayment() | getPayment() | GetPaymentAsync() |
| Listar pagos | Lista pagos con filtros | listPayments() | listPayments() | ListPaymentsAsync() |
| Cancelar pago | Cancela un pago pendiente | cancelPayment() | cancelPayment() | CancelPaymentAsync() |
| Verificar webhook | Valida la firma de un webhook | verifyWebhook() | verifyWebhook() | VerifyWebhook() |
NOTA
Los metodos en C# usan el sufijo Async y retornan Task<T> siguiendo las convenciones de .NET.
¿Que SDK elegir?
| Tu stack | SDK recomendado |
|---|---|
| Laravel, WordPress, Magento, PHP puro | PHP |
| Node.js, Express, Next.js, Nest.js | JavaScript |
| ASP.NET Core, Blazor, .NET MAUI | C# / .NET |
| Otro lenguaje (Python, Go, Ruby, etc.) | API REST directa con firma HMAC manual |
Configuracion comun
Todos los SDKs aceptan las mismas opciones de configuracion:
| Opcion | Tipo | Default | Descripcion |
|---|---|---|---|
sandbox | boolean | true | true usa sandbox.taypi.pe, false usa app.taypi.pe |
timeout | integer | 30 | Timeout en segundos para requests HTTP |
retries | integer | 2 | Numero de reintentos en errores 5xx o de red |
SANDBOX POR DEFECTO
Todos los SDKs se inician en modo sandbox por defecto. Para apuntar a produccion, pasa sandbox: false (o Sandbox = false en C#) al crear la instancia.
Requisitos minimos
| SDK | Requisito |
|---|---|
| PHP | PHP 8.1+, extensiones json, openssl, curl |
| JavaScript | Node.js 18+ |
| C# | .NET 6.0+ |