Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 529515
            [titulo] => ALGUEM ME DE ESSA LUZ NO CURL? 
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-08-22 22:29:37
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 449325
            [status] => A
            [isExample] => 
            [NomeUsuario] => Anderson de Souza
            [Apelido] => 
            [Foto] => 449325_20150822231645.jpg
            [Conteudo] => Boa noite tudo bem?

Pelo que eu vi, você não pode mandar o post para essa página, pois ela é um formulário, olhei o código da página de destino, você tem que mandar para a action do form que é "https://payments.ironmountain.com/response.asp".

Também tem que colocar para não verificar o "SSL".

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

E para madar os dados faça o seguinte:

$dadosCampos = '';
foreach($dados as $name => $valor) {
$dadosCampos .= $name . '=' . $valor . '&';
}

Altere o Postfields:
curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);

Acrescente essa linha:
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));

Depois de fechar o curl verifica o que está vindo de erro.

echo $resultado; ) )

ALGUEM ME DE ESSA LUZ NO CURL?

PHP
Conceicao Barros
   - 22 ago 2015

Olá gente o meu real script e este, não consigo fazer que ele preencha o formulario e envie assim eu pegar a resposta.
Algum me da uma luz? Estou passando este site todo pra portugues porem o formulario de doação tem que ser pro site original.
Ele não esta preenchendo a pagina pra mim obter a resposta.
<?php
$cURL = curl_init('https://payments.ironmountain.com/payment.asp');
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
$dados = array(
'card_cardType' => 'Visa',
'card_accountNumber' => '4444555544445555',
'card_cvNumber' => '422',
'card_expirationMonth' => '01',
'card_expirationYear' => '2018',
'billTo_customerID' => '4352352345',
'billTo_firstName' => 'Andre',
'billTo_lastName' => 'Giao',
'billTo_company' => 'ironmountain',
'billTo_country' => 'bs',
'billTo_street1' => 'Av ola mundo',
'billTo_street2' => 'Ola',
'billTo_city' => 'Sao Paulo',
'billTo_state_id' => 'AK',
'billTo_postalCode' => '01221',
'billTo_phoneNumber' => '551198221100',
'billTo_email' => 'olamundo@olamundo.com',
'billTo_email_confirm' => 'olamundo@olamundo.com',
'purchaseTotals_taxAmount' => '5.00',
'purchaseTotals_grandTotalAmount' => '5.00',
'submit' => 'on'
);
curl_setopt($cURL, CURLOPT_POST, true);
curl_setopt($cURL, CURLOPT_POSTFIELDS, $dados);
$resultado = curl_exec($cURL);
curl_close($cURL);
?>

Post mais votado

Anderson Souza
   - 22 ago 2015

Boa noite tudo bem?

Pelo que eu vi, você não pode mandar o post para essa página, pois ela é um formulário, olhei o código da página de destino, você tem que mandar para a action do form que é "https://payments.ironmountain.com/response.asp".

Também tem que colocar para não verificar o "SSL".

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

E para madar os dados faça o seguinte:

$dadosCampos = '';
foreach($dados as $name => $valor) {
$dadosCampos .= $name . '=' . $valor . '&';
}

Altere o Postfields:
curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);

Acrescente essa linha:
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));

Depois de fechar o curl verifica o que está vindo de erro.

echo $resultado;

Conceicao Barros
   - 23 ago 2015


Citação:
Boa noite tudo bem?

Pelo que eu vi, você não pode mandar o post para essa página, pois ela é um formulário, olhei o código da página de destino, você tem que mandar para a action do form que é "https://payments.ironmountain.com/response.asp".

Também tem que colocar para não verificar o "SSL".

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

E para madar os dados faça o seguinte:

$dadosCampos = '';
foreach($dados as $name => $valor) {
$dadosCampos .= $name . '=' . $valor . '&';
}

Altere o Postfields:
curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);

Acrescente essa linha:
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));

Depois de fechar o curl verifica o que está vindo de erro.

echo $resultado;


Você quer dizer assim?

<?php
$cURL = curl_init('https://payments.ironmountain.com/response.asp');
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
$dadosCampos = 'billTo_customerID=3948539840';
foreach($dados as $name => $valor) {
$dadosCampos .= $name . '=' . $valor . '&';
}

curl_setopt($cURL, CURLOPT_POST, true);

curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));
curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);
$resultado = curl_exec($cURL);
curl_close($cURL);
?>

