PHP

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

1. Instala el SDK en nuestro proyecto encuéntralo en la siguiente ruta <Raíz del proyecto>/vendor/srPago>
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

En el campo «source» del changeParams, debes enviar el token tipo «tok_» generado previamente.
  <?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;
}
¡Listo! Ya tienes tu primer cargo creado con tarjeta.

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

 

 

Descargar SDK
Descargar SDK
Más Información
Más Información

 

 

¿Te resultó útil este artículo? Si No