Hello,
the bank informed us that we should migrate our payment gateway from Md5 to SHA256, could you please help us to do it? we are using the following code:
if ( !defined(‘AREA’) ) { die(‘Access denied’); }if (defined(‘PAYMENT_NOTIFICATION’)) {
$payment_id = db_get_field("SELECT payment_id FROM ?:orders WHERE order_id = ?i", $_REQUEST['order_id']); $processor_data = fn_get_payment_method_data($payment_id); switch ($_REQUEST['vpc_TxnResponseCode']) { case '0': $pp_response['order_status'] = 'P'; break; case 'C': $pp_response['order_status'] = 'C'; break; case '7': $pp_response['order_status'] = 'F'; break; default: $pp_response['order_status'] = 'D'; break; } $pp_response['reason_text'] = $_REQUEST['vpc_Message']; $pp_response['transaction_id'] = $_REQUEST['vpc_TransactionNo']; if (fn_check_payment_script('zienthbank.php', $_REQUEST['order_id'])) { fn_finish_payment($_REQUEST['order_id'], $pp_response, false); fn_order_placement_routines('route', $_REQUEST['order_id']); } exit;
} else {
$current_location = Registry::get(‘config.current_location’);
$total = $order_info[‘total’] * 100;$post['vpc_Version'] = '1'; $post['vpc_Command'] = 'pay'; $post['vpc_MerchTxnRef'] = $order_id; $post['vpc_AccessCode'] = $processor_data['processor_params']['accesscode']; $post['vpc_Merchant'] = $processor_data['processor_params']['merchant']; $post['vpc_OrderInfo'] = $order_id; $post['vpc_Amount'] = $total; $post['vpc_Locale'] = "en_EN"; $post['vpc_ReturnURL'] = "$current_location/$index_script?dispatch=payment_notification.finish&payment=zienthbank&order_id=$order_id"; ksort($post); $md5hash = $processor_data['processor_params']['securehashsecret']; foreach ($post as $k => $v) { $md5hash .= $v; } $post['vpc_SecureHash'] = strtoupper(md5($md5hash));
// MasterCard Payment Gateway
echo <<EOT; foreach ($post as $name => $value) {
echo “\n”;
}$msg = fn_get_lang_var(‘text_cc_processor_connection’);
$msg = str_replace(‘[processor]’, ‘migs.mastercard.com.au’, $msg);
echo <<
{$msg}EOT;}
exit;
?>