PHP code example of toopago / payu

1. Go to this page and download the library: Download toopago/payu library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

toopago / payu example snippets




namespace App\Http\Controllers;

use TooPago\Payu\LaravelPayU;

class PaymentsController extends Controller
{
    LaravelPayU::doPing(function($response) {
        $code = $response->code;
        // ... revisar el codigo de respuesta
    }, function($error) {
     // ... Manejo de errores PayUException
    });




namespace App;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use TooPago\Payu\Payments;

class MyController extends Controller
{

    public function createChargeCard()
    {
        //PAYER_NAME: APPROVED||PENDING||REJECTED
        //PAYMENT_METHOD : VISA||MASTERCARD||AMEX
        //CREDIT_CARD_EXPIRATION_DATE : YYYY/MM
        //INSTALLMENTS_NUMBER : 1
        $sendData = [
            'REFERENCE_CODE' => 'referencia_' . uniqid(),
            'DESCRIPTION' => 'Deposito de $100',
            'VALUE' => 100,
            'BUYER_NAME' => 'Juan Lopez',
            'PAYER_NAME' => 'PENDING',
            'CREDIT_CARD_NUMBER' => '5491234534511478',
            'CREDIT_CARD_EXPIRATION_DATE' => '2023/05',
            'CREDIT_CARD_SECURITY_CODE' => '897',
            'PAYMENT_METHOD' => 'MASTERCARD',
            'INSTALLMENTS_NUMBER' => '1',
            'CURRENCY' => 'MXN',
            'COUNTRY' => 'MX',
        ];
        $Payu = new Payments();
        $Payu->CreatePaymentCash($sendData , function($response) {
            //**Respuesta Exitosa pero Pendiente**
            //$response->state
            //$response->orderId
            //$response->transactionId
            
            //**Respuesta Exitosa**
            //$response->state
            //$response->orderId
            //$response->transactionId
            //$response->trazabilityCode
            //$response->authorizationCode
        }, function($error) {
            //**Respuesta Erronea**
            //$error->state
            //$error->message
            //$error->responseCode //Opcional
            //$error->responseMessage //Opcional
        });
    }
    
}




namespace App;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use TooPago\Payu\Payments;


class MyController extends Controller
{

    public function createChargeCash()
    {
        //PAYMENT_METHOD: OXXO||SEVEN_ELEVEN||OTHERS_CASH_MX
        $sendData = [
            'REFERENCE_CODE' => 'referencia_' . uniqid(),
            'DESCRIPTION' => 'Deposito de $100',
            'VALUE' => 100,
            'PAYMENT_METHOD' => 'OXXO',
            'BUYER_NAME' => 'Mi Nombre',
            'PAYER_NAME' => 'Mi Nombre',
            'CURRENCY' => 'MXN',
            'COUNTRY' => 'MX',
        ];
        $Payu = new Payments();
        $Payu->CreatePaymentCard($sendData , function($response) {
            //**Respuesta Exitosa pero Pendiente de Pago**
            //$response->state
            //$response->orderId
            //$response->transactionId
            //$response->EXPIRATION_DATE
            //$response->BAR_CODE
            //$response->REFERENCE
            //$response->URL_PAYMENT_RECEIPT_PDF
            //$response->URL_PAYMENT_RECEIPT_HTML
            //$response->PAYMENT_WAY_ID
            //$response->BANK_REFERENCED_CODE
        }, function($error) {
            //**Respuesta Erronea**
            //$error->message
        });
    }
    
}




namespace App;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use TooPago\Payu\Payments;


class MyController extends Controller
{

    public function tokenizarCard()
    {
        //PAYER_NAME: APPROVED||PENDING||REJECTED
        //PAYMENT_METHOD : VISA||MASTERCARD||AMEX
        //CREDIT_CARD_EXPIRATION_DATE : YYYY/MM
        $sendData = [
            'PAYER_NAME' => 'APPROVED',
            'PAYER_ID' => '1518', // id del usuario
            'CREDIT_CARD_NUMBER' => '5491234534511478',
            'CREDIT_CARD_EXPIRATION_DATE' => '2023/05',
            'PAYMENT_METHOD' => 'MASTERCARD',
        ];        
        $Payu = new Payments();
        $Payu->tokenizarCard($sendData , function($response) {
            //**Respuesta Exitosa**
            //$response->state
            //$response->creditCardTokenId
            //$response->paymentMethod
            //$response->maskedNumber
        }, function($error) {
            //**Respuesta Erronea**
            //$error->message
        });
    }
    
}




namespace App;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use TooPago\Payu\Payments;


class MyController extends Controller
{

    public function changeWithToken()
    {
        //PAYER_NAME: APPROVED||PENDING||REJECTED
        //PAYMENT_METHOD : VISA||MASTERCARD||AMEX
        //CREDIT_CARD_EXPIRATION_DATE : YYYY/MM
        //INSTALLMENTS_NUMBER : 1
        $sendData = [
            'REFERENCE_CODE' => 'referencia_' . uniqid(),
            'DESCRIPTION' => 'Deposito de $100',
            'VALUE' => 100,
            'BUYER_NAME' => 'Juan Lopez',
            'PAYER_NAME' => 'APPROVED',
            'TOKEN_ID' => '759497b1-ab49-4145-b652-0ad581a9f612', // id token tarjeta
            'PAYMENT_METHOD' => 'MASTERCARD',
            'INSTALLMENTS_NUMBER' => '1',
            'CURRENCY' => 'MXN',
            'COUNTRY' => 'MX',
        ];        
        $Payu = new Payments();
        $Payu->tokenizarCard($sendData , function($response) {
            //**Respuesta Exitosa**
            //$response->state
            //$response->orderId
            //$response->transactionId}
            
            //Si el estatus es pendiente
            //$response->pendingReason
            
            //Si el estatus es exitoso
            //$response->trazabilityCode // opcional
            //$response->authorizationCode // opcional
            //$response->responseMessage // opcional
            //$response->responseCode // opcional

        }, function($error) {
            //**Respuesta Erronea**
            //$error->message
        });
    }
    
}




namespace App;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use TooPago\Payu\Searchable;


class MyController extends Controller
{

    public function search()
    {
        $sendData = [
            'ORDER_ID' => 'xxxxx' //ID de la orden
        ];        
        $Payu = new Searchable();
        $Payu->searchById($sendData , function($response) {
            //**Respuesta Exitosa**
        }, function($error) {
            //**Respuesta Erronea**
            //$error->message
        });
    }
    
}




namespace App;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use TooPago\Payu\Searchable;


class MyController extends Controller
{

    public function search()
    {
        $sendData = [
            'REFERENCE_CODE' => 'xxxxx' //REFERENCE_CODE de la orden
        ];        
        $Payu = new Searchable();
        $Payu->searchByReference($sendData , function($response) {
            //**Respuesta Exitosa**
        }, function($error) {
            //**Respuesta Erronea**
            //$error->message
        });
    }
    
}




namespace App;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use TooPago\Payu\Searchable;


class MyController extends Controller
{

    public function search()
    {
        $sendData = [
            'TRANSACTION_ID' => 'xxxxx' //TRANSACTION_ID de la orden
        ];        
        $Payu = new Searchable();
        $Payu->searchByTransaction($sendData , function($response) {
            //**Respuesta Exitosa**
        }, function($error) {
            //**Respuesta Erronea**
            //$error->message
        });
    }
    
}

bash
php artisan vendor:publish