Claves privadas de CoDi
En esta página
Genera tu clave privada para operar con CoDi a través de STP.
1. Revisa tus credenciales#
En la sección de Administrador, busca STP CoDi en la opción de Conexiones y añade las siguientes credenciales:
- Nombre: Nombre de la conexión
- Moneda: Para CoDi, solo MXN está disponible
- Empresa: Nombre de la empresa registrada con STP
- Cuenta de beneficiario: Número de cuenta STP
- Nombre del beneficiario: Nombre del beneficiario registrado con STP
- Clave Privada: Clave privada que debe ser generada. Puedes encontrar más detalles en la sección "Generar Clave Privada".
- Tiempo de expiración: Tiempo de expiración en minutos.
2. Genera tu clave privada#
Crea la clave privada en formato JKS ejecutando el siguiente comando: Ejecutar el siguiente comando:
Shell
keytool -genkey -alias NombreDeLaEmpresa -keyalg RSA -keystore llavePrivada.jks -keysize 2048 -deststoretype jks -validity 3703. Formatea la clave privada#
Utiliza los siguientes comandos si necesitas la clave privada en otros formatos.
JKS a P12
Shell
keytool -importkeystore -srckeystore llavePrivada.jks -destkeystore llavePrivada.p12 -srcstoretype jks -deststoretype pkcs12 -validity 370
P12 a PEM
Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem### De P12 a PEM (para uso en JavaScript)
Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem -nodesClave privada .cer#
Genera la clave privada en cer.
Utiliza los siguientes endpoints de CoDi:
| Punto final | Método | Descripción |
|---|---|---|
/payment | POST | Crear un pago y generar código QR |
/payment/{id} | GET | Obtener el estado del pago |
/refund | POST | Solicitar reembolso |
/webhook | POST | Recibir notificaciones del estado del pago |
Compra V2
Realizar la llamada a la V2 Endpoint de compra para generar y realizar en DEUNA.
- Punto final:
post {{apigw-url}}/v2/merchants/orders/purchase - Encabezados:
Authorization: Bearer {{user-token}}x-api-key: {{merchant-private-key}}
JSON
{
"order_token":"{{order-token}}",
"order_type": "DEUNA_CHECKOUT",
"payer_info": {
"email": "email1@email.com"
},
"payment_source": {
"method_type": "bank_transfer",
"processor": "stp_codi",
"payment_method": "{{phone_number || empty}}", // Account number associated to STP account or empty to generate QR code
"method_type_specific_fields": {
"description": "Test payment"
}
}
}Respuesta
JSON
{
"order_type": "DEUNA_NOW",
"order_token": "4598f493-de86-4fe0-b9fd-c4c6c9847e39",
"order": {
"order_id": "DEUNA_NOW_b6a5c0b6-3df9-4b3b-b778-7086c190062b",
"store_code": "all",
"currency": "MXN",
"tax_amount": 10000,
"display_tax_amount": "",
"shipping_amount": 10000,
"display_shipping_amount": "MXN 100,00",
"items_total_amount": 10000,
"display_items_total_amount": "MXN 100,00",
"sub_total": 10000,
"display_sub_total": "MXN 100,00",
"total_amount": 10000,
"display_total_amount": "MXN 100,00",
"status": "pending",
"payment": {
"data": {
"amount": {
"amount": 10000,
"currency": "MXN"
},
"metadata": {
"key1": "value1",
"key2": "value2"
},
"updated_at": "2024-12-05 18:28:14.726950103 +0000 UTC",
"method_type": "bank_transfer",
"merchant": {
"store_code": "all",
"id": "e25c4fff-ef50-498b-9a3c-5937d96280f7"
},
"created_at": "2024-12-05 18:28:14.725709716 +0000 UTC",
"id": "DEUNA_NOW_b6a5c0b6-3df9-4b3b-b778-7086c190062b",
"processor": "stp_codi",
"payment_method_type": "push_notification",
"customer": {
"email": "email@email.com",
"id": "ac434d25-1f42-44b5-883f-fa1b2a08eec6",
"first_name": "",
"last_name": ""
},
"status": "pending",
"next_action": {
"action": "authorization_bank_transfer",
"authorization_bank_transfer": {
"reference": "{{folioCodi}}",
"expiration_date": "2025-05-05 14:20:50",
"qr": ""
}
},
"reason": "",
"external_transaction_id": "{{folioCodi}}",
"merchant_payment_processor_name": "",
"authorization_code": "",
"installment_interest_calculations": null
}
},
...
}
}Estado del pago
| Estado de CoDI | Estado de DEUNA | Descripción |
|---|---|---|
pending | pending | Pago pendiente de confirmación |
completed | processed | Pago completado |
failed | denied | Pago fallido |
expired | expired | Código QR expirado sin pago |