<?php $path = '../lib'; set_include_path(get_include_path() . PATH_SEPARATOR . $path); require_once 'services/AdaptivePayments/AdaptivePaymentsService.php'; require_once 'PPLoggingManager.php'; $logger = new PPLoggingManager('CancelPreapproval'); // create request $requestEnvelope = new RequestEnvelope("en_US"); $cancelPreapprovalReq = new CancelPreapprovalRequest($requestEnvelope, $_POST['preapprovalKey']); $logger->log("Created CancelPreapprovalRequest Object"); $service = new AdaptivePaymentsService(); try { $response = $service->CancelPreapproval($cancelPreapprovalReq); $logger->error("Received CancelPreapprovalResponse:"); $ack = strtoupper($response->responseEnvelope->ack); } catch (Exception $ex) { throw new Exception('Error occurred in CancelPreapproval method'); } if ($ack != "SUCCESS") { echo "<b>Error </b>"; echo "<pre>"; print_r($response); echo "</pre>"; require_once 'Common/Response.php'; exit; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head>
function doCancelPreapproval($backing) { // $backing is projectbacking record extract($backing); $this->con->update("update projectbacking set payment_status='c' where backingId='" . $backingId . "'"); if (isset($paypalId) && !empty($paypalId) && $paypalid != 0) { $this->con->update("update paypaltransaction set status='CANCELLED' where paypalId='" . $paypalId . "'"); } $requestEnvelope = new RequestEnvelope("en_US"); $cancelPreapprovalReq = new CancelPreapprovalRequest($requestEnvelope, $preapproval_key); wrtlog("DEBUG cancelPreapprovalReq=" . print_r($cancelPreapprovalReq, true)); $service = new AdaptivePaymentsService(Configuration::getAcctAndConfig()); try { $response = $service->CancelPreapproval($cancelPreapprovalReq); $final_arr = array(); $preq = dismount($cancelPreapprovalReq); foreach ($preq as $K => $P) { $final_arr[addslashes($K)] = addslashes(is_array($P) ? json_encode($P) : $P); } if (is_object($response)) { $newarray = dismount($response); $response = $newarray; } foreach ($response as $K => $P) { $final_arr[addslashes($K)] = addslashes(is_array($P) ? json_encode($P) : $P); } $final_arr['url'] = get_url(); $this->con->insert("insert into preapproval_detail (detail) values ('" . mysql_real_escape_string(json_encode($final_arr)) . "')"); $cancel_detail_id = mysql_insert_id(); $this->con->update("update projectbacking set cancel_detail_id='" . $cancel_detail_id . "' where backingId='" . $backingId . "'"); wrtlog("DEBUG doCancelPreapproval response for project {$projectId} : " . print_r($response, true)); } catch (Exception $ex) { wrtlog("DEBUG doCancelPreapproval error: " . $ex->getMessage()); wrtlog("DEBUG doCancelPreapproval request: " . print_r($cancelPreapprovalReq, true)); require_once 'Common/Error.php'; /// THIS IS CALLED BY automatic_cron.php //// /// SO TBD IF WE SHOULD STOP IT //// exit; } }