2013-04-12 3 views
1

Я пытаюсь опубликовать некоторые детали на шлюзе оплаты mygate. Если я использую обычную форму и публикую URL-адрес, он генерирует идентификатор токена для этого конкретного сеанса и внутренне перенаправляет страницу на страницу захвата данных.CURL PHP MyGate Платежный шлюз

Как я использую curl для этого, я получаю сообщение об успешном завершении, но я не могу получить требуемую страницу.

Можно ли загрузить одну и ту же страницу на новой вкладке с помощью завитки, я подозреваю, что это мне помогло бы.

Любое другое решение также будет оценено.

Код я попытался это:

//open connection 
    $ch = curl_init(); 

    //set the url, number of POST vars, POST data 
    curl_setopt($ch,CURLOPT_URL, $url); 
    curl_setopt($ch,CURLOPT_POST, count($fields)); 
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); 

    curl_setopt($ch, CURLOPT_VERBOSE, true); 
    curl_setopt($ch, CURLOPT_SSLVERSION, 3); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,0); 

    //turning off the server and peer verification(TrustManager Concept). 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);  


    $result = curl_exec($ch); 

    if(!$result) 
    { 
     echo curl_error($ch); 
    } 
    else 
    { 
     echo $result; 
    } 

    //close connection 
    curl_close($ch); 

Заранее спасибо!

+0

Какое сообщение успеха вы получаете. –

+0

Сообщение об успешности, которое я имел в виду, было, я получаю значение $ result как 1, Также, если я тестирую его с помощью google, он отлично работает. – Rohini

+0

hm Что у вас в $ field_string? – bksi

ответ

2

С момента своего перенаправления на страницу с успехом вы можете получить местоположение перенаправленного URL-адреса.

Вы можете получить URL-адрес переадресации, установив некоторые параметры завитка.

curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$a = curl_exec($ch); 
if(preg_match('#Location: (.*)#', $a, $r)) 
$l = trim($r[1]); 

$l будет местом перенаправления. Вы можете получить URL-адрес и перенаправить свою страницу на место.

$ r будет содержать массив с адресом местонахождения.

Смежные вопросы