PHPackages                             apihub-cdc/rc-peru-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/rc-peru-client-php

ActiveLibrary[API Development](/categories/api)

apihub-cdc/rc-peru-client-php
=============================

1.0.1(5y ago)02PHPPHP &gt;=5.5CI failing

Since Jun 11Pushed 5y ago3 watchersCompare

[ Source](https://github.com/APIHub-CdC/rc-peru-client-php)[ Packagist](https://packagist.org/packages/apihub-cdc/rc-peru-client-php)[ Docs](http://developer.circulodecredito.com.mx)[ RSS](/packages/apihub-cdc-rc-peru-client-php/feed)WikiDiscussions release/1.0.1 Synced today

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

rc-peru-client-php
==================

[](#rc-peru-client-php)

Reporte de Crédito de personas naturales y jurídicas que considera fuentes públicas y privadas.

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/ApiTest.php***, como se muestra en el siguiente fragmento de código:

```
public function setUp()
{
    $password = getenv('KEY_PASSWORD');
    $this->signer = new KeyHandler(null, null, $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('the_url');

    $this->apiInstance = new Instance($client, $config);
    $this->x_api_key = "your_api_key";
    $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 testGetRC()
{

    $request = new \rc\pe\Client\Model\Peticion();

    $request->setFolio("10000200");
    $request->setNumeroDocumento("67544489");
    $request->setTipoDocumento("1");

    try {
        $result = $this->apiInstance->getRC($this->x_api_key, $this->username, $this->password, $request);

        if($this->apiInstance->getStatusCode() == 200){
            print_r($result);
        }
    } catch (ApiException $e) {

        if($e->getCode() !== 204){
            echo ' code. Exception when calling ApiTest->getRC: ', $e->getResponseBody(), PHP_EOL;
        }
    }
    $this->assertTrue($this->apiInstance->getStatusCode() == 200);
}
```

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

Community10

Small or concentrated contributor base

Maturity54

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 ~215 days

Total

2

Last Release

1942d 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 (6 commits)")[![macr243](https://avatars.githubusercontent.com/u/14145615?v=4)](https://github.com/macr243 "macr243 (3 commits)")

---

Tags

phpapisdkapihub

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

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

```
[![Health](https://phpackages.com/badges/apihub-cdc-rc-peru-client-php/health.svg)](https://phpackages.com/packages/apihub-cdc-rc-peru-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)
