Pre-requisitos
1. Debes contar con tus llaves de configuración. Si aún no las tienes créalas aquí.
2. Tener un token de tarjeta generado.
Pasos
Descargar la librería PHP con ejemplos
2. Configura las keys y el ambiente en el que trabajarás.
3. Configura tus parámetros de cobro.
Configuración
1. Instala el SDK en nuestro proyecto, normalmente estará bajo la ruta <Raíz del proyecto>/vendor/srPago>
2. Configura tus llaves.
i. Dentro de la carpeta examples/services/SrPagoService.php debes añadir las llaves de tu aplicación:
ii. En esta carpeta encontrarás las siguientes ligas a modificar:
SrPagoSrPago::$apiKey = "/* Colocar App Key */"; SrPagoSrPago::$apiSecret = "/* Colocar App Secret */"; SrPagoSrPago::$liveMode = false;
Ambiente de pruebas: \SrPago\SrPago::$liveMode = false;
Ambiente productivo: \SrPago\SrPago::$liveMode = true;
iii. Configura la Public key
Busca en el demo los archivos examples/cardPayment.php y examples/customer.php, en estos documentos encontrarás las siguientes líneas a modificar:
$( document ).ready(function() { SrPago.setLiveMode(false); SrPago.setPublishableKey("/* Colocar Public Key */");
La Public Key es un valor que se obtuvo al registrar la aplicación.
Nota: No olvides configurar el LiveMode en tu ambiente de trabajo.
3. Configura los parámetros de cobro
<?php /// Librerías requeridas
<?php /// Librerías requeridas include './vendor/srpago_php/SrPago.php'; include ('header.php'); /// Parámetros de cobro $chargeParams = array( "amount"=>10, "description" => 'Test', "reference"=> 'test', "ip"=> getIp(), "source"=>$_POSST['tokenInput'], "months" => "1", );
En la petición es obligatorio enviar el metadata. ¿Por qué me piden esta info?
$metadata = array( "billing" => array( "billingEmailAddress" => "[email protected]", "billingFirstName-D"=> "Nombre", "billingMiddleName-D"=> "2ndoNombre", "billingLastName-D"=> "Apellidos", "billingAddress-D" => "Calle 1", "billingAddress2-D"=> "Colonia", "billingCity-D"=> "Ciudad", "billingState-D"=> "Publación", "billingPostalCode-D"=> "00000", "billingCountry-D"=> "MX", "billingPhoneNumber-D"=> "0000000000", "creditCardAuthorizedAmount-D"=> "10" ), "member"=> array( "memberLoggedIn"=> "SI", "memberFullName"=> "Nombre Apellidos", "memberFirstName"=> "Nombre", "memberMiddleName"=> "2ndo Nombre", "memberLastName"=> "Apellidos", "memberEmailAddress"=> "[email protected]", "memberAddressLine1"=> "Calle 1", "memberAddressLine2"=> "Colonia", "memberCity"=> "Ciudad", "memberState"=> "Estado", "memberCountry"=> "MX", "memberPostalCode"=> "00000", "memberPhone"=>"0000000000" ), "items"=> array ( "item"=> array ( array( "itemNumber"=> "01", "itemDescription" => "Preba", "itemPrice"=>"100", "itemQuantity" => "1", "itemMeasurementUnit"=> "PZ", "itemBrandName"=>"SR.Pago", "itemCategory"=> "TI", "itemTax"=> "0.00", ), ), ), "shipping"=> array( "shippingCharges"=> "100.50", "shippingFirstName"=> "Juan", "shippingMiddleName"=> "Pablo", "shippingLastName"=> "Perez", "shippingEmailAddress"=> "[email protected]", "shippingAddress"=> "a", "shippingAddress2"=> "b", "shippingCity"=> "s", "shippingState"=> "Chicago", "shippingPostalCode"=> "12345", "shippingCountry"=> "MX", "shippingPhoneNumber"=> "", "shippingMethod"=> "mail", "shippingDeadline"=> "2015-08-01",), ); $response = ''; try { $srPago = new SrPago(); $srPago->setup(); $response = $srPago->chargesCreateCharge($chargeParams, $metadata); }catch (Exception $e){ echo 'Error ' . $e->getMessage() . ' ' . $e->getFile(); } print_r($response); function getIp(){ $ipaddress = ''; if (isset($_SERVER['HTTP_CLIENT_IP'])) $ipaddress = $_SERVER['HTTP_CLIENT_IP']; else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_X_FORWARDED'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED']; else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_FORWARDED'])) $ipaddress = $_SERVER['HTTP_FORWARDED']; else if(isset($_SERVER['REMOTE_ADDR'])) $ipaddress = $_SERVER['REMOTE_ADDR']; else $ipaddress = 'UNKNOWN'; return $ipaddress; }
Si en alguna parte del proceso te apareció una excepción puedes consultarlo en nuestro Catálogo de errores.
para verificar el arcihvo srpago_php.zip debe ejecutar el siguiente comando y obtener el siguiente hash
shasum -a 256 srpago_php.zip eae60771a2c5c22bfe3a0eef5e40d906379be2ed24f01a17b3457f4cca71964f

