Exemplo n.º 1
0
function sagepayrepeats_capture($params)
{
    if ($protxsimmode) {
        $url = "https://test.sagepay.com/simulator/VSPDirectGateway.asp";
    } else {
        if ($params['testmode']) {
            $url = "https://test.sagepay.com/gateway/service/repeat.vsp";
        } else {
            $url = "https://live.sagepay.com/gateway/service/repeat.vsp";
        }
    }
    $gatewayid = $params['gatewayid'];
    if (!$gatewayid) {
        return array("status" => "No Repeat Details Stored", "rawdata" => "");
    }
    $gatewayid = explode(",", $gatewayid);
    if (count($gatewayid) != 4) {
        update_query("tblclients", array("gatewayid" => "", "cardnum" => ""), array("id" => $params['clientdetails']['userid']));
        return array("status" => "Incomplete Remote Token", "rawdata" => implode(",", $gatewayid));
    }
    $fields = array();
    $fields['VPSProtocol'] = "2.23";
    $fields['TxType'] = "REPEAT";
    $fields['Vendor'] = $params['vendorid'];
    $fields['VendorTxCode'] = date("YmdHis") . $params['invoiceid'];
    $fields['Amount'] = $params['amount'];
    $fields['Currency'] = $params['currency'];
    $fields['Description'] = $params['companyname'] . " - Invoice #" . $params['invoiceid'];
    $fields['RelatedVPSTxId'] = $gatewayid[1];
    $fields['RelatedVendorTxCode'] = $gatewayid[0];
    $fields['RelatedSecurityKey'] = $gatewayid[2];
    $fields['RelatedTxAuthNo'] = $gatewayid[3];
    $poststring = sagepayrepeats_formatData($fields);
    $output = sagepayrepeats_requestPost($url, $poststring);
    if ($output['Status'] == "OK") {
        return array("status" => "success", "transid" => $output['VPSTxId'], "rawdata" => $output);
    }
    return array("status" => $output['Status'], "rawdata" => $output);
}
Exemplo n.º 2
0
$whmcs->load_function("invoice");
$GATEWAY = getGatewayVariables("sagepayrepeats");
if (!$GATEWAY['type']) {
    exit("Module Not Activated");
}
if ($protxsimmode) {
    $url = "https://test.sagepay.com/simulator/VSPDirectCallback.asp";
} else {
    if ($GATEWAY['testmode']) {
        $url = "https://test.sagepay.com/gateway/service/direct3dcallback.vsp";
    } else {
        $url = "https://live.sagepay.com/gateway/service/direct3dcallback.vsp";
    }
}
$data = "PaRes=" . urlencode($_POST['PaRes']) . "&MD=" . $_POST['MD'];
$data = sagepayrepeats_formatData($_POST);
$response = sagepayrepeats_requestPost($url, $data);
$baseStatus = $response['Status'];
$transdump = "";
foreach ($response as $key => $value) {
    $transdump .= "" . $key . " => " . $value . "\r\n";
}
$invoiceid = $_REQUEST['invoiceid'];
if (!$invoiceid && isset($_SESSION['sagepayrepeatsinvoiceid'])) {
    $invoiceid = $_SESSION['sagepayrepeatsinvoiceid'];
}
$invoiceid = checkCbInvoiceID($invoiceid, "SagePay Repeats 3DAuth");
$userid = get_query_val("tblinvoices", "userid", array("id" => $invoiceid));
$gatewayid = get_query_val("tblclients", "gatewayid", array("id" => $userid));
$callbacksuccess = false;
switch ($response['Status']) {