Fico grato se me ajudar, não se preocupe que nenhuma ajuda para mim e de graça.

Conceicao Barros
   - 23 ago 2015

Nao entendi se era assim Anderson

Mais deu estes erros.
Warning: Invalid argument supplied for foreach() in /home/skyconfirmacao/www/ver.php on line 5

Warning: curl_setopt() expects parameter 1 to be resource, null given in /home/skyconfirmacao/www/ver.php on line 12

Anderson Souza
   - 23 ago 2015

Olá, você colocou o foreach em baixo da váriavel que está recendo o array?

Conceicao Barros
   - 23 ago 2015


Citação:
Boa noite tudo bem?

Pelo que eu vi, você não pode mandar o post para essa página, pois ela é um formulário, olhei o código da página de destino, você tem que mandar para a action do form que é "https://payments.ironmountain.com/response.asp".

Também tem que colocar para não verificar o "SSL".

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

E para madar os dados faça o seguinte:

$dadosCampos = '';
foreach($dados as $name => $valor) {
$dadosCampos .= $name . '=' . $valor . '&';
}

Altere o Postfields:
curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);

Acrescente essa linha:
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));

Depois de fechar o curl verifica o que está vindo de erro.

echo $resultado;


Consegui muito obrigado, mesmo, precisar de algo so me falar.

Anderson Souza
   - 23 ago 2015

Boa noite,
Citação:
Olá, você colocou o foreach em baixo da váriavel que está recendo o array?

Citação:
Boa noite tudo bem?

Pelo que eu vi, você não pode mandar o post para essa página, pois ela é um formulário, olhei o código da página de destino, você tem que mandar para a action do form que é "https://payments.ironmountain.com/response.asp".

Também tem que colocar para não verificar o "SSL".

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

E para madar os dados faça o seguinte:

$dadosCampos = '';
foreach($dados as $name => $valor) {
$dadosCampos .= $name . '=' . $valor . '&';
}

Altere o Postfields:
curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);

Acrescente essa linha:
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));

Depois de fechar o curl verifica o que está vindo de erro.

echo $resultado;


Boa noite!

Não assim, você deixa os dados como antes, no array.

Anderson Souza
   - 23 ago 2015

Olhá fiz algumas modificações, segue o código:

#Código

<?php

$url = 'https://payments.ironmountain.com/response.asp';

$data = array(
'card_cardType' => 'Visa',
'card_accountNumber' => '4444555544445555',
'card_cvNumber' => '422',
'card_expirationMonth' => '01',
'card_expirationYear' => '2018',
'billTo_customerID' => '4352352345',
'billTo_firstName' => 'Andre',
'billTo_lastName' => 'Giao',
'billTo_company' => 'ironmountain',
'billTo_country' => 'bs',
'billTo_street1' => 'Av ola mundo',
'billTo_street2' => 'Ola',
'billTo_city' => 'Sao Paulo',
'billTo_state_id' => 'AK',
'billTo_postalCode' => '01221',
'billTo_phoneNumber' => '551198221100',
'billTo_email' => 'olamundo@olamundo.com',
'billTo_email_confirm' => 'olamundo@olamundo.com',
'purchaseTotals_taxAmount' => '5.00',
'purchaseTotals_grandTotalAmount' => '5.00',
'submit' => 'on'
);

$post = '';
foreach($data as $name => $value) {
  $post.= $name . '=' . $value . '&';
}

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($cURL, CURLOPT_POST, true);

curl_setopt($cURL, CURLOPT_POSTFIELDS, $post);

curl_setopt($ch,CURLOPT_POST,count($post));

$result = curl_exec($cURL);

if(curl_exec($cURL) === false)
{
    echo 'Curl error: ' . curl_error($cURL);
}

curl_close($cURL);

echo $result;

?>

Conceicao Barros
   - 23 ago 2015


Citação:
Olhá fiz algumas modificações, segue o código:

#Código

<?php

$url = 'https://payments.ironmountain.com/response.asp';

$data = array(
'card_cardType' => 'Visa',
'card_accountNumber' => '4444555544445555',
'card_cvNumber' => '422',
'card_expirationMonth' => '01',
'card_expirationYear' => '2018',
'billTo_customerID' => '4352352345',
'billTo_firstName' => 'Andre',
'billTo_lastName' => 'Giao',
'billTo_company' => 'ironmountain',
'billTo_country' => 'bs',
'billTo_street1' => 'Av ola mundo',
'billTo_street2' => 'Ola',
'billTo_city' => 'Sao Paulo',
'billTo_state_id' => 'AK',
'billTo_postalCode' => '01221',
'billTo_phoneNumber' => '551198221100',
'billTo_email' => 'olamundo@olamundo.com',
'billTo_email_confirm' => 'olamundo@olamundo.com',
'purchaseTotals_taxAmount' => '5.00',
'purchaseTotals_grandTotalAmount' => '5.00',
'submit' => 'on'
);

