Clés privées CoDi
Sur cette page
Générez votre clé privée pour faire fonctionner CoDi via STP.
1. Vérifiez vos informations d'identification#
Dans l'administrateur, recherchez le Code STP dans l'option Connexions et ajoutez les informations d'identification suivantes :
- Nom : Nom de la connexion
- Devise : Pour Codi, uniquement MXN est disponible
- Entreprise : Raison sociale enregistrée auprès de la STP
- Compte bénéficiaire : Numéro de compte STP
- Nom du bénéficiaire : Nom du bénéficiaire enregistré auprès de la STP
- Clé privée : Clé privée qui doit être générée. Vous pouvez trouver plus de détails dans la section « Générer une clé privée ».
- Délai d'expiration : Délai d’expiration de référence en minutes.
2. Générez votre clé privée#
Créez la clé privée au format JKS en exécutant la commande suivante : Exécuter la commande suivante :
Shell
keytool -genkey -alias NombreDeLaEmpresa -keyalg RSA -keystore llavePrivada.jks -keysize 2048 -deststoretype jks -validity 3703. Formatez la clé privée#
Utilisez les commandes suivantes si vous avez besoin de la clé privée dans d'autres formats.
JKS à P12
Shell
keytool -importkeystore -srckeystore llavePrivada.jks -destkeystore llavePrivada.p12 -srcstoretype jks -deststoretype pkcs12 -validity 370
P12 à PEM
Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem### De P12 vers PEM (pour utiliser JavaScript)
Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem -nodesClé privée .cer#
Générez la clé privée dans cer.
Utilisez les points de terminaison suivants de CoDi :
| Point de terminaison | Méthode | Descriptif |
|---|---|---|
/payment | POST | Créer un paiement et générer un code QR |
/payment/{id} | GET | Récupérer le statut du paiement |
/refund | POST | Demander un remboursement |
/webhook | POST | Recevoir des notifications sur l'état du paiement |
Acheter la V2
Appeler le V2 Point de terminaison d'achat à générer et à commander dans DEUNA.
- Point final :
post {{apigw-url}}/v2/merchants/orders/purchase - En-têtes :
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"
}
}
}Renvoie la commande traitée avec son
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
}
},
...
}
}Statut de paiement
| Statut CoDI | Statut DEUNA | Descriptif |
|---|---|---|
pending | pending | Paiement en attente de confirmation |
completed | processed | Paiement effectué |
failed | denied | Échec du paiement |
expired | expired | QR Code expiré sans paiement |