EET v PHP

11.02.2017 Programování #php #eet

PHP knihovna pro implementaci EET do eshopu.


Instalace testovacího kódu

Nakopírovat přiložený obsah zip souboru na FTP a spustit přes URL v prohlížeči.

Vzorový kód

    <?php
    require_once __DIR__.'/vendor/autoload.php';
    define('Playground', __DIR__.'/vendor/voxcafe/php-eet/src/Schema/PlaygroundService.wsdl');
    define('Production', __DIR__.'/vendor/voxcafe/php-eet/src/Schema/ProductionService.wsdl');
    use VoxcafeEETDispatcher;
    use VoxcafeEETReceipt;
    use VoxcafeEETUtilsUUID;
    use VoxcafeEETCertificate;
    $certificate = new Certificate(__DIR__.'/EET_CA1_Playground-CZ00000019.p12', 'eet');
    $dispatcher = new Dispatcher(Playground, $certificate);
    $dispatcher->trace = true;
    $uuid = UUID::v4();
    $r = new Receipt;
    $r->uuid_zpravy = $uuid;
    $r->id_provoz = '11';
    $r->id_pokl = 'IP105';
    $r->dic_popl = 'CZ1212121218';
    $r->porad_cis = '2';
    $r->dat_trzby = new DateTime();
    $r->celk_trzba = 500;
    echo '<h2>---REQUEST---</h2>';
    echo "<pre>";
    try {
    $fik = $dispatcher->send($r);
    $codeBKP = $dispatcher->getBkpCode();
    $codePKP = $dispatcher->getPkpCode();
    $check = $dispatcher->check($r);                                            // overeni zda funguje spojeni s fin. zpravou
    echo sprintf('<b>Returned FIK code: %s</b><br />', $fik);
    echo sprintf('<b>Returned mess test net connect: %s</b><br />', $check);     // kod PHP se vygeneruje, pokud bude chybne inet pripojeni
    echo sprintf('<b>Returned PKP code: %s</b><br />', $codePKP);
    echo sprintf('<b>Returned BKP code: %s</b><br />', $codeBKP);
    } catch (VoxcafeEETExceptionsServerException $e) {
    var_dump($e); // See exception
    } catch (Exception $e) {
    var_dump($e); // Fatal error
    }
    echo sprintf('Request size: %d bytes | Response size: %d bytes | Response time: %f ms | Connection time: %f ms<br />', $dispatcher->getLastRequestSize(), $dispatcher->getLastResponseSize(), $dispatcher->getLastResponseTime(), $dispatcher->getConnectionTime()); // Size of transferred data

Download