$post = '';
foreach($data as $name => $value) {
  $post.= $name . '=' . $value . '&';
}

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($cURL, CURLOPT_POST, true);

curl_setopt($cURL, CURLOPT_POSTFIELDS, $post);

curl_setopt($ch,CURLOPT_POST,count($post));

$result = curl_exec($cURL);

if(curl_exec($cURL) === false)
{
    echo 'Curl error: ' . curl_error($cURL);
}

curl_close($cURL);

echo $result;

?>


Eu fiz assim e funcionou muito memo.
<?php
$cURL = curl_init('https://payments.ironmountain.com/response.asp');

$dadosCampos = 'card_cardType=001&card_accountNumber=4544252000001182&card_expirationMonth=07&card_expirationYear=2019&card_cvNumber=630&billTo_customerID=94238728933&merchantID=ironmountain&billTo_firstName=Andre&billTo_lastName=Gomes&billTo_company=Resault333&billTo_country=bs&billTo_city=Redex&billTo_state_id=AK&billTo_postalCode=74450&billTo_phoneNumber=55629918822&billTo_email=mail@mail.com&billTo_email_confirm=mail@mail.com&purchaseTotals_taxAmount=5.00&purchaseTotals_grandTotalAmount=5.00&billTo_street1=Av+Goias&invoiceHeader_invoiceDate=21/10/2015&merchantReferenceCode=9384279843';
foreach($dados as $name => $valor) {
$dadosCampos .= $name . '=' . $valor . '&';
}

curl_setopt($cURL, CURLOPT_POST, true);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));
curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);
$resultado = curl_exec($cURL);
curl_close($cURL);
print $resultado;
?>

EU PEÇO ATE DESCULPA POR MAIS ESTA PERGUNTA E POR QUE EU NÃO ENTENDO MUITO DE CURL AINDA, ENTÃO SE PUDER ME INFORMAR COMO FAÇO PRA POR EXEMPLO SE O VALOR FOR "PAYMENT RECEVIER" ELE COLOCAR EM UM ECHO A MENSAGEM, "PAGAMENTO RECEBIDO" E SE DER ERRO "ERRO PAYMENT" ELE DAR RESPOSTA DE ERRO EM OUTRO ECHO COM MENSAGEM "PAGAMENTO RECUSADO" SE PUDER ME AJUDAR SO MAIS NESSE DETALHE FICO HONRADO POR SUA AJUDA.

Anderson Souza
   - 23 ago 2015

Olá, como o retorno está vindo um html, você terá que ir na tag onde está vindo a mensagem, eu olhei o html de retorno, e a mensagem está vindo nessa classe "tableHeader".

Então, você terá que pegar o texto que vem dentro dela, e fazer sua condição.

Outra coisa, use o array que nem estou te passando, porque o foreach já faz tudo aquilo que você fez, e o array fica mais organizado.

Para resolver seu problema, estou usando a biblioteca do phpQuery, para acessar o texto, você terá que baixar ela:

Link do phpQuery

Você deve requisitar o arquivo no seu código.

Fiz as modificações para você ver como ficou, só você implementar ela, segue o código:

#Código

<?php
require_once 'php-query.php';

$url = 'https://payments.ironmountain.com/response.asp';

$data = array(
	'card_cardType' 									=> 'Visa',
	'card_accountNumber' 							=> '4444555544445555',
	'card_cvNumber' 									=> '422',
	'card_expirationMonth' 						=> '01',
	'card_expirationYear' 						=> '2018',
	'billTo_customerID' 							=> '4352352345',
	'billTo_firstName' 								=> 'Andre',
	'billTo_lastName' 								=> 'Giao',
	'billTo_company' 									=> 'ironmountain',
	'billTo_country' 									=> 'bs',
	'billTo_street1' 									=> 'Av ola mundo',
	'billTo_street2' 									=> 'Ola',
	'billTo_city' 										=> 'Sao Paulo',
	'billTo_state_id' 								=> 'AK',
	'billTo_postalCode'	 							=> '01221',
	'billTo_phoneNumber' 							=> '551198221100',
	'billTo_email' 										=> 'olamundo@olamundo.com',
	'billTo_email_confirm' 						=> 'olamundo@olamundo.com',
	'purchaseTotals_taxAmount' 				=> '5.00',
	'purchaseTotals_grandTotalAmount' => '5.00',
	'submit' 													=> 'on'
);

