CoDi private keys
Generate and protect the private key required for an eligible CoDi connection through STP.
On this page
Generate your private key to operate CoDi via STP.
1. Review your credentials#
In the Admin, search for the STP Codi in the Connections option and add the following credentials:
- Name: Connection name
- Currency: For Codi, only MXN is available
- Company: Company name registered with STP
- Beneficiary Account: STP account number
- Beneficiary Name: Beneficiary name registered with STP
- Private Key: Private key that must be generated. You can find more details in the “Generate Private Key” section.
- Time to Expire: Reference expiration time in minutes.
2. Generate your private key#
Create the private key in JKS format by executing the following command: Ejecutar el siguiente comando:
Shell
keytool -genkey -alias NombreDeLaEmpresa -keyalg RSA -keystore llavePrivada.jks -keysize 2048 -deststoretype jks -validity 3703. Format the private key#
Use the following commands if you need the private key in other formats.
JKS to P12
Shell
keytool -importkeystore -srckeystore llavePrivada.jks -destkeystore llavePrivada.p12 -srcstoretype jks -deststoretype pkcs12 -validity 370
P12 to PEM
Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem### De P12 to PEM (para uso en JavaScript)
Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem -nodes.cer private key#
Generate the private key in cer.
Use the following endpoints from CoDi:
| Endpoint | Method | Description |
|---|---|---|
/payment | POST | Create a payment and generate QR code |
/payment/{id} | GET | Retrieve payment status |
/refund | POST | Request refund |
/webhook | POST | Receive payment status notifications |
Purchase V2
Make a call to the V2 Purchase endpoint to generate and order in DEUNA.
- Endpoint:
post {{apigw-url}}/v2/merchants/orders/purchase - Headers:
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"
}
}
}Response
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
}
},
...
}
}Payment status
| CoDI status | DEUNA status | Description |
|---|---|---|
pending | pending | Payment awaiting confirmation |
completed | processed | Payment completed |
failed | denied | Payment failed |
expired | expired | QR Code expired without payment |