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.
96 lines
4.0 KiB
96 lines
4.0 KiB
<?php
|
|
|
|
class Twocheckout_Sale extends Twocheckout
|
|
{
|
|
|
|
public static function retrieve($params=array())
|
|
{
|
|
$request = new Twocheckout_Api_Requester();
|
|
if(array_key_exists("sale_id",$params) || array_key_exists("invoice_id",$params)) {
|
|
$urlSuffix = '/api/sales/detail_sale';
|
|
} else {
|
|
$urlSuffix = '/api/sales/list_sales';
|
|
}
|
|
$result = $request->doCall($urlSuffix, $params);
|
|
return Twocheckout_Util::returnResponse($result);
|
|
}
|
|
|
|
public static function refund($params=array()) {
|
|
$request = new Twocheckout_Api_Requester();
|
|
if(array_key_exists("lineitem_id",$params)) {
|
|
$urlSuffix ='/api/sales/refund_lineitem';
|
|
$result = $request->doCall($urlSuffix, $params);
|
|
} elseif(array_key_exists("invoice_id",$params) || array_key_exists("sale_id",$params)) {
|
|
$urlSuffix ='/api/sales/refund_invoice';
|
|
$result = $request->doCall($urlSuffix, $params);
|
|
} else {
|
|
$result = Twocheckout_Message::message('Error', 'You must pass a sale_id, invoice_id or lineitem_id to use this method.');
|
|
}
|
|
return Twocheckout_Util::returnResponse($result);
|
|
}
|
|
|
|
public static function stop($params=array()) {
|
|
$request = new Twocheckout_Api_Requester();
|
|
$urlSuffix ='/api/sales/stop_lineitem_recurring';
|
|
if(array_key_exists("lineitem_id",$params)) {
|
|
$result = $request->doCall($urlSuffix, $params);
|
|
} elseif(array_key_exists("sale_id",$params)) {
|
|
$result = Twocheckout_Sale::retrieve($params);
|
|
if (!is_array($result)) {
|
|
$result = Twocheckout_Util::returnResponse($result, 'array');
|
|
}
|
|
$lineitemData = Twocheckout_Util::getRecurringLineitems($result);
|
|
if (isset($lineitemData[0])) {
|
|
$stoppedLineitems = array();
|
|
foreach( $lineitemData as $value )
|
|
{
|
|
$params = array('lineitem_id' => $value);
|
|
$result = $request->doCall($urlSuffix, $params);
|
|
$result = json_decode($result, true);
|
|
if ($result['response_code'] == "OK") {
|
|
$stoppedLineitems[] = $value;
|
|
}
|
|
}
|
|
$result = Twocheckout_Message::message('OK', $stoppedLineitems);
|
|
} else {
|
|
throw new Twocheckout_Error("No recurring lineitems to stop.");
|
|
}
|
|
} else {
|
|
throw new Twocheckout_Error('You must pass a sale_id or lineitem_id to use this method.');
|
|
}
|
|
return Twocheckout_Util::returnResponse($result);
|
|
}
|
|
|
|
public static function active($params=array()) {
|
|
if(array_key_exists("sale_id",$params)) {
|
|
$result = Twocheckout_Sale::retrieve($params);
|
|
if (!is_array($result)) {
|
|
$result = Twocheckout_Util::returnResponse($result, 'array');
|
|
}
|
|
$lineitemData = Twocheckout_Util::getRecurringLineitems($result);
|
|
if (isset($lineitemData[0])) {
|
|
$result = Twocheckout_Message::message('OK', $lineitemData);
|
|
return Twocheckout_Util::returnResponse($result);
|
|
} else {
|
|
throw new Twocheckout_Error("No active recurring lineitems.");
|
|
}
|
|
} else {
|
|
throw new Twocheckout_Error("You must pass a sale_id to use this method.");
|
|
}
|
|
}
|
|
|
|
public static function comment($params=array()) {
|
|
$request = new Twocheckout_Api_Requester();
|
|
$urlSuffix ='/api/sales/create_comment';
|
|
$result = $request->doCall($urlSuffix, $params);
|
|
return Twocheckout_Util::returnResponse($result);
|
|
}
|
|
|
|
public static function ship($params=array()) {
|
|
$request = new Twocheckout_Api_Requester();
|
|
$urlSuffix ='/api/sales/mark_shipped';
|
|
$result = $request->doCall($urlSuffix, $params);
|
|
return Twocheckout_Util::returnResponse($result);
|
|
}
|
|
|
|
}
|
|
|