PHP code example of elpandape / quipu-laravel

1. Go to this page and download the library: Download elpandape/quipu-laravel 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/ */

    

elpandape / quipu-laravel example snippets


use ElPandaPe\QuipuLaravel\Facades\Quipu;

$result = Quipu::emit($invoice);   // construye, firma y reporta a SUNAT

if ($result->cdr->isAccepted()) {
    // aceptado
}

use ElPandaPe\QuipuLaravel\Dispatching\DocumentDispatcher;

$record = app(DocumentDispatcher::class)->dispatch($invoice);
// $record->state === State::Accepted | Observed | Rejected

$invoice = Quipu::invoice($client)
    ->addLine('P001', 'Servicio de consultoría', quantity: 1, unitValue: 1000.00)
    ->build();

Quipu::emit($invoice);

use ElPandaPe\QuipuLaravel\Tenancy\HasQuipuEmitter;
use ElPandaPe\QuipuLaravel\Tenancy\ProvidesQuipuEmitter;

class Tenant extends BaseTenant implements ProvidesQuipuEmitter
{
    use HasQuipuEmitter;   // deriva el emisor de las columnas quipu_* del tenant
}

use ElPandaPe\QuipuLaravel\Facades\Quipu;

Quipu::forTenant($tenantKey, fn () => Quipu::emit($invoice));

use ElPandaPe\QuipuLaravel\Facades\Quipu;

Quipu::fake();

// ... el código de tu app emite un comprobante ...
Quipu::emit($invoice);

Quipu::assertSent();                 // se envió al menos un comprobante
Quipu::assertSentCount(1);           // exactamente uno
Quipu::assertSent(fn($signed) => str_contains($signed->xml, 'F001'));
Quipu::assertNothingSent();          // no se envió nada

Quipu::fake()->rejectsEverything('2335');       // todo se rechaza
Quipu::fake()->observesEverything(['...']);      // aceptado con observaciones
Quipu::fake()->acceptsEverything();              // aceptado (por defecto)

use ElPandaPe\QuipuPro\Testing\CdrAsserter;

CdrAsserter::for(Quipu::emit($invoice))->isAccepted();
bash
php artisan vendor:publish --tag=quipu-config
bash
php artisan vendor:publish --tag=quipu-migrations
php artisan migrate