Pular para o conteúdo principal
Nesta página

Gere sua chave privada para operar o CoDi via STP.

1. Revise suas credenciais#

No Admin, procure o Código STP na opção Conexões e adicione as seguintes credenciais:

  • Nome: Nome da conexão
  • Moeda: Para Codi, apenas MXN está disponível
  • Empresa: Nome da empresa registrado em STP
  • Conta do Beneficiário: Número da conta STP
  • Nome do Beneficiário: Nome do beneficiário registrado em STP
  • Chave privada: Chave privada que deve ser gerada. Você pode encontrar mais detalhes na seção “Gerar chave privada”.
  • Hora de expirar: Tempo de expiração de referência em minutos.

2. Gere sua chave privada#

Crie a chave privada no formato JKS executando o seguinte comando: Execute o próximo comando:

Shell
keytool -genkey -alias NombreDeLaEmpresa -keyalg RSA -keystore llavePrivada.jks -keysize 2048 -deststoretype jks -validity 370

3. Formate a chave privada#

Use os comandos a seguir se precisar da chave privada em outros formatos.

JKS para P12

Shell
keytool -importkeystore -srckeystore llavePrivada.jks -destkeystore llavePrivada.p12 -srcstoretype jks -deststoretype pkcs12 -validity 370

​

P12 para PEM

Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem

​### De P12 para PEM (para uso em JavaScript)

Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem -nodes

chave privada .cer#

Gere a chave privada em cer.

Use os seguintes endpoints do CoDi:

EndpointMétodoDescrição
/paymentPOSTCrie um pagamento e gere o código QR
/payment/{id}GETRecuperar status de pagamento
/refundPOSTSolicitar reembolso
/webhookPOSTReceba notificações de status de pagamento

Comprar V2

Faça uma chamada para o V2 Ponto final de compra para gerar e solicitar no DEUNA.

  • Ponto final: post {{apigw-url}}/v2/merchants/orders/purchase
  • Cabeçalhos:
    • 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"
        }
    }
}

Resposta

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
            }
        },
        ...
    }
}

Status do pagamento

Status do CoDIEstatuto DEUNADescrição
pendingpendingPagamento aguardando confirmação
completedprocessedPagamento concluído
faileddeniedFalha no pagamento
expiredexpiredQR Code expirou sem pagamento