$post = '';

foreach($data as $name => $value) {
  $post.= $name . '=' . $value . '&';
}

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($cURL, CURLOPT_POST, true);

curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);

curl_setopt($ch,CURLOPT_POST,count($dadosCampos));

$result = curl_exec($cURL);

if(curl_exec($cURL) === false)
{
    echo 'Curl error: ' . curl_error($cURL);
}

curl_close($cURL);

$doc = phpQuery::newDocument($result);

$message = $doc->find('.tableHeader')->text();

echo $message;

?>

Conceicao Barros
   - 23 ago 2015


Citação:
Olá, como o retorno está vindo um html, você terá que ir na tag onde está vindo a mensagem, eu olhei o html de retorno, e a mensagem está vindo nessa classe "tableHeader".

Então, você terá que pegar o texto que vem dentro dela, e fazer sua condição.

Outra coisa, use o array que nem estou te passando, porque o foreach já faz tudo aquilo que você fez, e o array fica mais organizado.

Para resolver seu problema, estou usando a biblioteca do phpQuery, para acessar o texto, você terá que baixar ela:

Link do phpQuery

Você deve requisitar o arquivo no seu código.

Fiz as modificações para você ver como ficou, só você implementar ela, segue o código:

#Código

<?php
require_once 'php-query.php';

$url = 'https://payments.ironmountain.com/response.asp';

$data = array(
	'card_cardType' 									=> 'Visa',
	'card_accountNumber' 							=> '4444555544445555',
	'card_cvNumber' 									=> '422',
	'card_expirationMonth' 						=> '01',
	'card_expirationYear' 						=> '2018',
	'billTo_customerID' 							=> '4352352345',
	'billTo_firstName' 								=> 'Andre',
	'billTo_lastName' 								=> 'Giao',
	'billTo_company' 									=> 'ironmountain',
	'billTo_country' 									=> 'bs',
	'billTo_street1' 									=> 'Av ola mundo',
	'billTo_street2' 									=> 'Ola',
	'billTo_city' 										=> 'Sao Paulo',
	'billTo_state_id' 								=> 'AK',
	'billTo_postalCode'	 							=> '01221',
	'billTo_phoneNumber' 							=> '551198221100',
	'billTo_email' 										=> 'olamundo@olamundo.com',
	'billTo_email_confirm' 						=> 'olamundo@olamundo.com',
	'purchaseTotals_taxAmount' 				=> '5.00',
	'purchaseTotals_grandTotalAmount' => '5.00',
	'submit' 													=> 'on'
);

$post = '';

foreach($data as $name => $value) {
  $post.= $name . '=' . $value . '&';
}

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($cURL, CURLOPT_POST, true);

curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);

curl_setopt($ch,CURLOPT_POST,count($dadosCampos));

$result = curl_exec($cURL);

if(curl_exec($cURL) === false)
{
    echo 'Curl error: ' . curl_error($cURL);
}

curl_close($cURL);

$doc = phpQuery::newDocument($result);

$message = $doc->find('.tableHeader')->text();

echo $message;

?>


Fiz todo o coodigo que vc falou ele pegou o valor corretamente porem eu quis fazer assim
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));

$result = curl_exec($cURL);

if(curl_exec($cURL) === false)
{
echo 'Curl error: ' . curl_error($cURL);
}

curl_close($cURL);

$doc = phpQuery::newDocument($result);

$message = $doc->find('.tableHeader')->text();
if($message= 'Payment Confirmation'){
echo 'Aprovada!';
}
else{
echo 'Recusada!';
}
print $result;
?>

SO QUE ELE NAO PEGA O VALOR Q ESTA NA MENSAGEM E MODIFICA NO ECHO SEMPRE APARECE "APROVADA"

Anderson Souza
   - 23 ago 2015

Olá, então, esqueci de modificar alterar o nome da variável lá em baixo:

Antes:

#Código

curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);
 
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));


Depois:

#Código
curl_setopt($cURL, CURLOPT_POSTFIELDS, $post);
 
curl_setopt($ch,CURLOPT_POST,count($post));


Para pegar o valor correto faz assim:

