2017 © Pedro Peláez
 

library freshbooks-php

Freshbook-php package

image

isinlor/freshbooks-php

Freshbook-php package

  • Thursday, February 5, 2015
  • by Isinlor
  • Repository
  • 1 Watchers
  • 1 Stars
  • 16 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

freshbooks-php

Freshbooks PHP Library (forked from: https://code.google.com/p/freshbooks-php-library/), (*1)

Credit to Milan Rukavina (rukavinamilan@gmail.com) for developing the original library at the above URL., (*2)

Warning

Please note that the library from which this is forked has not been updated or maintained since May 2011. It has A LOT of bugs. It works for some basic tasks well (sending invoices, triggering payments via a payment gateway) but there are lot of "basic" functions that are broken (grabbing invoice details by invoice #, updating invoices as sent, etc.), (*3)

This library is only for the brave of heart and for those interested in helping fix up an outdated Freshbooks PHP library., (*4)

Initiation

To initialize the library, include an initiation block like below., (*5)

// Include particular file(s) for entity you need (Client, Invoice, Category…)
include_once "library/FreshBooks/Client.php";

// Your API url and token obtained from Freshbooks.com
$url = "your-url-please-replace";
$token = "your-token-please-replace";

// Cnit singleton FreshBooks_HttpClient
FreshBooks_HttpClient::init($url,$token);

Get Client Data

// New Client object
$client = new FreshBooks_Client();

// Try to get client with client_id 3
if (!$client->get(3)){
    // No data – read error
    echo $client->lastError;
}
else {
    // Investigate populated data
    print_r($client);
}

New Client

// new Client object
$client = new FreshBooks_Client();

//populate client’s properties
$client->email = ‘test@test.com’;
$client->firstName = ‘Chad’;
$client->lastName = ‘Smith’;

//all other required properties should be populated

//try to create new client with provided data on FB server
if(!$client->create()){
    //read error
    echo $client->lastError;
}
else {
    //investigate populated data
    print_r($client);
}

Lookup Invoice By InvoiceID #00000324301

$invoice = new Freshbooks_Invoice();

$invoice->get('00000324301')
    or die("Unable to get Invoice: " . $invoice->lastError);

print_r($invoice);

Lookup Invoice(s) for Client #17992

$invoice = new Freshbooks_Invoice();

$invoice->listing($rows, $resultInfo, 1, 3, array('clientId' => 17992,
                                              'status' => '',
                                              'dateTo' => '',
                                              'dateFrom' => '',
                                              'recurringId' => ''))
    or die("Unable to grab Invoice listing: " . $invoice->lastError);

if ($invoice) {
    print_r($rows);
    print_r($resultInfo);
}

Mark Invoice As Paid

$payment = new Freshbooks_Payment();

$payment->invoiceId = '00000324300';

// To mark payment as 'PAID', this amount must be the full amount outstanding on the invoice
$payment->amount    = '2.44';

$payment->type      = 'Bank Transfer';

$payment->create()
    or die("Unable to mark Invoice as paid: " . $payment->lastError);

// Note: this will automatically send the client a payment notification e-mail
// letting them know that their invoice has been paid.

The Versions

05/02 2015

dev-master

9999999-dev

Freshbook-php package

  Sources   Download

by Avatar Isinlor

05/02 2015

v1.0

1.0.0.0

Freshbook-php package

  Sources   Download

by Avatar Isinlor