(MasterCard Virtual Payment Client) переносит интеграцию php

1

Я пытаюсь внедрить шлюз migs из банка Axis, чтобы принимать онлайн-платежи, но я сталкиваюсь с проблемами при работе с веб-сайтом на PHP.

Я прочитал много руководств по Google и, наконец, нашел решение, которое по крайней мере выводит меня на страницу Master Card, но я получаю сообщение об ошибке на странице Landing of MIGS gateway. Ошибка ниже Pic:

Изображение 174551

Используемая интеграция 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;
  • 0
    @Akhilraj Ахилрадж Н.С. .. можешь сказать мне причину, пожалуйста? Я следил за вашим ответом здесь http://stackoverflow.com/questions/8033497/migs-mastercard-virtual-payment-client-integration-php
  • 0
    это решено @gags
Теги:
payment-gateway

3 ответа

1

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

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

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

  • 0
    это, очевидно, допустимый URL ... как localhost может быть недействительным URL, даже если он не существует в Интернете
  • 0
    @Gags - htps не является действующим протоколом.
Показать ещё 2 комментария
0

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

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

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

0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню