PHPackages                             apihub-cdc/fintechscore-client-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. apihub-cdc/fintechscore-client-php

ActiveLibrary

apihub-cdc/fintechscore-client-php
==================================

00

Since May 13Pushed 3y ago3 watchersCompare

[ Source](https://github.com/APIHub-CdC/fintechscore-client-php)[ Packagist](https://packagist.org/packages/apihub-cdc/fintechscore-client-php)[ RSS](/packages/apihub-cdc-fintechscore-client-php/feed)WikiDiscussions release/1.0.2 Synced today

READMEChangelog (1)DependenciesVersions (6)Used By (0)

fintechscore-simulacion-client-php
==================================

[](#fintechscore-simulacion-client-php)

La API FinTech Score es una herramienta con la que ordenas una población de solicitantes por su nivel de riesgo cubriendo las necesidades de las FinTechs como los son: plazos más cortos que van de 1 día hasta 3 meses en promedio, montos de $3.5K promedio, renovaciones con mayor frecuencia, mayores tasas de interés y disponibilidad inmediata.
[![](https://github.com/APIHub-CdC/imagenes-cdc/raw/master/circulo_de_credito-apihub.png)](https://github.com/APIHub-CdC/imagenes-cdc/blob/master/circulo_de_credito-apihub.png)

Requisitos
----------

[](#requisitos)

PHP 7.1 ó superior

### Dependencias adicionales

[](#dependencias-adicionales)

- Se debe contar con las siguientes dependencias de PHP:
    - ext-curl
    - ext-mbstring
- En caso de no ser así, para linux use los siguientes comandos

```
#ejemplo con php en versión 7.3 para otra versión colocar php{version}-curl
apt-get install php7.3-curl
apt-get install php7.3-mbstring
```

- Composer [vea como instalar](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos)

Instalación
-----------

[](#instalación)

Ejecutar: `composer install`

Guía de inicio
--------------

[](#guía-de-inicio)

### Paso 1. Generar llave y certificado

[](#paso-1-generar-llave-y-certificado)

- Se tiene que tener un contenedor en formato PKCS12.
- En caso de no contar con uno, ejecutar las instrucciones contenidas en **lib/Interceptor/key\_pair\_gen.sh** o con los siguientes comandos.

**Opcional**: Para cifrar el contenedor, colocar una contraseña en una variable de ambiente.

```
export KEY_PASSWORD=your_password
```

- Definir los nombres de archivos y alias.

```
export PRIVATE_KEY_FILE=pri_key.pem
export CERTIFICATE_FILE=certificate.pem
export SUBJECT=/C=MX/ST=MX/L=MX/O=CDC/CN=CDC
export PKCS12_FILE=keypair.p12
export ALIAS=circulo_de_credito
```

- Generar llave y certificado.

```
#Genera la llave privada.
openssl ecparam -name secp384r1 -genkey -out ${PRIVATE_KEY_FILE}
#Genera el certificado público.
openssl req -new -x509 -days 365 \
    -key ${PRIVATE_KEY_FILE} \
    -out ${CERTIFICATE_FILE} \
    -subj "${SUBJECT}"
```

- Generar contenedor en formato PKCS12.

```
# Genera el archivo pkcs12 a partir de la llave privada y el certificado.
# Deberá empaquetar la llave privada y el certificado.
openssl pkcs12 -name ${ALIAS} \
    -export -out ${PKCS12_FILE} \
    -inkey ${PRIVATE_KEY_FILE} \
    -in ${CERTIFICATE_FILE} -password pass:${KEY_PASSWORD}
```

### Paso 2. Cargar el certificado dentro del portal de desarrolladores

[](#paso-2-cargar-el-certificado-dentro-del-portal-de-desarrolladores)

1. Iniciar sesión.
2. Dar clic en la sección "**Mis aplicaciones**".
3. Seleccionar la aplicación.
4. Ir a la pestaña de "**Certificados para @tuApp**".  [![](https://github.com/APIHub-CdC/imagenes-cdc/raw/master/applications.png)](https://github.com/APIHub-CdC/imagenes-cdc/blob/master/applications.png)
5. Al abrirse la ventana, seleccionar el certificado previamente creado y dar clic en el botón "**Cargar**":  [![](https://github.com/APIHub-CdC/imagenes-cdc/raw/master/upload_cert.png)](https://github.com/APIHub-CdC/imagenes-cdc/blob/master/upload_cert.png)

### Paso 3. Descargar el certificado de Círculo de Crédito dentro del portal de desarrolladores

[](#paso-3-descargar-el-certificado-de-círculo-de-crédito-dentro-del-portal-de-desarrolladores)

1. Iniciar sesión.
2. Dar clic en la sección "**Mis aplicaciones**".
3. Seleccionar la aplicación.
4. Ir a la pestaña de "**Certificados para @tuApp**".  [![](https://github.com/APIHub-CdC/imagenes-cdc/raw/master/applications.png)](https://github.com/APIHub-CdC/imagenes-cdc/blob/master/applications.png)
5. Al abrirse la ventana, dar clic al botón "**Descargar**":  [![](https://github.com/APIHub-CdC/imagenes-cdc/raw/master/download_cert.png)](https://github.com/APIHub-CdC/imagenes-cdc/blob/master/download_cert.png)

> Es importante que este contenedor sea almacenado en la siguiente ruta: **/path/to/repository/lib/Interceptor/keypair.p12**
>
> Así mismo el certificado proporcionado por Círculo de Crédito en la siguiente ruta: **/path/to/repository/lib/Interceptor/cdc\_cert.pem**

- En caso de que no se almacene así, se debe especificar la ruta donde se encuentra el contenedor y el certificado. Ver el siguiente ejemplo:

```
$password = getenv('KEY_PASSWORD');
$this->signer = new KeyHandler(
    "/example/route/keypair.p12",
    "/example/route/cdc_cert.pem",
    $password
);
```

> **NOTA:** Solamente en caso de que el contenedor se haya cifrado, debe colocarse la contraseña en una variable de ambiente e indicar el nombre de la misma, como se ve en la imagen anterior.

### Paso 4. Modificar URL y credenciales

[](#paso-4-modificar-url-y-credenciales)

Modificar la URL y las credenciales de acceso a la petición en ***test/Api/FintechScoreApiTest.php***, como se muestra en el siguiente fragmento de código:

```
public function setUp()
{
    $password = 'KEY_PASSWORD';

        $this->keypair = 'path/keypair.p12';
        $this->cert = 'path/cdc_cert.pem';
        $this->signer = new KeyHandler($this->keypair, $this->cert, $password);

        $events = new MiddlewareEvents($this->signer);
        $handler = handlerStack::create();
        $handler->push($events->add_signature_header('x-signature'));
        $handler->push($events->verify_signature_header('x-signature'));
        $client = new Client(['handler' => $handler]);

        $config = new Configuration();
        $config->setHost('your-url');

        $this->apiInstance = new Instance($client, $config);
        $this->x_api_key = "your-apikey";
        $this->username = "your-username";
        $this->password = "your-password";

}
```

### Paso 5. Capturar los datos de la petición

[](#paso-5-capturar-los-datos-de-la-petición)

Es importante contar con el setUp() que se encargará de firmar y verificar la petición.

> **NOTA:** Los datos de la siguiente petición son solo representativos.

```
    public function testGetReporte()
    {

     try{
                $request = new Peticion();
                $persona = new Persona();
                $domicilio = new Domicilio();
                $request->setFolioOtorgante("");
                $persona->setPrimerNombre("");
                $persona->setSegundoNombre("");
                $persona->setApellidoPaterno("");
                $persona->setApellidoMaterno("");
                $persona->setFechaNacimiento("");
                $domicilio->setDireccion("");
                $domicilio->setColoniaPoblacion("");
                $domicilio->setDelegacionMunicipio("");
                $domicilio->setCiudad("");
                $domicilio->setEstado("");
                $domicilio->setCP("");
                $domicilio->setPais("");

                $persona->setDomicilio($domicilio);
                $request->setPersona($persona);
                $response = $this->apiInstance->getReporte($this->x_api_key,$this->username,$this->password, $request);
                $this->assertNotNull($response );
                print_r($response);
        }
        catch(Exception $e){
            echo 'Exception when calling ApiTest->testGetReporte: ', $e->getMessage(), PHP_EOL;
        }
    }

 public function testGetReporteFolio()
    {
     try{
                $request = new PeticionFolio();
                $request->setFolioOtorgante("");
                $request->setFolioConsulta("");
                $response = $this->apiInstance->getReporteFolio($this->x_api_key,$this->username,$this->password, $request);
                $this->assertNotNull($response );
                print_r($response);
        }
            catch(Exception $e){
                echo 'Exception when calling ApiTest->testGetReporteFolio: ', $e->getMessage(), PHP_EOL;
            }
    }
```

Pruebas unitarias
-----------------

[](#pruebas-unitarias)

Para ejecutar las pruebas unitarias:

```
./vendor/bin/phpunit
```

---

[CONDICIONES DE USO, REPRODUCCIÓN Y DISTRIBUCIÓN](https://github.com/APIHub-CdC/licencias-cdc)

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/3004c9dfab589b6c9268c27eaa4bf6a19ee3ecb0124315371673bd6478f102c3?d=identicon)[apihub](/maintainers/apihub)

---

Top Contributors

[![Joossshh](https://avatars.githubusercontent.com/u/105066061?v=4)](https://github.com/Joossshh "Joossshh (4 commits)")[![bryantcancino](https://avatars.githubusercontent.com/u/9358005?v=4)](https://github.com/bryantcancino "bryantcancino (3 commits)")[![dramon-z](https://avatars.githubusercontent.com/u/3751889?v=4)](https://github.com/dramon-z "dramon-z (1 commits)")

### Embed Badge

![Health badge](/badges/apihub-cdc-fintechscore-client-php/health.svg)

```
[![Health](https://phpackages.com/badges/apihub-cdc-fintechscore-client-php/health.svg)](https://phpackages.com/packages/apihub-cdc-fintechscore-client-php)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