#Código
$message = $doc->find('.tableHeader')->text();


Verifica se exite o a mensagem, se existir retorna "Aprovada" se não "Recusada".

#Código
$return = (strpos($message, "Payment Confirmation") !== false)? "Aprovada" : "Recusada";


#Código
echo $return;

Conceicao Barros
   - 23 ago 2015


Citação:
Olá, então, esqueci de modificar alterar o nome da variável lá em baixo:

Antes:

#Código

curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);
 
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));


Depois:

#Código
curl_setopt($cURL, CURLOPT_POSTFIELDS, $post);
 
curl_setopt($ch,CURLOPT_POST,count($post));


Para pegar o valor correto faz assim:

#Código
$message = $doc->find('.tableHeader')->text();


Verifica se exite o a mensagem, se existir retorna "Aprovada" se não "Recusada".

#Código
$return = (strpos($message, "Payment Confirmation") !== false)? "Aprovada" : "Recusada";


#Código
echo $return;


Olha funcionou corretamente amigo, eu nem sei o que te dizer pra agradecer, muito obrigado mesmo.

Conceicao Barros
   - 23 ago 2015


Citação:
Olá, então, esqueci de modificar alterar o nome da variável lá em baixo:

Antes:

#Código

curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);
 
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));


Depois:

#Código
curl_setopt($cURL, CURLOPT_POSTFIELDS, $post);
 
curl_setopt($ch,CURLOPT_POST,count($post));


Para pegar o valor correto faz assim:

#Código
$message = $doc->find('.tableHeader')->text();


Verifica se exite o a mensagem, se existir retorna "Aprovada" se não "Recusada".

#Código
$return = (strpos($message, "Payment Confirmation") !== false)? "Aprovada" : "Recusada";


#Código
echo $return;


Acho que erramos em algo, por que peguei o cartao fornecido por eles pra testar, o mesmo colocandoo no site debita o valor da doação, já quando coloca no script nao debita! Se quiser lhe forneço o cartao.

Conceicao Barros
   - 23 ago 2015


Citação:
Olá, então, esqueci de modificar alterar o nome da variável lá em baixo:

Antes:

#Código

curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);
 
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));


Depois:

#Código
curl_setopt($cURL, CURLOPT_POSTFIELDS, $post);
 
curl_setopt($ch,CURLOPT_POST,count($post));


Para pegar o valor correto faz assim:

#Código
$message = $doc->find('.tableHeader')->text();


Verifica se exite o a mensagem, se existir retorna "Aprovada" se não "Recusada".

#Código
$return = (strpos($message, "Payment Confirmation") !== false)? "Aprovada" : "Recusada";


#Código
echo $return;


curl_close($cURL);

$doc = phpQuery::newDocument($result);

$return = (strpos($message, "Payment Confirmation") !== false)? "Aprovada" : "Recusada";
echo $return;
if(strpos($message, "Payment Error")!== false){
$ip = $_SERVER['REMOTE_ADDR'];
$myFile = "./O.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
$msg="Doação = $name | Valor = $valor
";
$open = fopen("./O.txt","a+");
$quebra = chr(13).chr(10);//essa é a quebra de linha
fwrite($open, $msg);
fclose($open);
}
print $result;
?>

Tinha esquecido de falar, que e pra salvar em um txt o nome e o valor doado, exemplo caso de erro ele nao salvar, caso der confirmado ele salvar, assim termos a contabilidade do site br pro site us, porem ainda estar com aquele erro de nao efetivar o pagamento, quando passo o cartao no site ele aprova, quando passo pelo script ele nao aprova.

Conceicao Barros
   - 23 ago 2015


Citação:
Olá, então, esqueci de modificar alterar o nome da variável lá em baixo:

Antes:

#Código

curl_setopt($cURL, CURLOPT_POSTFIELDS, $dadosCampos);
 
curl_setopt($ch,CURLOPT_POST,count($dadosCampos));


Depois:

#Código
curl_setopt($cURL, CURLOPT_POSTFIELDS, $post);
 
curl_setopt($ch,CURLOPT_POST,count($post));


Para pegar o valor correto faz assim:

#Código
$message = $doc->find('.tableHeader')->text();


Verifica se exite o a mensagem, se existir retorna "Aprovada" se não "Recusada".

#Código
$return = (strpos($message, "Payment Confirmation") !== false)? "Aprovada" : "Recusada";


#Código
echo $return;


<?php
require_once 'phpQuery-onefile.php';

