PHP code example of zsolt148 / szamlazzhu

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

    

zsolt148 / szamlazzhu example snippets


return [

    /**
     * Global disabled/enable function
     */
    'enabled' => env('SZAMLAZZ_HU_ENABLED', false),

    /**
     * Global discount disabled/enable function
     */
    'discount_enabled' => env('SZAMLAZZ_HU_DISCOUNT_ENABLED', false),

    /**
     * Send invoice/receipt notifications
     */
    'send_notifications' => env('SZAMLAZZ_HU_SEND_NOTIFICATIONS', true),

    /**
     * Create/cancel invoice/receipt routes
     */
    'route' => [
        'prefix' => 'szamlazzhu',
        'name' => 'szamlazzhu.',
        'middleware' => ['web'],
    ],

    /*
     * These merchant details will be used by default.
     * You can override these values.
     * */
    'merchant' => [
        'bank_name' => env('SZAMLAZZ_HU_MERCHANT_BANK_NAME'),
        'bank_account_number' => env('SZAMLAZZ_HU_MERCHANT_BANK_ACCOUNT_NUMBER'),
        'reply_email' => env('SZAMLAZZ_HU_MERCHANT_REPLY_EMAIL'),
    ],

    /*
     * Invoice/Receipt prefix
     */
    'prefix' => env('SZAMLAZZ_HU_PREFIX', 'PRE'),

    /*
     * API Client settings
     */
    'client' => [

        /*
         * Authentication credentials.
         * */
        'credentials' => [
            'api_key' => env('SZAMLAZZ_HU_API_KEY'),
            'username' => env('SZAMLAZZ_HU_USERNAME'),
            'password' => env('SZAMLAZZ_HU_PASSWORD'),
        ],

        /*
         * You can enable the certificate based communication.
         * You do not need to provide password if you'll use szamlazz.hu's own certificate
         * */
        'certificate' => [
            'enabled' => false,
            'disk' => 'local',
            'path' => 'szamlazzhu/cacert.pem', // Relative to disk root
        ],

        /*
         * HTTP request timeout (in seconds)
         */
        'timeout' => 30,

        /*
         * Base URI used to reach API
         * */
        'base_uri' => env('SZAMLAZZ_HU_BASE_URI', 'https://www.szamlazz.hu/'),

        /*
         * Client can automatically save / update invoice PDF files if enabled
         * */
        'storage' => [
            'auto_save' => true,
            'disk' => 'public',
            'path' => 'invoices',
        ],
    ],

// Access the invoice service
szamlazzhu()->invoice();
szamlazzhu('invoice');

// Access the receipt service
szamlazzhu()->receipt();
szamlazzhu('receipt');

// Create invoice/receipt - dispatches an event
szamlazzhu()->invoice()->create($invoiceable);
szamlazzhu()->receipt()->create($invoiceable);

// Create now
szamlazzhu()->invoice()->createNow($invoiceable);
szamlazzhu()->receipt()->createNow($invoiceable);

// Cancel invoice/receipt
szamlazzhu()->invoice()->cancel($invoice);
szamlazzhu()->receipt()->cancel($receipt);


use Zsolt148\Szamlazzhu\Facades\Szamlazzhu;

// Access the invoice service
Szamlazzhu::invoice();

// Access the receipt service
Szamlazzhu::receipt();

// Create invoice/receipt - dispatches an event
Szamlazzhu::invoice()->create($invoiceable);
Szamlazzhu::receipt()->create($invoiceable);

// Create now
Szamlazzhu::invoice()->createNow($invoiceable);
Szamlazzhu::receipt()->createNow($invoiceable);

// Cancel invoice/receipt
Szamlazzhu::invoice()->cancel($invoice);
Szamlazzhu::receipt()->cancel($receipt);

use Zsolt148\Szamlazzhu\Interfaces\Invoiceable;
use Zsolt148\Szamlazzhu\Traits\HasInvoices;

class Order implements Invoiceable 
{
    use HasInvoices;
    ...
}

use zoparga\SzamlazzHu\Contracts\ArrayableItem;

class OrderItem implements ArrayableItem
{
    ...
}
bash
php artisan vendor:publish --tag="szamlazzhu-migrations"
php artisan migrate
bash
php artisan vendor:publish --tag="szamlazzhu-config"