Yannick Warnier 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
..
examples 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
lib 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
tests 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
.gitignore 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
.travis.yml 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
CHANGELOG.md 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
LICENSE.md 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
README.md 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
VERSION 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
composer.json 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve
phpunit.xml 76a0eae5ea Add static resources and remove tests dir for beta release 5 éve

README.md

Culqi PHP

Latest Stable Version Total Downloads License

Biblioteca PHP oficial de CULQI, pagos simples en tu sitio web.

Esta biblioteca trabaja con la v2.0 de Culqi API.

Requisitos

  • PHP 5.3 o superiores.
  • Credenciales de comercio Culqi (1).

(1) Debes registrarte aquí. Luego, crear un comercio y estando en el panel, acceder a Desarrollo > API Keys.

alt tag

Instalación

Vía Composer

{
  "require": {
    "culqi/culqi-php": "1.3.4"
  }
}

Y cargar todo usando el autoloader de Composer.

require 'vendor/autoload.php';

Manualmente

Clonarse el repositorio o bajarse el código fuente

git clone git@github.com:culqi/culqi-php.git

Ahora, incluir en la cabecera a culqi-php y también la dependencia Requests. Debes hacer el llamado correctamente a la carpeta y/o archivo dependiendo de tu estructura.

<?php
// Cargamos Requests y Culqi PHP
include_once dirname(__FILE__).'/libraries/Requests/library/Requests.php';
Requests::register_autoloader();
include_once dirname(__FILE__).'/libraries/culqi-php/lib/culqi.php';

Modo de uso

En todos ejemplos, inicialmente hay que configurar la credencial $API_KEY

// Configurar tu API Key y autenticación
$SECRET_KEY = "vk9Xjpe2YZMEOSBzEwiRcPDibnx2NlPBYsusKbDobAk";
$culqi = new Culqi\Culqi(array('api_key' => $SECRET_KEY));

Crear un token (Usarlo SOLO en DESARROLLO)

Antes de crear un Cargo, Plan o un Suscriptor es necesario crear un token de tarjeta. Dentro de esta librería se encuentra una funcionalidad para generar 'tokens', pero solo debe ser usada para desarrollo. Lo recomendable es generar los 'tokens' con CULQI.JS cuando pases a producción, debido a que es muy importante que los datos de tarjeta sean enviados desde el dispositivo de tus clientes directamente a los servidores de Culqi, para no poner en riesgo información sensible.

Crear un cargo (Cargos)

Crear un cargo significa cobrar una venta a una tarjeta. Para esto previamente deberías obtener el token que refiera a la tarjeta de tu cliente.

// Creamos Cargo a una tarjeta
$charge = $culqi->Charges->create(
    array(
      "amount" => 1000,
      "capture" => true,
      "currency_code" => "PEN",
      "description" => "Venta de prueba",
      "email" => "test@culqi.com",
      "installments" => 0,
      "antifraud_details" => array(
          "address" => "Av. Lima 123",
          "address_city" => "LIMA",
          "country_code" => "PE",
          "first_name" => "Will",
          "last_name" => "Muro",
          "phone_number" => "9889678986",
      ),
      "source_id" => "{token_id o card_id}"
    )
);

//Respuesta
print_r($charge);

Crear un Plan

$plan = $culqi->Plans->create(
  array(
    "alias" => "plan-culqi".uniqid(),
    "amount" => 10000,
    "currency_code" => "PEN",
    "interval" => "dias",
    "interval_count" => 1,
    "limit" => 12,
    "name" => "Plan de Prueba ".uniqid(),
    "trial_days" => 15
  )
);

//Respuesta
print_r($plan);

Crear un Customer

$customer = $culqi->Customers->create(
  array(
    "address" => "av lima 123",
    "address_city" => "lima",
    "country_code" => "PE",
    "email" => "www@".uniqid()."me.com",
    "first_name" => "Will",
    "last_name" => "Muro",
    "metadata" => array("test"=>"test"),
    "phone_number" => 899898999
  )
);
print_r($customer);

Crear un Card

$card = $culqi->Cards->create(
  array(
    "customer_id" => "{customer_id}",
    "token_id" => "{token_id}"
  )
);
print_r($card);

Crear un Suscripción a un plan

// Creando Suscriptor a un plan
$subscription = $culqi->Subscriptions->create(
  array(
    "card_id" => "{card_id}",
    "plan_id" => "{plan_id}"
  )
);

//Respuesta
print_r($subscription);

Crear un Order

Ver ejemplo completo

// Creando orden (con 1 dia de duracion)
$order = $culqi->Orders->create(
      array(
        "amount" => 1000,
        "currency_code" => "PEN",
        "description" => 'Venta de prueba',        
        "order_number" => 'pedido-9999',  
        "client_details" => array( 
            "first_name"=> "Brayan", 
            "last_name" => "Cruces",
            "email" => "micorreo@gmail.com", 
            "phone_number" => "51945145222"
         ),
        "expiration_date" => time() + 24*60*60   // Orden con un dia de validez
      )
);
print_r($order);

Probar ejemplos

git clone https://github.com/culqi/culqi-php.git
composer install
cd culqi-php/examples
php -S 0.0.0.0:8000

Documentación

¿Necesitas más información para integrar culqi-php? La documentación completa se encuentra en https://culqi.com/docs/

Tests

composer install
phpunit --verbose --tap tests/*

Licencia

Licencia MIT. Revisar el LICENSE.md.