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); }
$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']) { case "OK":