bancolombia-dev/wompi-php

Bancolombia php wompi 包

1.0.7 2022-06-12 18:37 UTC

This package is auto-updated.

Last update: 2024-09-13 04:59:30 UTC


README

Logo Laravel Cashier Stripe

Total Downloads Latest Stable Version License

介绍

这是一个属于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)));

贡献

你可以通过添加新功能、更新、代码重构和提前报告错误来贡献。提前感谢。

许可证

MIT许可证.