Assinatura PagSeguro via API cURL
Opa,
Preciso gerar assinaturas via api com o pagseguro, usando:
$url = "https://ws.sandbox.pagseguro.uol.com.br/v2/pre-approvals/request?email=meu_email@hotmail.com&token=*******";
$xml = '<?xml version="1.0" encoding="charset=ISO-8859-1"?>
<preApprovalRequest>
<reviewURL>[http://www.teste.com.br/dashboard/revisao.php](http://www.teste.com.br/dashboard/revisao.php)
<redirectURL>[http://www.teste.com.br/painel/sucesso.php](http://www.teste.com.br/painel/sucesso.php)
<reference>EVX01</reference>
<sender>
<name>Jose de Solza</name>
<email>email@gmail.com</email>
</sender>
<preApproval>
<charge>auto</charge>
<name>testes Ultimate</name>
<details>
Todos os dias 26 de cada mes
</details>
<amountPerPayment>19.90</amountPerPayment>
<period>Monthly</period>
<finalDate>2018-01-21T00:00:000-03:00</finalDate>
<maxTotalAmount>2500.00</maxTotalAmount>
</preApproval>
</preApprovalRequest>
';
$xml = str_replace("\n", '', $xml);
$xml = str_replace("\r",'',$xml);
$xml = str_replace("\t",'',$xml);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: application/xml; charset=utf-8"));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
$data = array('entrada' => $xml);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
$resposta = curl_exec($ch)or die(curl_error($ch));
curl_close($ch);
$retorno = simplexml_load_string($resposta);
$xml = json_encode($retorno);
$array = json_decode($xml,TRUE);
print_r($array);
Estou recebendo o retorno do print_r:
Array ( [error] => Array ( [code] => 11101 [message] => preApproval data is required. ) )
O que pode haver de errado?
Discussão (3)
Carregando comentários...