aplazo-checkout-sdk
Version:
# **Aplazo Checkout SDK** Este SDK permite la integración con la API de Aplazo para procesar pagos y solicitudes de préstamos de manera sencilla.
182 lines (143 loc) • 4.74 kB
Markdown
### **README.md - Aplazo Checkout SDK (JavaScript)**
# **Aplazo Checkout SDK**
Este SDK permite la integración con la API de Aplazo para procesar pagos y solicitudes de préstamos de manera sencilla.
🔹 **Para desarrolladores**: Instrucciones para levantar el entorno de desarrollo.
🔹 **Para integradores**: Guía rápida para usar el SDK en su proyecto.
# **📌 Para Desarrolladores: Levantar el Proyecto en Local**
### **1️⃣ Clonar el Repositorio**
```sh
git clone https://github.com/tu-repo/sdk-js.git
cd sdk-js
```
### **2️⃣ Instalar Dependencias**
```sh
npm install
```
### **3️⃣ Configurar Variables de Entorno**
Crea un archivo **`.env`** en la raíz del proyecto:
```sh
touch .env
```
Luego, edítalo y agrega lo siguiente:
```env
API_TOKEN=tu-api-token
MERCHANT_ID=tu-merchant-id
IS_PRODUCTION=false
```
> **⚠ Importante:** Agrega `.env` a `.gitignore` para evitar exponer credenciales sensibles.
### **4️⃣ Ejecutar el Proyecto en Modo Desarrollo**
```sh
npm run dev
```
### **5️⃣ Ejecutar Pruebas Unitarias**
```sh
npm test
```
### **6️⃣ Ejecutar el Linter (ESLint)**
```sh
npm run lint
```
### **7️⃣ Generar un Build para Producción**
```sh
npm run build
```
# **💡 Para Integradores: Cómo Usar el SDK**
Si solo deseas **usar el SDK en tu proyecto**, sigue estos pasos.
### **1️⃣ Instalar el SDK**
Si tu proyecto usa **npm**, instala el SDK con:
```sh
npm install aplazo-checkout-sdk
```
Si usas **un archivo HTML simple**, descarga el archivo `sdk.bundle.js` y agrégalo a tu código.
### **2️⃣ Configurar el SDK en tu Proyecto**
Ejemplo de inicialización en **JavaScript**:
```javascript
import AplazoSDK from 'aplazo-checkout-sdk';
const sdk = new AplazoSDK({
merchantId: "779",
apiToken: "b3cd4679-a985-4bb2-b27f-a324f42fbd6a",
isProduction: false
});
```
> **🔹 Parámetros de configuración:**
> - **merchantId** → Identificador único del comercio.
> - **apiToken** → Token de autenticación.
> - **isProduction** → `true` para entorno productivo (`.mx`), `false` para sandbox (`.tech`).
### **3️⃣ Autenticación (`getAuth`)**
Antes de hacer cualquier solicitud, obtén un **Bearer Token**.
```javascript
async function authenticate() {
const token = await sdk.getAuth();
console.log("Token de autenticación:", token);
}
authenticate();
```
### **4️⃣ Crear un Préstamo (`createLoan`)**
Para generar una solicitud de préstamo, usa:
```javascript
async function solicitarPrestamo() {
try {
const authToken = await sdk.getAuth();
const loanPayload = {
buyer: { email: 'cliente@test.com', firstName: 'Juan', lastName: 'Pérez' },
totalPrice: 650.0,
shopId: 'SHOP_TEST',
successUrl: 'https://mi-tienda.com/compra-exitosa',
};
await sdk.createLoan(authToken, loanPayload);
} catch (error) {
console.error('Error:', error.message);
}
}
solicitarPrestamo();
```
### **5️⃣ Integración en una Página HTML**
Si deseas **usar el SDK sin npm**, agrégalo en un HTML:
```html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prueba del SDK</title>
</head>
<body>
<h1>Integración del SDK en HTML</h1>
<button id="aplazo-button">Solicitar Préstamo</button>
<script src="./dist/sdk.bundle.js"></script>
<script>
document.addEventListener('DOMContentLoaded', async () => {
const sdk = new AplazoSDK({
merchantId: "779",
apiToken: "b3cd4679-a985-4bb2-b27f-a324f42fbd6a",
isProduction: false
});
document.getElementById('aplazo-button').addEventListener('click', async () => {
try {
const authToken = await sdk.getAuth();
console.log("Token de autenticación:", authToken);
const loanPayload = {
buyer: { email: 'cliente@test.com', firstName: 'Juan', lastName: 'Pérez' },
totalPrice: 650.0,
shopId: 'SHOP_TEST',
successUrl: 'https://mi-tienda.com/compra-exitosa',
};
await sdk.createLoan(authToken, loanPayload);
} catch (error) {
console.error('Error:', error.message);
}
});
});
</script>
</body>
</html>
```
### 📞 **Soporte**
Si tienes dudas o necesitas ayuda, contacta con nuestro equipo de soporte en [soporte@aplazo.com](mailto:soporte@aplazo.com).