Я пытаюсь создать платежный шлюз с помощью nusoap и получаю сообщение об ошибке авторизации. Запрос отсутствует в WSDL. Этот код был отправлен мне службой поддержки Visanet Гватемала. Я часами пытался понять, что происходит или как это решить.
authorizationRequest - это имя действия, которое я должен вызвать.
Мой код выглядит так:
<code><?php
require_once('./libsoap/nusoap.php');
$url = "https://190.0.195.24:9443/paymentgw/services/paymentgw?wsdl";
$client = new nusoap_client($url , 'wsdl' , false, false, false, false, 0, 25);
$client->authtype = 'certificate';
$client->certRequest['sslcertfile'] = '/var/www/vhosts/VisaKeys/iga.pem'; //'[path]/cert-file.pem';
$client->certRequest['sslkeyfile'] = '/var/www/vhosts/VisaKeys/iga.key'; //'[path]/cert-file.key';
$client->certRequest['CACert'] = '/var/www/vhosts/VisaKeys/VisaNetCA.key'; //'[path]/VisaNetCA.key';
$client->certRequest['verifypeer']=0;
$client->certRequest['passphrase']='password';
$err = $client->getError();
if ($err) {
// Display the error
echo '<h2>Constructor error</h2><pre>' . $err . '
';
// На данный момент вы знаете, что следующий вызов не удастся
}
$ param = array (
'pan' => '0000000000000000' // Tarjeta de credito de prueba
, 'expdate' => '0220' // expiracion de la tarjeta de credito
, 'amount' => '100' // cantidad de la transaccion en dinero
, 'cvv2' => '6410' // 1 кодекс по кредитам и секретам
, 'paymentgwIP' => '190.0.195.24' // ip visanet
, 'shopperIP' => $ _SERVER ['REMOTE_ADDR'] // ip comprador
, 'merchantServerIP' => $ _SERVER ['SERVER_ADDR'] // nuestro ip cig 200.12.47.195
, 'merchantUser' => 'VNGUser' // Usuario для подтверждения в VisaNet
, 'merchantPasswd' => 'VNGPass' // Подтверждение пароля в VisaNet11111
, 'TerminalId' => '000000' // Подтверждение идентификатора в VisaNet
, 'merchant' => '000000' // por Подтверждение в VisaNet
, 'messageType' => '0200'
, 'audNumber' => '123456' // codigo unico por cada transaccion creado por CIG
);
$ params = array (
массив ('authorizationRequest' => $ param)
);
$ start = time (); // запускаем t1imer
// echo "
".print_r($params, true);
echo "Start time: " . $start . "
";
// Вызов метода SOAP
$ result = $ client-> call ('authorizationRequest', $ params);
$ хронометраж = время () - $ старт; // вычисление времени транзакции
эхо "
".print_r($result) . "
";
echo "Finish time:". время (). "
";
echo "Общее время:". print_r ($ хронометраж, правда). "
";
if ($ result == FALSE)
{
echo "Retry
";
$ result = $ client-> call ('authorizationRequest', $ params);
$ хронометраж = время () - $ старт; // вычисление времени транзакции
echo "
".print_r($result, true) . "
";
echo "Finish time:". время (). "
";
echo "Общее время:". print_r ($ хронометраж, правда). "
";
}
// Проверка на неисправность
if ($ client-> fault) {
echo '
Fault
';
print_r($result);
echo '
';
} еще {
// Проверка на ошибки
$ err = $ client-> getError ();
if ($ err) {
// Показать ошибку
echo '
Ошибка
' . $err . '
';
} еще {
// Показать результат
echo '
Результат
';
print_r($result);
echo '
';
}
}
?>
?>