$url = 'https://payments.ironmountain.com/response.asp';

$data = array(
'card_cardType' => 'Visa',
'card_accountNumber' => '4544252000001182',
'card_cvNumber' => '630',
'card_expirationMonth' => '07',
'card_expirationYear' => '2019',
'merchantID' =>'ironmountain',
'billTo_customerID' => '4352352345',
'billTo_firstName' => 'Andre',
'billTo_lastName' => 'Giao',
'billTo_company' => 'ironmountain',
'billTo_country' => 'bs',
'billTo_street1' => 'Av ola mundo',
'billTo_street2' => 'Ola',
'billTo_city' => 'Sao Paulo',
'billTo_state_id' => 'AK',
'billTo_postalCode' => '01221',
'billTo_phoneNumber' => '551198221100',
'billTo_email' => 'olamundo@olamundo.com',
'billTo_email_confirm' => 'olamundo@olamundo.com',
'merchantReferenceCode' => '94203984029',
'invoiceHeader_invoiceDate' => '21/10/2015',
'purchaseTotals_taxAmount' => '5.00',
'purchaseTotals_grandTotalAmount' => '5.00',
'submit' => 'on'
);

$post = '';

foreach($data as $name => $value) {
$post.= $name . '=' . $value . '&';
}

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);

curl_setopt($cURL, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($cURL, CURLOPT_POST, true);

curl_setopt($cURL, CURLOPT_POSTFIELDS, $post);

curl_setopt($ch,CURLOPT_POST,count($post));

$result = curl_exec($cURL);

if(curl_exec($cURL) === false)
{
echo 'Curl error: ' . curl_error($cURL);
}

curl_close($cURL);

$doc = phpQuery::newDocument($result);

$return = (strpos($message, "Payment Confirmation") !== false)? "Aprovada" : "Recusada";

echo $return;
echo $result;

?>

O cartao que esta ai e verdadeiro fornecido pelo dono do site, não se preocupe pois ele vai ser cancelado sem falar que ele e pré-pago tem so 100 dolares pra testar.

Anderson Souza
   - 23 ago 2015

Então, verifiquei a mensagem de erro, tem alguns campos que estão em formado de dado inválido, você tem que mandar exatamente como eles mandam.

A mensagem de erro é essa:

Payment Error

Reason Code: 101
Your order could not be completed. One or more fields in the request contains invalid data.

Olha a documentação do site, e verifique como eles pegam os dados.

Abraço

Conceicao Barros
   - 23 ago 2015

Conf
Citação:
Então, verifiquei a mensagem de erro, tem alguns campos que estão em formado de dado inválido, você tem que mandar exatamente como eles mandam.

A mensagem de erro é essa:

Payment Error

Reason Code: 101
Your order could not be completed. One or more fields in the request contains invalid data.

Olha a documentação do site, e verifique como eles pegam os dados.

Abraço


Conferi aqui todos os valores declarados estao corretos, ate a data tudo mais nao debita o valorl.

Conceicao Barros
   - 24 ago 2015


Citação:
Então, verifiquei a mensagem de erro, tem alguns campos que estão em formado de dado inválido, você tem que mandar exatamente como eles mandam.

A mensagem de erro é essa:

Payment Error

Reason Code: 101
Your order could not be completed. One or more fields in the request contains invalid data.

Olha a documentação do site, e verifique como eles pegam os dados.

Abraço


Olá, Anderson de Souza,
Sei que estou sendo chata, mais eu te peço essa ajuda por que realmente não estou dando mais conta!
Eu tentei aqui vi os nomes dos inputs que deve ser enviado e todos estão corretos sem erro.
Porem ainda continua sem querer debitar no cartão de crédito como lhe passei e você viu o código erro!
Não sei mais o que fazer, pode me dar essa luz por favor?
Obs: Se quiser posso ate pagar pra você! Sem problemas por que preciso de verdade dessa ajuda.

Anderson Souza
   - 24 ago 2015

Olá, tudo bem?

Você tem algum tipo de contato? Skype ou hangout?

Abraço.

Conceicao Barros
   - 24 ago 2015


Citação:
Olá, tudo bem?

Você tem algum tipo de contato? Skype ou hangout?

Abraço.


skype concbarr@outlook.es

Joel Rodrigues
   - 01 set 2015

Por favor, marque apenas as tags corretas que dizem respeito à sua pergunta. Essa questão de PHP foi marcada como .NET, Delphi e outras mais.