Exemplo n.º 1
0
function CancelPreapproval($token)
{
    $CPRequest = new CancelPreapprovalRequest();
    $CPRequest->requestEnvelope = new RequestEnvelope();
    $CPRequest->requestEnvelope->errorLanguage = "en_US";
    $CPRequest->preapprovalKey = $token;
    $ap = new AdaptivePayments();
    $response = $ap->CancelPreapproval($CPRequest);
    if (strtoupper($ap->isSuccess) == 'FAILURE') {
        $FaultMsg = $ap->getLastError();
        echo "Transaction CancelPreapproval Failed: error Id: ";
        if (is_array($FaultMsg->error)) {
            echo $FaultMsg->error[0]->errorId . ", error message: " . $FaultMsg->error[0]->message;
        } else {
            echo $FaultMsg->error->errorId . ", error message: " . $FaultMsg->error->message;
        }
    } else {
        echo "CancelPreapproval Transaction Successful! \n";
    }
}
Exemplo n.º 2
0
 public static function cancelPreapproval($invest, &$errors = array(), $fail = false)
 {
     try {
         if (empty($invest->preapproval)) {
             $invest->cancel($fail);
             return true;
         }
         $CPRequest = new \CancelPreapprovalRequest();
         $CPRequest->requestEnvelope = new \RequestEnvelope();
         $CPRequest->requestEnvelope->errorLanguage = "es_ES";
         $CPRequest->preapprovalKey = $invest->preapproval;
         $ap = new \AdaptivePayments();
         $response = $ap->CancelPreapproval($CPRequest);
         if (strtoupper($ap->isSuccess) == 'FAILURE') {
             Invest::setDetail($invest->id, 'paypal-cancel-fail', 'Ha fallado al cancelar el preapproval. Proceso libary/paypal::cancelPreapproval');
             $errors[] = 'Preapproval cancel failed.' . $ap->getLastError();
             @mail(\GOTEO_FAIL_MAIL, 'Fallo al cancelar preapproval Paypal API', 'ERROR en ' . __FUNCTION__ . '<br /><pre>' . print_r($ap->getLastError(), 1) . '</pre>');
             return false;
         } else {
             Invest::setDetail($invest->id, 'paypal-cancel', 'El Preapproval se ha cancelado y con ello el aporte. Proceso libary/paypal::cancelPreapproval');
             $invest->cancel($fail);
             return true;
         }
     } catch (Exception $ex) {
         $fault = new \FaultMessage();
         $errorData = new \ErrorData();
         $errorData->errorId = $ex->getFile();
         $errorData->message = $ex->getMessage();
         $fault->error = $errorData;
         Invest::setDetail($invest->id, 'paypal-cancel-fail', 'Ha fallado al cancelar el preapproval. Proceso libary/paypal::cancelPreapproval');
         $errors[] = 'Error fatal en la comunicación con Paypal, se ha reportado la incidencia. Disculpe las molestias.';
         @mail(\GOTEO_FAIL_MAIL, 'Error fatal en comunicacion Paypal API', 'ERROR en ' . __FUNCTION__ . '<br /><pre>' . print_r($fault, 1) . '</pre>');
         return false;
     }
 }
require_once '../../../lib/Stub/AP/AdaptivePaymentsProxy.php';
session_start();
if (isset($_GET['cs'])) {
    $_SESSION['preapprovalKey'] = '';
}
try {
    $preapprovalKey = $_REQUEST["preapprovalKey"];
    if (empty($preapprovalKey)) {
        $preapprovalKey = $_SESSION['preapprovalKey'];
    }
    $CPRequest = new CancelPreapprovalRequest();
    $CPRequest->requestEnvelope = new RequestEnvelope();
    $CPRequest->requestEnvelope->errorLanguage = "en_US";
    $CPRequest->preapprovalKey = $preapprovalKey;
    $ap = new AdaptivePayments();
    $response = $ap->CancelPreapproval($CPRequest);
    /* Display the API response back to the browser.
    		   If the response from PayPal was a success, display the response parameters'
    		   If the response was an error, display the errors received using APIError.php.
    		*/
    if (strtoupper($ap->isSuccess) == 'FAILURE') {
        $_SESSION['FAULTMSG'] = $ap->getLastError();
        $location = "APIError.php";
        header("Location: {$location}");
    }
} catch (Exception $ex) {
    $fault = new FaultMessage();
    $errorData = new ErrorData();
    $errorData->errorId = $ex->getFile();
    $errorData->message = $ex->getMessage();
    $fault->error = $errorData;