Я пытаюсь внедрить шлюз migs из банка Axis, чтобы принимать онлайн-платежи, но я сталкиваюсь с проблемами при работе с веб-сайтом на PHP.
Я прочитал много руководств по Google и, наконец, нашел решение, которое по крайней мере выводит меня на страницу Master Card, но я получаю сообщение об ошибке на странице Landing
of MIGS gateway. Ошибка ниже Pic:
Используемая интеграция migs
$SECURE_SECRET = "****************"; //value from migs payment gateway
$accessCode = "********";//value from migs payment gateway
$merchantId = "********";//value from migs payment gateway
$unique_id = rand(8888888,999999);
$paymentdata = array(
"vpc_AccessCode" => $accessCode,
"vpc_Amount" => ("100"),
"vpc_Command" => 'pay',
"vpc_Locale" => 'en',
"vpc_MerchTxnRef" => "ODID".$unique_id,
"vpc_Merchant" => $merchantId,
"vpc_OrderInfo" => "Some Comment",
"vpc_ReturnURL" => "htps://localhost/test/success.php",
"vpc_Version" => '1'
);
ksort($paymentdata);
$actionurl = 'https://migs.mastercard.com.au/vpcpay?';
$HashData = $SECURE_SECRET;
$str = 0;
foreach ($paymentdata as $key => $value) {
// create the md5 input and URL
if (strlen($value) > 0) {
if ($str == 0) {
$actionurl .= urlencode($key) . '=' . urlencode($value);
$str = 1;
} else {
$actionurl .= '&' . urlencode($key) . "=" . urlencode($value);
}
$HashData .= $value;
}
}
if (strlen($SECURE_SECRET) > 0){$actionurl .= "&vpc_SecureHash=" .
strtoupper(md5($HashData));}
//header("Location: " . $actionurl);
echo $actionurl;
Похоже, что платежный шлюз проверяет возвращаемый URL-адрес, который вы отправляете на действительность.
"vpc_ReturnURL" => "htps://localhost/test/success.php"
Если вы предоставляете действительный URL с общедоступным доступом, эта ошибка должна быть разрешена.
htps
не является действующим протоколом.
попробуйте удалить urlencode()
:
if ($str == 0) {
$actionurl .= $key . '=' . $value;
$str = 1;
} else {
$actionurl .= '&' . $key . "=" . $value;
}
Когда я пытался перейти на SHA256
, urlencode()
действительно вызвал ошибку 400.
Попробуйте отсортировать массив $paymentdata
(по возрастанию на $ keys). Затем передайте этот отсортированный массив для создания HASH. И помните, что vpc_MerchTxnRef
уникален.
В отличие от этого, ваш код выглядит нормально.
http://stackoverflow.com/questions/8033497/migs-mastercard-virtual-payment-client-integration-php