You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.1 KiB
74 lines
2.1 KiB
<?php
|
|
|
|
class Twocheckout_Util extends Twocheckout
|
|
{
|
|
|
|
static function returnResponse($contents, $format=null) {
|
|
$format = $format == null ? Twocheckout::$format : $format;
|
|
switch ($format) {
|
|
case "array":
|
|
$response = self::objectToArray($contents);
|
|
self::checkError($response);
|
|
break;
|
|
case "force_json":
|
|
$response = self::objectToJson($contents);
|
|
break;
|
|
default:
|
|
$response = self::objectToArray($contents);
|
|
self::checkError($response);
|
|
$response = json_encode($contents);
|
|
$response = json_decode($response);
|
|
}
|
|
return $response;
|
|
}
|
|
|
|
public static function objectToArray($object)
|
|
{
|
|
$object = json_decode($object, true);
|
|
$array=array();
|
|
foreach($object as $member=>$data)
|
|
{
|
|
$array[$member]=$data;
|
|
}
|
|
return $array;
|
|
}
|
|
|
|
public static function objectToJson($object)
|
|
{
|
|
return json_encode($object);
|
|
}
|
|
|
|
public static function getRecurringLineitems($saleDetail) {
|
|
$i = 0;
|
|
$invoiceData = array();
|
|
|
|
while (isset($saleDetail['sale']['invoices'][$i])) {
|
|
$invoiceData[$i] = $saleDetail['sale']['invoices'][$i];
|
|
$i++;
|
|
}
|
|
|
|
$invoice = max($invoiceData);
|
|
$i = 0;
|
|
$lineitemData = array();
|
|
|
|
while (isset($invoice['lineitems'][$i])) {
|
|
if ($invoice['lineitems'][$i]['billing']['recurring_status'] == "active") {
|
|
$lineitemData[] = $invoice['lineitems'][$i]['billing']['lineitem_id'];
|
|
}
|
|
$i++;
|
|
};
|
|
|
|
return $lineitemData;
|
|
|
|
}
|
|
|
|
public static function checkError($contents)
|
|
{
|
|
if (isset($contents['errors'])) {
|
|
throw new Twocheckout_Error($contents['errors'][0]['message']);
|
|
} elseif (isset($contents['exception'])) {
|
|
throw new Twocheckout_Error($contents['exception']['errorMsg'], $contents['exception']['errorCode']);
|
|
}
|
|
}
|
|
|
|
}
|
|
|