Git Product home page Git Product logo

culqi-php's Introduction

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

Y cargar todo usando el autoloader de Composer.

require 'vendor/autoload.php';

Manualmente

Clonarse el repositorio o bajarse el código fuente

git clone [email protected]: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" => "[email protected]",
      "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" => "[email protected]", 
            "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.

culqi-php's People

Contributors

apumayallag avatar brayancruces avatar carlosmoraleseguia avatar dependabot-preview[bot] avatar diegosan415 avatar guilleroberts-culqi avatar heroseven avatar joelibaceta avatar khanmaytok avatar marti1125 avatar nicolas-culqi avatar soporte-culqi avatar william-muro-culqi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.