bancolombia-dev / wompi-php
Bancolombia php wompi 包
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
介绍
这是一个属于Bancolombia集团的wompi API包,适用于php。
💻 安装
使用 composer 进行安装。
composer require bancolombia-dev/wompi-php
测试
根据公钥和私钥,工作环境会有所不同。
🔧 包的使用
为了开始使用此包,你需要你的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);
支付源 & Token化
/** * 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... ] );
支付链接
/** * 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
取消交易
取消已批准的交易。仅适用于信用卡(类型为CARD)的交易。
require_once 'vendor/autoload.php'; use Bancolombia\Wompi; Wompi::initialize([ 'public_key' => '', 'private_key' => '' ]); Wompi::cancell_transaction($transaction_id);
验证事件(webhook)的合法性
出于安全考虑,你需要检查webhook事件,为此你需要你的 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)));
贡献
你可以通过添加新功能、更新、代码重构和提前报告错误来贡献。提前感谢。