bancolombia-dev/wompi-php

Paquete para php wompi Bancolombia

1.0.7 2022-06-12 18:37 UTC

This package is auto-updated.

Last update: 2024-11-13 05:21:20 UTC


README

Logo Laravel Cashier Stripe

Total Downloads Latest Stable Version License

Introducci贸n

Este es un paquete de la api de wompi que pertenece al grupo Bancolombia para php.

馃捇 Instalaci贸n

Para instalar utiliza composer.

composer require bancolombia-dev/wompi-php

Test

Dependiendo de la llave p煤blica y llave privada es el entorno de trabajo.

馃敡 Uso del paquete

Para iniciar a utilizar el paquete necesitas tu llave p煤blica y llave privada de tu cuenta wompi.

  /**
   * Autocarga de clases  
   */
require_once 'vendor/autoload.php';

use Bancolombia\Wompi;

Wompi::initialize([
    'public_key' => '',
    'private_key' => ''
  ]);
  
/**
* Retorna los tokens configurados
*/
Wompi::getTokens();

/**
* token de aceptaci贸n
* @link https://docs.wompi.co/docs/en/tokens-de-aceptacion
*/
Wompi::acceptance_token();

/**
* M茅todos de pago
* @link https://docs.wompi.co/docs/en/metodos-de-pago
*/

/**
* Tarjetas de Cr茅dito o D茅bito
*/

/**
* 1. Tokeniza una tarjeta
*/
 $token = Wompi::tokenize_card(
        [
            "number" => "4242424242424242", // N煤mero de la tarjeta
            "cvc" => "123", // C贸digo de seguridad de la tarjeta (3 o 4 d铆gitos seg煤n corresponda)
            "exp_month" => "08", // Mes de expiraci贸n (string de 2 d铆gitos)
            "exp_year" => "28", // A帽o expresado en 2 d铆gitos
            "card_holder" => "Jos茅 P茅rez" // Nombre del tarjetahabiente
        ]
    );

/**
* 2. Realiza la transacci贸n
*/
  $paymentCard = Wompi::card(
        $acceptance_token,
        $token->data->id,
        2, // N煤mero de cuotas
         [
        "amount_in_cents" => 30300000,
        "currency" => "COP",
        "customer_email" => "user@test.com",
        "reference" => '0000000000',
         // Otros campos de la transacci贸n a crear...
        ]
    );
    
 /**
* Bot贸n de Transferencia Bancolombia
*/

    $bancolombia =  Wompi::bancolombia(
        $acceptance_token,
        $payment_description,
        [
        "amount_in_cents" => 30300000,
        "currency" => "COP",
        "customer_email" => "user@test.com",
        "reference" => '0000000000',
         // Otros campos de la transacci贸n a crear...
        ]
    );
    
/**
* Nequi
*/
    $nequi =  Wompi::nequi(
        $acceptance_token,
        $phone,
         [
        "amount_in_cents" => 30300000,
        "currency" => "COP",
        "customer_email" => "user@test.com",
        "reference" => '0000000000',
         // Otros campos de la transacci贸n a crear...
        ]
    );
 
/**
* PSE
*/
    $pse = Wompi::pse(
        $acceptance_token,
         0, // Tipo de persona, natural (0) o jur铆dica (1)
        'CC', // Tipo de documento, CC o NIT
        '985874589', // N煤mero de documento
        $responses->data[0]->financial_institution_code, // C贸digo (`code`) de la instituci贸n financiera
        $payment_description, // Nombre de lo que se est谩 pagando. M谩ximo 30 caracteres
        [
        "amount_in_cents" => 30300000,
        "currency" => "COP",
        "customer_email" => "user@test.com",
        "reference" => '0000000000',
         // Otros campos de la transacci贸n a crear...
        ]

    );
    
/**
* Pago en efectivo en Corresponsales Bancarios Bancolombia
*/
  //1 Crea la transacci贸n  

    $bancolombia_collect =  Wompi::bancolombia_collect(
        $acceptance_token,
        [
        "amount_in_cents" => 30300000,
        "currency" => "COP",
        "customer_email" => "user@test.com",
        "reference" => '0000000000',
         // Otros campos de la transacci贸n a crear...
        ]

    );
    
   //2 Consulta la transacci贸n creada
     $transaction = Wompi::transaction_find_by_id($bancolombia_collect->data->id);

Fuentes de pago & Tokenizaci贸n

  /**
   * Autocarga de clases  
   */
require_once 'vendor/autoload.php';

use Bancolombia\Wompi;

Wompi::initialize([
    'public_key' => '',
    'private_key' => ''
  ]);
  
  // Tokenizaci贸n cuentas Nequi
   $tokenNequi =  Wompi::tokenize_nequi($phone);
   
 // para chequear el estado de la suscripci贸n
   $subscription = Wompi::subscription_nequi($tokenNequi->data->id);
   
 //** Nota: Para tarjetas de cr茅dito se tokeniza de la misma forma cuando se va a realizar un pago
 
 // Crea una fuente de pago 
  Wompi::payment_sources(
        $tokenizeId,
        $customer_email,
        $acceptance_token
    );
    
 //  Crea una transacci贸n con fuente de pago
   Wompi::transaction(
      [
         "payment_source_id" => 3891 // ID de la fuente de pago
         "amount_in_cents" => 30300000,
        "currency" => "COP",
        "customer_email" => "user@test.com",
        "reference" => '0000000000',
         // Otros campos de la transacci贸n a crear...
      ]
    );
   

Links de pago

  /**
   * Autocarga de clases  
   */
require_once 'vendor/autoload.php';

use Bancolombia\Wompi;

Wompi::initialize([
    'public_key' => '',
    'private_key' => ''
  ]);
  
 /**
* Crear link de pago
* @link https://docs.wompi.co/docs/en/links-de-pago
*/

$link = Wompi::link([
    "name" => "Pago de arriendo edificio Lombard铆a - AP 505", // Nombre del link de pago
    "description" => "Arriendo mensual", // Descripci贸n del pago
    "single_use" => false, // `false` en caso de que el link de pago pueda recibir m煤ltiples transacciones APROBADAS o `true` si debe dejar de aceptar        transacciones despu茅s del primer pago APROBADO
    "collect_shipping" => false // Si deseas que el cliente inserte su informaci贸n de env铆o en el checkout, o no
    // Otros campos de la transacci贸n a crear...
]);

$link['response']; // respuesta
$link['link']; // link de pago

Anula una transacci贸n

Anula una transacci贸n APROBADA. Aplica 煤nicamente para transacciones con Tarjeta (tipo CARD).

require_once 'vendor/autoload.php';

use Bancolombia\Wompi;

Wompi::initialize([
    'public_key' => '',
    'private_key' => ''
  ]);
  
Wompi::cancell_transaction($transaction_id);

Verifica la autenticidad de un evento (webhook)

Por seguridad necesitas聽 checkear eventos de webhook y para eso necesitas tu secret event.

require_once 'vendor/autoload.php';

use Bancolombia\Wompi;

Wompi::initialize([
    'public_key' => '',
    'private_key' => '',
    //Agregar event key
    'private_event_key' => '' 
  ]);

//@link https://www.geeksforgeeks.org/how-to-receive-json-post-with-php
$request = file_get_contents('php://input');

//@return bool
Wompi::check_webhook(json_decode($request, true)));

Contribuci贸n

Puedes contribuir agregando nuevas funcionalidades, actualizaciones,聽 refactorizaci贸n de c贸digo y notificando errores, con antelaci贸n se agradece.

License

MIT license.