/culqi-php

Culqi PHP

Primary LanguagePHPMIT LicenseMIT

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.6"
  }
}

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.