Skip to content

saulmoralespa/wompi-api-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wompi API PHP SDK

Documentation Wompi

Installation

You will need at least PHP 8.1. We match officially supported versions of PHP.

Use composer package manager to install the lastest version of the package:

composer require saulmoralespa/wompi-api-php dev-main
// ... please, add composer autoloader first
include_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';

//import Client
use Saulmoralespa\Wompi\Client;

$keyPrivate = "your_keyprivate";
$keyPublic = "your_keypublic";
$keyIntegrety = "your_keyIntegrety";

//instance class Client

$wompi = new Client($keyPrivate, $keyPublic, $keyIntegrety);

//for sandbox
$wompi->sandbox();

Create card token

$data = [
    "number" => "4242424242424242",
    "exp_month" => "06",
    "exp_year" => "29",
    "cvc" => "123",
    "card_holder" => "Pedro Pérez"
];

try {
$response = $wompi->cardToken($data);
$token = $response[ 'data' ]['id'];
} catch(\Exception $exception) {

}

Create Nequi token

$data = [
    "phone_number" => "3178034732"
];

try {
$response = $wompi->nequiToken($data);
$token = $response[ 'data' ]['id'];
} catch(\Exception $exception) {

}

Create Daviplata token

$data = [
    "type_document" => "CC",
    "number_document" => "1122233",
    "product_number" => "3991111111"
];

try {
$response = $this->wompi->daviplataToken($data);
$token = $response[ 'data' ]['id'];
} catch(\Exception $exception) {

}

Create Bancolombia token

$data = [
    "type_document" => "CC",
    "number_document" => "1122233",
    "product_number" => "3991111111",
    "redirect_url" => "https://www.bancolombia.com",
    "type_auth" => "TOKEN" // or TRANSACTION
];

try {
$response = $this->wompi->bancolombiaToken($data);
$token = $response[ 'data' ]['id'];
} catch(\Exception $exception) {

}

Get Status Subscription Nequi

try {
$token = "";
$response = $this->wompi->getStatusSubscriptionNequi($token);
} catch (\Exception $exception) {

}

Get Status Subscription Daviplata

try {
$token = "";
$response = $this->wompi->getStatusSubscriptionDaviplata($token);
} catch (\Exception $exception) {

}

Get Status Subscription Bancolombia

try {
$token = "";
$response = $this->wompi->getStatusSubscriptionBancolombia($token);
} catch (\Exception $exception) {

}

Create Source Card

try {
$type = "CARD"; //NEQUI, CARD, DAVIPLATA, BANCOLOMBIA_TRANSFER
$token = "";
$acceptanceTokens = $this->wompi->getAcceptanceTokens();
$data = [
    "customer_email" => "testuser@domain.com",
    "type" => $type,
    "token" => $token,
    "payment_description" => "Descripción de la suscripción creada",
    "acceptance_token" => $acceptanceTokens[ 'data' ][ "presigned_acceptance" ][ "acceptance_token" ],
    "accept_personal_auth" => $acceptanceTokens[ 'data' ][ "presigned_personal_data_auth" ][ "acceptance_token" ]
];
$response = $this->wompi->createSource($data);
} catch (\Exception $exception) {

}

Create Transaction with Card

try {
$sourceId = 12344;
$data = [
    "amount_in_cents" => 4990000,
    "currency" => "COP",
    "customer_email" => "example@gmail.com",
    "payment_method" =>  [
        "installments" => 1
    ],
    "reference" => (string)time(),
    "payment_source_id" => $sourceId,
    "recurrent" => true // optional
];
$response = $this->wompi->transaction($data);
} catch (\Exception $exception) {

}

Create Transaction with Nequi

try {
$sourceId = 13345;
$data = [
    "amount_in_cents" => 6000000,
    "currency" => "COP",
    "customer_email" => "example@gmail.com",
    "reference" => (string)time(),
    "payment_source_id" => $sourceId
];

$response = $this->wompi->transaction($data);
} catch (\Exception $exception) {

}

Create Payment Link

try {
$data = [
    "name" => "Pago de arriendo edificio Lombardía - AP 505",
    "description" => "Arriendo mensual", // Descripción del pago
    "single_use" => false, // `false` current 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 current el checkout, o no
    "currency" => "COP",
    "amount_in_cents" => 500000
];
$response = $this->wompi->createPaymentLink($data);
} catch (\Exception $exception) {

}

Get Payment Link

try {
$id = "ID_PAYMENT_LINK";
$response = $this->wompi->getPaymentLink($id);
} catch (\Exception $exception) {

}

About

Wompi API PHP SDK

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages