bancolombia-dev / wompi-php
Paquete para php wompi Bancolombia
1.0.7
2022-06-12 18:37 UTC
Requires
- php: 7.2.5 || ^8.0
- guzzlehttp/guzzle: ^7.4
Requires (Dev)
- fakerphp/faker: ^1.19
- pestphp/pest: ^1.21
README
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.