PHPackages                             apihub-cdc/vectores-saldos-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. [API Development](/categories/api)
4. /
5. apihub-cdc/vectores-saldos-client-php

ActiveLibrary[API Development](/categories/api)

apihub-cdc/vectores-saldos-client-php
=====================================

1.0.1(6y ago)01proprietaryPHPPHP &gt;=5.5CI failing

Since Nov 5Pushed 6y ago2 watchersCompare

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

READMEChangelog (2)Dependencies (5)Versions (7)Used By (0)

Cliente Vectores de Saldos (PHP)
================================

[](#cliente-vectores-de-saldos-php)

Vectores de Saldos devuelve un vector con los saldos de la persona en cuestión. La información es mensual, comprende un periodo de 12 meses más el mes en curso e incluye el monto a pagar y los saldos actual y vencido.

Requisitos
----------

[](#requisitos)

PHP 7.1 ó superior

### Dependencias adicionales

[](#dependencias-adicionales)

- Las siguientes dependencias de PHP son requeridas:
    - ext-curl
    - ext-mbstring
- Ejemplo de instalación (Linux):

```
apt-get install php7.3-curl
apt-get install php7.3-mbstring
```

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

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

[](#instalación)

```
composer install
```

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

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

### Paso 1. Generación de llave y certificado

[](#paso-1-generación-de-llave-y-certificado)

- Es necesario contar con un contenedor en formato PKCS12; en caso de no contar con uno, ejecutar el script **lib/Interceptor/key\_pair\_gen.sh** ó llevar a cabo los siguientes pasos:

```
# Definición de 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
# Opcionalmente, para cifrar el contenedor, colocar una contraseña en una variable de ambiente.
export KEY_PASSWORD=your_password
#Generación de llave privada.
openssl ecparam -name secp384r1 -genkey -out ${PRIVATE_KEY_FILE}
#Generación de certificado público.
openssl req -new -x509 -days 365 \
    -key ${PRIVATE_KEY_FILE} \
    -out ${CERTIFICATE_FILE} \
    -subj "${SUBJECT}"
# Generación de archivo pkcs12 a partir de llave privada y certificado.
# Se 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. Carga del certificado dentro del portal de desarrolladores

[](#paso-2-carga-del-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. Descarga del certificado de Círculo de Crédito dentro del portal de desarrolladores

[](#paso-3-descarga-del-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 tanto el contenedor, como el certificado proporcionado por Círculo de Crédito, sean almacenados en las siguientes rutas:

> - **/path/to/repository/lib/Interceptor/keypair.p12**
> - **/path/to/repository/lib/Interceptor/cdc\_cert.pem**

- En caso de que no sean almacenados de esta forma, es necesario especificar la ruta en la que se encuentra el contenedor y el certificado (véase el ejemplo siguiente):

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

> **NOTA:** Solo en caso de que el contenedor se haya cifrado, deberá colocarse la contraseña en una variable de ambiente e indicarse el nombre de la misma.

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

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

Los siguientes datos a modificar se encuentran en ***test/Api/VectoresSaldosApiTest.php***

Es importante contar con el setUp() que se encargará de inicializar la url, firmar y verificar la petición. Modificar la URL de la petición del objeto ***$config***, como se muestra en el siguiente fragmento de código:

```
  public function setUp()
  {
      $password = getenv('KEY_PASSWORD');
      $this->signer = new \VectoresSaldos\Client\Interceptor\KeyHandler(null, null, $password);
      $events = new \VectoresSaldos\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,
          'verify' => false
      ]);

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

      $this->apiInstance = new \VectoresSaldos\Client\Api\VectoresSaldosApi($client);
  }
```

```
public function testGetVectorSaldos()
{
    $x_api_key = "your_api_key";
    $username = "your_username";
    $password = "your_password";
    $body = new \VectoresSaldos\Client\Model\Persona();
    $body->setPrimerNombre("XXXXX");
    $body->setSegundoNombre("XXXXX");
    $body->setApellidoPaterno("XXXXX");
    $body->setApellidoMaterno("XXXXX");
    $body->setApellidoAdicional("XXXXX");
    $body->setFechaNacimiento("YYY-MM-DD");
    $body->setRfc("XXXXX");
    $body->setCurp("XXXXX");
    $domicilio = new \VectoresSaldos\Client\Model\Domicilio();
    $domicilio->setDireccion("XXXXX");
    $domicilio->setColonia("XXXXX");
    $domicilio->setCiudad("XXXXX");
    $domicilio->setCodigoPostal("XXXXX");
    $domicilio->setMunicipio("XXXXX");
    $domicilio->setEstado("XXXX");
    $body->setDomicilio($domicilio);
    try {
        $result = $this->apiInstance->getVectorSaldos($x_api_key, $username, $password, $body);
        $this->signer->close();
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling VectoresSaldosApi->getVectorSaldos: ', $e->getMessage(), PHP_EOL;
    }
}
?>
```

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

[](#pruebas-unitarias)

- Para ejecutar las pruebas unitarias:

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

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

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

Every ~0 days

Total

2

Last Release

2380d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

phpapisdkapihub

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

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

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

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