PHP code example of fiberpay / fiberpay-php

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

    

fiberpay / fiberpay-php example snippets



FiberPay\FiberPayClient;

// Środowisko produkcyjne
$client = new FiberPayClient('TWÓJ_API_KEY', 'TWÓJ_API_SECRET');

// Środowisko testowe
$clientTest = new FiberPayClient('TWÓJ_API_KEY', 'TWÓJ_API_SECRET', true);

// Utworzenie nowego zamówienia split
$response = $client->createSplit('PLN', 'metadata_opcjonalna');
$splitOrder = json_decode($response, true);
$orderCode = $splitOrder['code'];

// Dodanie pierwszego odbiorcy
$response = $client->addSplitItem(
    $orderCode,
    'Jan Kowalski',
    'PL61109010140000071219812874',
    'Płatność za usługę A',
    1500.00,
    'PLN',
    'https://example.com/callback',
    ['orderId' => '12345'],
    'metadata_pozycji'
);

// Dodanie drugiego odbiorcy
$response = $client->addSplitItem(
    $orderCode,
    'Anna Nowak',
    'PL27114020040000300201355387',
    'Płatność za usługę B',
    500.00,
    'PLN'
);

// Zakończenie definiowania podziału
$response = $client->endDefinitionOfSplit($orderCode);

// Pobranie szczegółów zamówienia split
$response = $client->getSplit($orderCode);
$splitDetails = json_decode($response, true);

// Pobranie szczegółów konkretnej pozycji
$response = $client->getSplitItem($orderItemCode);
$itemDetails = json_decode($response, true);

// Utworzenie nowej kolekcji płatności
$response = $client->createCollect(
    'Firma XYZ Sp. z o.o.',
    'PL61109010140000071219812874',
    'PLN',
    'metadata_kolekcji'
);
$collectOrder = json_decode($response, true);
$orderCode = $collectOrder['code'];

// Dodanie pozycji do zapłaty
$response = $client->addCollectItem(
    $orderCode,
    'Faktura FV/2024/001',
    2500.00,
    'PLN',
    'https://example.com/callback',
    ['invoiceId' => 'FV/2024/001'],
    'metadata_pozycji',
    'https://example.com/success'
);
$item = json_decode($response, true);
$paymentUrl = $item['paymentUrl']; // Link do płatności dla klienta

// Pobranie informacji o kolekcji
$response = $client->getCollectOrderInfo($orderCode);

// Pobranie informacji o pozycji
$response = $client->getCollectOrderItemInfo($orderItemCode);

// Usunięcie pozycji z kolekcji
$response = $client->deleteCollectOrderItem($orderItemCode);

$response = $client->createDirect(
    'Sklep ABC',
    'PL61109010140000071219812874',
    'Zamówienie #12345',
    999.99,
    'PLN',
    'https://example.com/callback',
    ['orderId' => '12345'],
    'metadata_platnosci'
);
$directOrder = json_decode($response, true);
$orderCode = $directOrder['code'];

// Pobranie szczegółów płatności
$response = $client->getDirectOrderInfo($orderCode);

// Anulowanie płatności
$response = $client->deleteDirectOrder($orderCode);

$response = $client->createForward(
    'Odbiorca końcowy',              // targetName
    'PL61109010140000071219812874',  // targetIban
    'Broker Płatności Sp. z o.o.',   // brokerName
    'PL27114020040000300201355387',  // brokerIban
    'Przekazanie płatności',         // description
    1000.00,                         // sourceAmount
    950.00,                          // targetAmount (po potrąceniu prowizji)
    'PLN',
    'https://example.com/callback',
    ['transactionId' => 'TRX123'],
    'metadata',
    'https://example.com/redirect',
    'Informacja przed płatnością',
    'Informacja po płatności'
);

// Pobranie informacji o przekazaniu
$response = $client->getForwardOrderInfo($orderCode);

// Pobranie listy wszystkich rozliczeń
$response = $client->getSettlements();
$settlements = json_decode($response, true);

// Pobranie szczegółów konkretnego rozliczenia
$response = $client->getSettlement($settlementCode);
$settlementDetails = json_decode($response, true);

try {
    $response = $client->createDirect(...);
    $order = json_decode($response, true);
    
    if (isset($order['error'])) {
        // Obsługa błędu aplikacji
        echo "Błąd: " . $order['error']['message'];
    } else {
        // Sukces
        echo "Utworzono zamówienie: " . $order['code'];
    }
} catch (\Exception $e) {
    // Obsługa błędu serwera
    echo "Błąd serwera: " . $e->getMessage();
}
bash
composer