<?php
/*
* Copyright (c) 2013, MasterCard International Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
* Neither the name of the MasterCard International Incorporated nor the names of its
* contributors may be used to endorse or promote products derived from this software
* without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
* SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
namespace App\Libraries\Combank\Simplify;
use App\Libraries\Combank\Simplify\Simplify_Object;
use App\Libraries\Combank\Simplify\Simplify_PaymentsApi;
class Simplify_Invoice extends Simplify_Object {
/**
* Retrieve Simplify_Invoice objects.
* @param array criteria a map of parameters; valid keys are:<dl style="padding-left:10px;">
* <dt><tt>filter</tt></dt> <dd>Filters to apply to the list. </dd>
* <dt><tt>max</tt></dt> <dd>Allows up to a max of 50 list items to return. <strong>default:20</strong></dd>
* <dt><tt>offset</tt></dt> <dd>Used in paging of the list. This is the start offset of the page. <strong>default:0</strong></dd>
* <dt><tt>sorting</tt></dt> <dd>Allows for ascending or descending sorting of the list. The value maps properties to the sort direction (either <tt>asc</tt> for ascending or <tt>desc</tt> for descending). Sortable properties are: <tt> id</tt><tt> invoiceDate</tt><tt> customer</tt><tt> amount</tt><tt> processedDate</tt>.</dd></dl>
* @param string publicKey Public key. If null, the value of static Simplify::$publicKey will be used
* @param string privateKey Private key. If null, the value of Simplify::$privateKey will be used
* @return ResourceList a ResourceList object that holds the list of Invoice objects and the total
* number of Invoice objects available for the given criteria.
* @see ResourceList
*/
static public function listInvoice($criteria = null, $publicKey = null, $privateKey = null) {
$val = new Simplify_Invoice();
$list = Simplify_PaymentsApi::listObject($val, $criteria, $publicKey, $privateKey);
return $list;
}
/**
* Retrieve a Simplify_Invoice object from the API
*
* @param string id the id of the Invoice object to retrieve
* @param string publicKey Public key. If null, the value of static Simplify::$publicKey will be used
* @param string privateKey Private key. If null, the value of Simplify::$privateKey will be used
* @return Invoice a Invoice object
*/
static public function findInvoice($id, $publicKey = null, $privateKey = null) {
$val = new Simplify_Invoice();
$val->id = $id;
$obj = Simplify_PaymentsApi::findObject($val, $publicKey, $privateKey);
return $obj;
}
/**
* Updates an Simplify_Invoice object.
*
* The properties that can be updated:
* <ul>
*
*
* <li>status <strong>(required)</strong></li>
* </ul>
* @param string publicKey Public key. If null, the value of static Simplify::$publicKey will be used
* @param string privateKey Private key. If null, the value of Simplify::$privateKey will be used
* @return Invoice a Invoice object.
*/
public function updateInvoice($publicKey = null, $privateKey = null) {
$object = Simplify_PaymentsApi::updateObject($this, $publicKey, $privateKey);
return $object;
}
/**
* @ignore
*/
public function getClazz() {
return "Invoice";
}
} |