Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite.
Estou um pouco confuso ao usar o retorno do pagseguro. Estou usando o Sandbox como teste.
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/P4bbvNE.png&key=994d40e7f4e870543fa57abc610444aa5dc60af5034087994ba2de2b8abfba42" alt="P4bbvNE.png" />
Os únicos valores que o PagSeguro envia pelo POST são:
array (
'notificationCode' => '3DB14F-A352F852F8E6-51141FEF8733-80F334',
'notificationType' => 'transaction',
)
Mas se eu uso o notificationCode, para fazer a consulta retorna erro:
E o PagSeguro não envia a variável "CÓDIGO DA NOTIFICAÇÃO" para fazer o processo.
Boa tarde isso eu sei.
A questão é, se o PagSeguro só envia o 'notificationCode' via POST, como registro o 'código da transasão'
Segundo a documentação o correto para consultar uma notificação seria uma url mais ou menos assim (note o notifications):
https://ws.pagseguro.uol.com.br/v2/transactions/notifications
/766B9C-AD4B044B04DA-77742F5FA653-E1AB24
?email=suporte@lojamodelo.com.br
&token=95112EE828D94278BD394E91C4388F20
Bom dia.
Consultar eu sei como fazer. Mas para consultar preciso guardar um código no banco de dados para fazer a consulta futuramente.
Esse é o problema.
O único valor que o PagSeguro envia pelo post é o 'notificationCode', mas esse valor não serve para fazer consulta. Tem que ser com o outro, mas o pagseguro não envia ele pelo Post.
Errado. O pagSeguro retorna um XML com os dados da transação
<transaction>
<date>2011-02-10T16:13:41.000-03:00</date>
<code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>
<reference>REF1234</reference>
<type>1</type>
<status>3</status>
<lasteventdate>2011-02-15T17:39:14.000-03:00</lasteventdate>
<paymentmethod>
<type>1</type>
<code>101</code>
</paymentmethod>
<grossamount>49900.00</grossamount>
<discountamount>0.00</discountamount>
<feeamount>0.00</feeamount>
<netamount>49900.00</netamount>
<extraamount>0.00</extraamount>
<installmentcount>1</installmentcount>
<itemcount>2</itemcount>
<items>
<item>
<id>0001</id>
<description>Notebook Prata</description>
<quantity>1</quantity>
<amount>24300.00</amount>
</item>
<item>
<id>0002</id>
<description>Notebook Rosa</description>
<quantity>1</quantity>
<amount>25600.00</amount>
</item>
</items>
<sender>
<name>José Comprador</name>
<email>comprador@uol.com.br</email>
<phone>
<areacode>11</areacode>
<number>56273440</number>
</phone>
</sender>
<shipping>
<address>
<street>Av. Brig. Faria Lima</street>
<number>1384</number>
<complement>5o andar</complement>
<district>Jardim Paulistano</district>
<postalcode>01452002</postalcode>
<city>Sao Paulo</city>
<state>SP</state>
<country>BRA</country>
</address>
<type>1</type>
<cost>21.50</cost>
</shipping>
</transaction>Ou eu sou muito burro ou você não esta entendendo...rsrsrs
Criei um log, o valor que envia pelo post é somente isso
array (
'notificationCode' => '3DB14F-A352F852F8E6-51141FEF8733-80F334',
'notificationType' => 'transaction',
)
Só que com o valor do notificationCode, não serve para fazer a consulta.
Provavelmente eu não estou te entendo ou então você está confundindo notificação com a consulta pelo número da transação.
As notificações são enviadas pelo pagseguro a cada mudança de status de uma "transação" (gerando um novo código de notificação). Em cada notificação ele manda as informações que citei no post anterior.
Segundo a documentação do pagseguro ao você consultar algo como :
//sem o sandbox
https://ws.pagseguro.uol.com.br/v2/transactions/notifications
/3DB14F-A352F852F8E6-51141FEF8733-80F334?email=nome@email.net&token=999999999999999999999999
Se não houver nenhum resultado creio que um erro é gerado, nunca utilizei Sandbox, sempre fiz direto pelo pagseguro.
Ele vai te retornar o XML com as informações no tópico anterior. Basta você consumir o XML especificamente o
<code>9E884542-81B3-4419-9A75-BCC6FB495EF1</code>
que é o código da transação.
Não sei se isso funciona se as notificações não estiverem habilitadas no pagseguro. Ative também o pagamento pela api do pagseguro.
O código da transação não é o mesmo da notificação. Com o código da notificação você consegue ver o status de uma transação.