(Клиент виртуальных платежей MasterCard) переносит интеграцию php

Я пытаюсь внедрить шлюз 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; 

Solutions Collecting From Web of "(Клиент виртуальных платежей MasterCard) переносит интеграцию php"

Похоже, что платежный шлюз проверяет возвращаемый URL-адрес, который вы отправляете на действительность.

  "vpc_ReturnURL" => "htps://localhost/test/success.php" 

Если вы предоставляете действительный URL с общедоступным доступом, эта ошибка должна быть разрешена.

Попробуйте отсортировать массив $paymentdata (по возрастанию на $ keys). Затем передайте этот отсортированный массив для создания HASH. И помните, что vpc_MerchTxnRef уникален.

В отличие от этого, ваш код выглядит нормально.

попробуйте удалить urlencode() :

 if ($str == 0) { $actionurl .= $key . '=' . $value; $str = 1; } else { $actionurl .= '&' . $key . "=" . $value; } 

Когда я пытался перейти на SHA256 , urlencode() действительно вызвал ошибку 400.