Recommend this page to a friend! |
![]() |
Info | Documentation | ![]() |
![]() |
![]() |
Reputation | Support forum | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not enough user ratings | Total: 124 | All time: 9,460 This week: 524![]() |
Version | License | PHP version | Categories | |||
php-instapago 3.0.8 | MIT/X Consortium ... | 5.6 | PHP 5, E-Commerce, Web services |
Description | Author | ||||||||
This class can process payments with the Instapago API. |
|
<p align="center">
Documentación de la librería <b>Instapago</b>
</p>
* keyId = 74D4A278-C3F8-4D7A-9894-FA0571D7E023
* publicKeyId = e9a5893e047b645fed12c82db877e05a
> Importante: Debes solicitar las llaves públicas y privadas (publicKeyId
y keyId
) a Instapago. Aquí puedes encontrar mayor información.
De ahora en más usaremos $paymentData
para referirnos a el arreglo con los parámetros antes mencionados.
$paymentData = [
'amount' => '200',
'description' => 'test',
'card_holder' => 'jon doe',
'card_holder_id' => '11111111',
'card_number' => '4111111111111111',
'cvc' => '123',
'expiration' => '12/2020',
'ip' => '127.0.0.1',
];
Todos los métodos del api devuelven un arreglo asociativo con el siguiente esquema:
La excepción base de la librería es \Instapago\Exceptions\InstapagoException
y reporta errores generales con instapago, y de ella se derivan 5 excepciones de la siguiente manera.
Para todas las transacciones realizadas bajo el API de Instapago, los códigos HTTP de respuestas corresponden a los siguientes estados:
-
-
-
-
-
> Importante: Si recibe un código de respuesta diferente a los antes descritos deben ser tomados como errores de protocolo HTTP.
Tarjetas de prueba
Para realizar las pruebas, se provee de los siguientes datos para comprobar la integracio?n:
-
Tarjetas Aprobadas:
Pueden indicar cualquier valor para Ce?dula o RIF, Fecha de Vencimiento y CVC:
-
Visa: `4111111111111111`
-
American Express: `378282246310005`
-
MasterCard: `5105105105105100`
-
Sambil: `8244001100110011`
-
Rattan: `8244021100110011`
-
Locatel: `8244041100110011`
API
Instanciación
$api = new \Instapago\Api('<keyId>','<publicKeyId>');
Crear un Pago Directo
Efectúa un pago directo con tarjeta de crédito, los pagos directos son inmediatamente debitados del cliente y entran en el proceso bancario necesario para acreditar al beneficiario.
try{
$api = new Api('<keyId>','<publicKeyId>');
$respuesta = $api->directPayment($paymentData);
// hacer algo con $respuesta
}catch(\Instapago\Exceptions\InstapagoException $e){
echo "Ocurrió un problema procesando el pago.";
// manejar el error
}
Reservar un Pago
Efectúa una reserva o retención de pago en la tarjeta de crédito del cliente, la reserva diferirá los fondos por un tiempo (3 días máximo segun fuentes extraoficiales), en el plazo en el que los fondos se encuentren diferidos, ni el beneficiario ni el cliente poseen el dinero. El dinero será tramitado al beneficiario una vez completado el pago, o de lo contrario será acreditado al cliente de vuelta si no se completa durante el plazo o si se cancela el pago.
try{
$api = new Api('<keyId>','<publicKeyId>');
$respuesta = $api->reservePayment($paymentData);
// hacer algo con $respuesta
}catch(\Instapago\Exceptions\InstapagoException $e){
echo "Ocurrió un problema procesando el pago.";
// manejar el error
}
Completar Pago
Éste método permite cobrar fondos previamente retenidos.
-
`id`: Identificador único del pago.
-
`amount`: Monto por el cual se desea procesar el pago final.
try{
$api = new Api('<keyId>','<publicKeyId>');
$respuesta = $api-continuePayment([
'id' => 'af614bca-0e2b-4232-bc8c-dbedbdf73b48',
'amount' => '200.00'
]);
}catch(\Instapago\Exceptions\InstapagoException $e){
// manejar errores
}
Información de un Pago
Consulta información sobre un pago previamente generado.
try{
$api = new Api('<keyId>','<publicKeyId>');
$idPago = 'af614bca-0e2b-4232-bc8c-dbedbdf73b48';
$respuesta = $api->query($idPago);
}catch(\Instapago\Exceptions\InstapagoException $e){
// manejar errores
}
Devuelve la misma respuesta que los métodos de crear pagos.
Anular Pago
Este método permite cancelar un pago, haya sido directo o retenido.
try{
$api = new Api('<keyId>','<publicKeyId>');
$idPago = 'af614bca-0e2b-4232-bc8c-dbedbdf73b48';
$info = $api->cancel($idPago);
}catch(\Instapago\Exceptions\InstapagoException $e){
// manejar errores
}
Devuelve la misma respuesta que los métodos de crear pagos.
Details
<p align="center">
<img src="help/hYNsH6B.png">
</p>
<p align="center">
Librería Instapago para PHP
</p>
<p align="center">
<sup style="color: #d0d0d0;"><b>NOTA</b> Los logos son propiedad de Instapago y Banesco, respectivamente.</sup>
</p>
instalación
Primero, composer
Luego:
$ composer require instapago/instapago
$ composer dumpautoload -o // opcional
como usar
>NOTA: Tomar en cuenta que esta nueva versión fue probada usando php8.X, no aseguro que funcione en algo menor a eso, en teoría debería pero no estoy seguro.
<?php
require 'vendor/autoload.php';
use \Instapago\Instapago\Api;
use \Instapago\Instapago\Exceptions\{
InstapagoException,
AuthException,
BankRejectException,
InvalidInputException,
TimeoutException,
ValidationException,
GenericException,
};
$paymentData = [
'amount' => '200',
'description' => 'test',
'card_holder' => 'jon doe',
'card_holder_id' => '11111111',
'card_number' => '4111111111111111',
'cvc' => '123',
'expiration' => '12/2020',
'ip' => '127.0.0.1',
];
try{
$api = new Api('<keyId>','<publicKeyId>');
$respuesta = $api->directPayment($paymentData);
// hacer algo con $respuesta
}catch(InstapagoException $e){
echo $e->getMessage(); // manejar el error
}catch(AuthException $e){
echo $e->getMessage(); // manejar el error
}catch(BankRejectException $e){
echo $e->getMessage(); // manejar el error
}catch(InvalidInputException $e){
echo $e->getMessage(); // manejar el error
}catch(TimeoutException $e){
echo $e->getMessage(); // manejar el error
}catch(ValidationException $e){
echo $e->getMessage(); // manejar el error
}catch(GenericException $e){
echo $e->getMessage(); // manejar el error
}
Podemos revisar rápidamente si todo funciona correctamente escribiendo:
$ php -S localhost:8000
tests
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
Files (28)
File
Role
Description
.github (2 files, 2 directories)
help (2 files)
src (2 files, 1 directory)
tests (2 files)
.editorconfig
Data
Auxiliary data
.php-cs-fixer.dist.php
Example
Example script
CHANGELOG.md
Data
Auxiliary data
composer.json
Data
Auxiliary data
LICENSE.md
Lic.
License text
README.md
Doc.
Example script
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer
Version Control Unique User Downloads Download Rankings 100% Total: 124 This week: 0
All time: 9,460 This week: 524 
Applications that use this package
No pages of applications that use this class were specified.
If you know an application of this package, send a message to the author to add a link here.