Plexo SDK para PHP
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.
Requerimientos
Para correr el SDK, su sistema debe contar con PHP >= 5.6 compilado con el m贸dulo openssl.
Primeros pasos
- Obtener nombre de usuario y certificado emitido por Plexo.
- Instalar el SDK.
- Definir almacenamiento de certificados.
- Fijar credenciales.
Instalaci贸n
Instalando el SDK v铆a Composer.
$ composer require plexouy/plexo-sdk
Certificados
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).
La clase Plexo\Sdk\Certificate\Certificate
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".
Credenciales
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
Ejemplo: Utilizando variables de entorno.
<?php
// Require the Composer autoloader.
require_once 'vendor/autoload.php';
use Plexo\Sdk;
$client = new Sdk\Client();
Ejemplo: Indicando credenciales al instanciar 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,
]);
Clase Plexo\Sdk\Client
M茅todos
- __construct
- Authorize
- Blacklist
- Purchase
- Cancel
- StartReserve
- EndReserve
- Status
- GetInstruments
- DeleteInstrument
- GetSupportedIssuers
- GetCommerces
- AddCommerce
- ModifyCommerce
- DeleteCommerce
- SetDefaultCommerce
- GetCommerceIssuers
- AddIssuerCommerce
- DeleteIssuerCommerce
- GetProvidedCodeCommerce
- GetServerPublicKey