PHPackages                             apihub-cdc/finacial-index-profile - 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. [API Development](/categories/api)
4. /
5. apihub-cdc/finacial-index-profile

ActiveLibrary[API Development](/categories/api)

apihub-cdc/finacial-index-profile
=================================

1.0.0(6y ago)02PHPPHP &gt;=5.5CI failing

Since Mar 23Pushed 6y ago3 watchersCompare

[ Source](https://github.com/APIHub-CdC/financial-index-profile-client-php)[ Packagist](https://packagist.org/packages/apihub-cdc/finacial-index-profile)[ Docs](http://developer.circulodecredito.com.mx)[ RSS](/packages/apihub-cdc-finacial-index-profile/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (1)Dependencies (5)Versions (4)Used By (0)

Finacial Index Profile Client PHP
=================================

[](#finacial-index-profile-client-php)

Permite identificar perfiles de madurez de un cliente dependiendo del tipo, cantidad y profundidad de las relaciones de una persona con el sistema de pagos, para, de esta manera, entender qué tipo de producto o servicio es el más adecuado ofrecer a un determinado perfil de cliente.

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 emergente, 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 emergente, 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 \FinacialIndexProfile\Client\Interceptor\KeyHandler(
    "/example/route/keypair.p12",
    "/example/route/cdc_cert.pem",
    $password
);
```

> **NOTA:** Sólamente en caso de que el contenedor haya cifrado, se debe colocar 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

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

Modificar la URL de la petición en ***test/Api/FipApiTest.php***, como se muestra en el siguiente fragmento de código:

```
$config = new \FinacialIndexProfile\Client\Configuration();
$config->setHost('the_url');
```

### 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.

```
class FipApiTest extends \PHPUnit_Framework_TestCase
{
    public function setUp()
    {
        $password = getenv('KEY_PASSWORD');
        $this->signer = new \FinacialIndexProfile\Client\Interceptor\KeyHandler(
            "/example/route/keypair.p12",
            "/example/route/cdc_cert_dev.pem",
            $password
        );
        $config = new \FinacialIndexProfile\Client\Configuration();
        $config->setHost('the_url');

        $events = new \FinacialIndexProfile\Client\Interceptor\MiddlewareEvents($this->signer);
        $handler = \GuzzleHttp\HandlerStack::create();
        $handler->push($events->add_signature_header('x-signature'));
        $handler->push($events->verify_signature_header('x-signature'));

        $client = new \GuzzleHttp\Client(['handler' => $handler]);
        $this->apiInstance = new \FinacialIndexProfile\Client\Api\FipApi($client, $config);
        $this->x_api_key = "your_api_key";
        $this->username = "your_username";
        $this->password = "your_password";
    }

    public function testMadurez()
    {
        $folioConsulta = "10000000";
        try {
            $result = $this->apiInstance->madurez($this->x_api_key, $this->username, $this->password, $folioConsulta);
            print_r($result);
            $this->assertTrue($result->getFolioScore()!==null);
        } catch (Exception $e) {
            echo 'Exception when calling MadurezSimulacionApi->getReporte: ', $e->getMessage(), PHP_EOL;
        }
    }
}
```

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

[](#pruebas-unitarias)

Para ejecutar las pruebas unitarias:

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

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 75% 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2242d ago

### Community

Maintainers

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

---

Top Contributors

[![bryantcancino](https://avatars.githubusercontent.com/u/9358005?v=4)](https://github.com/bryantcancino "bryantcancino (9 commits)")[![macr243](https://avatars.githubusercontent.com/u/14145615?v=4)](https://github.com/macr243 "macr243 (2 commits)")[![dramon-z](https://avatars.githubusercontent.com/u/3751889?v=4)](https://github.com/dramon-z "dramon-z (1 commits)")

---

Tags

phpapisdkapihub

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/apihub-cdc-finacial-index-profile/health.svg)

```
[![Health](https://phpackages.com/badges/apihub-cdc-finacial-index-profile/health.svg)](https://phpackages.com/packages/apihub-cdc-finacial-index-profile)
```

###  Alternatives

[checkout/checkout-sdk-php

Checkout.com SDK for PHP

553.3M7](/packages/checkout-checkout-sdk-php)

PHPackages © 2026

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