Aller au contenu principal
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 370

3. 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 -nodes

Clé privée .cer#

Générez la clé privée dans cer.

Utilisez les points de terminaison suivants de CoDi :

Point de terminaisonMéthodeDescriptif
/paymentPOSTCréer un paiement et générer un code QR
/payment/{id}GETRécupérer le statut du paiement
/refundPOSTDemander un remboursement
/webhookPOSTRecevoir 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 CoDIStatut DEUNADescriptif
pendingpendingPaiement en attente de confirmation
completedprocessedPaiement effectué
faileddeniedÉchec du paiement
expiredexpiredQR Code expiré sans paiement