PHP code example of kloutit / kloutit-sdk-php

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

    

kloutit / kloutit-sdk-php example snippets



// Require composer autoloader
tConfiguration;
use Kloutit\Api\KloutitLoginApi;
use Kloutit\Model\KloutitLoginBody;

$clientId = '22311cca-9951-42dd-bc9b-bd0574335b55';
$clientSecret = '6#.n3dcm-x4hc3Y0SrA/UR?DzggfM;';
$organizationId = '660055bca25e9c2da9b87944';

// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
$client = new GuzzleHttp\Client();

// Configure Login http basic authorization
$loginConfig = KloutitConfiguration::getDefaultConfiguration()
              ->setUsername($clientId)
              ->setPassword($clientSecret);

$kloutitLogin = new KloutitLoginApi(
    $client,
    $loginConfig
);
$kloutitLoginBody = new KloutitLoginBody([
    'grant_type' => 'client_credentials'
]);

$accessToken;
$expiresIn;
$expiresAt;

// Login
try {
    echo "Getting Kloutit access token for organization $organizationId\n";
    $loginResponse = $kloutitLogin->login($organizationId, $kloutitLoginBody);

    $accessToken = $loginResponse->getAccessToken();
    $expiresAt = $loginResponse->getExpiresAt();
    $expiresIn = $loginResponse->getExpiresIn();

    echo "Access token successfully retrieved!\n";
} catch (Exception $e) {
    echo "Error trying to login to Kloutit SDK.\n";
    throw new Exception($e->getMessage());
}


// Require composer autoloader
tConfiguration;
use Kloutit\Api\KloutitCaseApi;
use Kloutit\Model\KloutitCaseBody;
use Kloutit\KloutitChargebackReason;
use Kloutit\KloutitOrganizationType;
use Kloutit\Currencies;

// Configure Bearer (JWT) authorization: bearer
$caseConfig = KloutitConfiguration::getDefaultConfiguration()->setAccessToken($accessToken);

$kloutitCase = new KloutitCaseApi(
    $client,
    $caseConfig
);
$kloutitCaseBody = new KloutitCaseBody([
    'organization_id' => $organizationId,
    'organization_type' => KloutitOrganizationType::TECHNOLOGY,
    'expedient_number' => 'EXPPHP0001',
    'notification_date' => '2024-09-22T11:31:22.347Z',
    'deadline' => '2027-09-22T11:31:22.347Z',
    'dispute_amount' => [
        'currency' => Currencies::EUR,
        'value' => 10,
    ],
    'chargeback_reason' => KloutitChargebackReason::PRODUCT_SERVICE_NOT_RECEIVED,
    'transaction_date' => '2024-09-22T11:31:22.347Z',
    'pan_number' => 'PAN000001',
    'transaction_id' => 'TR0000001',
    'bank_name' => 'Sample bank',
    'is3_ds_purchase' => true,
    'purchase_date' => '2024-09-22T11:31:22.347Z',
    'purchase_amount' => [
        'currency' => Currencies::EUR,
        'value' => 10,
    ],

    'product' => 'Sample product', // Product OR service should be informed
    'service' => null, // Product OR service should be informed
    'is_charge_refundable' => true,
    'shipping_city' => 'Barcelona',
    'shipping_province' => 'Barcelona',
    'shipping_postal_code' => '08000',
    'shipping_date' => '2024-09-22T11:31:22.347Z',
    'delivery_company' => 'Sample company',
    'delivery_date' => '2024-09-22T11:31:22.347Z',
    'delivery_confirmation' => true,

    'customer_name' => 'PHP SDK sample',
    'customer_email' => '[email protected]',
    'contact_date' => '2024-09-22T11:31:22.347Z',
    'customer_phone' => '612345678',
    'additional_info' => 'Some optional additional info',
]);

try {
    $kloutitCase->createCase($kloutitCaseBody);
    echo "Case successfully created into Kloutit!\n";
} catch (Exception $e) {
    echo "Error trying to create case into Kloutit.\n";
    throw new Exception($e->getMessage());
}

composer