Ejemplo n.º 1
0
function psigate_refund($params)
{
    global $remote_ip;
    $psi = new PsiGatePayment();
    if ($params['testmode'] == "on") {
        $psi->setGatewayURL("https://dev.psigate.com:7989/Messenger/XMLMessenger");
    } else {
        $psi->setGatewayURL("https://secure.psigate.com:7934/Messenger/XMLMessenger");
    }
    $psi->setStoreID($params['storeid']);
    $psi->setPassPhrase($params['passphrase']);
    $psi->setOrderID($params['invoiceid']);
    $psi->setPaymentType("CC");
    $psi->setCardAction("3");
    $psi->setSubTotal($params['amount']);
    $psi_xml_error = !($psi->doPayment() == PSIGATE_TRANSACTION_OK);
    $desc = "Action => Refund\nClient => " . $params['clientdetails']['firstname'] . " " . $params['clientdetails']['lastname'] . "\n";
    $desc .= "Transaction Time => " . $psi->myResultTrxnTransTime . "\n";
    $desc .= "Order ID => " . $psi->myResultTrxnOrderID . "\n";
    $desc .= "Approved => " . $psi->myResultTrxnApproved . "\n";
    $desc .= "Return Code => " . $psi->myResultTrxnReturnCode . "\n";
    $desc .= "Error Message => " . $psi->myResultTrxnErrMsg . "\n";
    $desc .= "Total => " . $psi->myResultTrxnFullTotal . "\n";
    $desc .= "Payment Type => " . $psi->myResultTrxnPaymentType . "\n";
    $desc .= "Card Number => " . $psi->myResultTrxnCardNumber . "\n";
    $desc .= "Expiry Month => " . $psi->myResultTrxnCardExpMonth . "\n";
    $desc .= "Expiry Year => " . $psi->myResultTrxnCardExpYear . "\n";
    $desc .= "Reference Number => " . $psi->myResultTrxnTransRefNumber . "\n";
    $desc .= "IP Result => " . $psi->myResultTrxnIPResult . "\n";
    $desc .= "IP Country => " . $psi->myResultTrxnIPCountry . "\n";
    $desc .= "IP Region => " . $psi->myResultTrxnIPRegion . "\n";
    $desc .= "IP City => " . $psi->myResultTrxnIPCity . "\n";
    $desc .= "Error => " . $psi->myError . "\n";
    $desc .= "Error Message => " . $psi->myErrorMessage . "\n";
    if ($psi->myResultTrxnApproved == "APPROVED") {
        return array("status" => "success", "transid" => $psi->myResultTrxnTransRefNumber, "rawdata" => $desc);
    }
    if ($psi->myResultTrxnApproved == "DECLINED") {
        return array("status" => "declined", "rawdata" => $desc);
    }
    return array("status" => "error", "rawdata" => $desc);
}