PHP : Function Reference : Cybercash Payment Functions : cybercash_decr
scott
assuming that you have a function called "read_value_pairs" which will convert a urlencoded string into an array of values .. this should more-or-less work:
$vars = read_value_pairs($response_from_http_form_post);
$vars["message"] = cybercash_base64_decode($vars["message"]);
$vars["mac"] = cybercash_base64_decode($vars["mac"]);
$decr = cybercash_decr($merchant_key, $vars["session-key"], $vars["message"]);
if($decr["errcode"]) {
$response["MStatus"]="failure-hard";
$response["MErrMsg"]="error talking to server.";
} else if($decr["macbuff"] != $vars["mac"]) {
$response["MStatus"]="failure-hard";
$response["MErrMsg"]="signature does not match.";
} else {
$response = read_value_pairs($decr["outbuff"]);
}
|
|