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.