PHP code example of splitit / sdk

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

    

splitit / sdk example snippets



SplititSdkClient\Configuration;
use SplititSdkClient\ObjectSerializer;
use SplititSdkClient\Api\LoginApi;
use SplititSdkClient\Api\InstallmentPlanApi;
use SplititSdkClient\Model\LoginRequest;
use SplititSdkClient\Model\PlanData;
use SplititSdkClient\Model\ConsumerData;
use SplititSdkClient\Model\RequestHeader;
use SplititSdkClient\Model\AddressData;
use SplititSdkClient\Model\PlanApprovalEvidence;
use SplititSdkClient\Model\CardData;
use SplititSdkClient\Model\MoneyWithCurrencyCode;
use SplititSdkClient\Model\InitiateInstallmentPlanRequest;
use SplititSdkClient\Model\CreateInstallmentPlanRequest;

Configuration::sandbox()->setApiKey('_YOUR_SANDBOX_API_KEY_');
Configuration::production()->setApiKey('_YOUR_PRODUCTION_API_KEY_');

# Using the sandbox environment. Use Configuration::production() for production or omit the parameter.
$loginApi = new LoginApi(Configuration::sandbox());

try{
    $request = new LoginRequest();
    
    # Replace with your login information
    $request->setUserName('_YOUR_USERNAME_');
    $request->setPassword('_YOUR_PASSWORD_');
    $loginResponse = $loginApi->loginPost($request);
    
    $session_id = $loginResponse->getSessionId();
    
    # Use Configuration::production() for production API
    $installmentPlanApi = new InstallmentPlanApi(
        Configuration::sandbox(),
        $session_id
    );

    //$installmentPlanApi->setCulture('de-DE'); -> optionally set culture to be used in subsequent calls to this API.
    
    $initiateRequest = new InitiateInstallmentPlanRequest();
    
    $plan_data = new PlanData();
    $plan_data->setNumberOfInstallments(3);
    $plan_data->setAmount(new MoneyWithCurrencyCode(array("value" => 1000, "currency_code" => "USD")));
    
    $billing_address = new AddressData(array(
        "address_line" => "260 Madison avenue",
        "address_line2" => "Apt. 1",
        "city" => "New York",
        "country" => "USA",
        "zip" => "10016"
    ));
    
    $consumer_data = new ConsumerData(array(
        "full_name" => "John Smith",
        "email" => "[email protected]",
        "phone_number" => "4343-555-45",
        "culture_name" => "en-us",
        "is_locked" => false,
        "is_data_restricted" => false,
    ));
    
    $initiateRequest->setPlanData($plan_data);
    $initiateRequest->setBillingAddress($billing_address);
    $initiateRequest->setConsumerData($consumer_data);
    
    $initResponse = $installmentPlanApi->installmentPlanInitiate($initiateRequest);

    echo "Calling /Initiate...\r\n";
    echo $initResponse->getResponseHeader();

    $createRequest = new CreateInstallmentPlanRequest();
    $createRequest->setCreditCardDetails(new CardData(array(
        'card_number' => "411111111111111",
        'card_cvv' => "123",
        'card_holder_full_name' => "John Smith",
        'card_exp_month' => "12",
        'card_exp_year' => "2022"
    )));
    $createRequest->setInstallmentPlanNumber($initResponse->getInstallmentPlan()->getInstallmentPlanNumber());
    $createRequest->setPlanApprovalEvidence(new PlanApprovalEvidence(array(
        "are_terms_and_conditions_approved" => true
    )));

    $createResponse = $installmentPlanApi->installmentPlanCreate($createRequest);

    echo "Calling /Create...\r\n";
    echo $createResponse->getResponseHeader();

} catch(Exception $e){
    echo "Exception has ocurred:\r\n";
    echo $e;
    echo "\r\n**********************\r\n";
}



use SplititSdkClient\Configuration;
use SplititSdkClient\ObjectSerializer;
use SplititSdkClient\FlexFields;

Configuration::sandbox()->setApiKey('_YOUR_SANDBOX_API_KEY_');
Configuration::production()->setApiKey('_YOUR_PRODUCTION_API_KEY_');

try{
    $ff = FlexFields::authenticate(Configuration::sandbox(), 'YOUR_USERNAME', 'YOUR_PASSWORD');
    $publicToken = $ff->getPublicToken(1000, "USD");

    echo $publicToken;
} catch(Exception $e){
    ...
}



use SplititSdkClient\Configuration;
use SplititSdkClient\ObjectSerializer;
use SplititSdkClient\FlexFields;

Configuration::sandbox()->setApiKey('_YOUR_SANDBOX_API_KEY_');
Configuration::production()->setApiKey('_YOUR_PRODUCTION_API_KEY_');

try{
    $ff = FlexFields::authenticate(Configuration::sandbox(), 'YOUR_USERNAME', 'YOUR_PASSWORD');
    $verifyPaymentResponse = $ff->verifyPayment($installmentPlanNumber, 1000);

    if ($verifyPaymentResponse) 
    {
        # all good
    }
    else
    {
        # error
    }
} catch(Exception $e){
    ...
}