Plexo es un repositorio de medios de pago. Su objetivo es facilitar la utilización de estos instrumentos permitiendo desacoplar toda complejidad asociada a la integración con los medios de pago.
Para correr el SDK, su sistema debe contar con PHP >= 5.6 compilado con el módulo openssl.
- Obtener nombre de usuario y certificado emitido por Plexo.
- Instalar el SDK.
- Definir almacenamiento de certificados.
- Fijar credenciales.
Instalando el SDK vía Composer.
$ composer require plexouy/plexo-sdk
El cliente puede desarrollar y registrar su propia clase de almacenamiento de certificados. Esta clase debe implementar la interfaz Plexo\Sdk\Certificate\CertificateStoreInterface.
De esta manera se evitará la realización de peticiones adicionales a la API, dándole al cliente la libertad de optar por el modo y lugar de almacenamiento más conveniente para él (base de datos, sistema de archivos, APIs, etc).
Representa un certificado, conteniendo su fingerprint, clave pública y/o clave privada.
- fingerprint (string) SHA1 en hexadecimal.
- cert (string) Clave pública en Base 64, conteniendo las declaraciones "-----BEGIN CERTIFICATE-----" y "-----END CERTIFICATE-----".
- pkey (string) Clave privada en Base 64, conteniendo las declaraciones "-----BEGIN PRIVATE KEY-----" y "END PRIVATE KEY".
La autenticación se realiza a través de un nombre de usuario y verificación de firmas. Todas las peticiones son firmadas utilizando una clave privada emitida por Plexo.
Nombre de usuario
El nombre de usuario puede ser configurado fijando la variable de entorno PLEXO_CREDENTIALS_CLIENT o indicado en el código al instanciar la clase Plexo\Sdk\Client con la opción client.
Clave privada
La configuración de la clave privada puede realizarse de las siguientes tres maneras, tanto como variables de entorno o en el código al instanciar la clase Plexo\Sdk\Client:
Opción 1. Fingerprint: Si ha registrado su clase de almacenamiento de certificados, el SDK consultará el método getByFingerprint, pasando como parámetro el fingerprint, para obtener la clave privada almacenada. Su clase debe retornar un objeto del tipo Plexo\Sdk\Certificate\Certificate conteniendo la clave privada extraída del archivo pfx.
- Variable de entorno:
- PLEXO_CREDENTIALS_PRIVKEY_FINGERPRINT
- Opción del constructor:
- privkey_fingerprint
Opción 2. PEM/Fingerprint: Si la clave privada fue extraída del archivo pfx a un archivo pem, agregue la ruta del archivo pem y el SDK utilizará clave contenida.
- Variables de entorno:
- PLEXO_CREDENTIALS_PEM_FILENAME
- PLEXO_CREDENTIALS_PRIVKEY_FINGERPRINT
- Opción del constructor:
- pem_filename
- privkey_fingerprint
Opcion 3. PFX/Passphase (más lento): Si no ha extraído los datos del archivo pfx, puede indicar la ruta a ese archivo y su contraseña de instalación.
- Variables de entorno:
- PLEXO_CREDENTIALS_PFX_FILENAME
- PLEXO_CREDENTIALS_PFX_PASSPHRASE
- Opción del constructor:
- pfx_filename
- pfx_passphrase
<?php
// Require the Composer autoloader.
require_once 'vendor/autoload.php';
use Plexo\Sdk;
$client = new Sdk\Client();
<?php
// Require the Composer autoloader.
require_once 'vendor/autoload.php';
use Plexo\Sdk;
$client = new Sdk\Client([
'client' => $client_name,
'pem_filename' => $pem_filename,
'privkey_fingerprint' => $fingerprint,
]);
- __construct
- Authorize
- Blacklist
- Purchase
- Cancel
- StartReserve
- EndReserve
- Status
- GetInstruments
- DeleteInstrument
- GetSupportedIssuers
- GetCommerces
- AddCommerce
- ModifyCommerce
- DeleteCommerce
- SetDefaultCommerce
- GetCommerceIssuers
- AddIssuerCommerce
- DeleteIssuerCommerce
- GetProvidedCodeCommerce
- GetServerPublicKey