Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] OpenPay Recibir Post

Estas en el tema de OpenPay Recibir Post en el foro de PHP en Foros del Web. Hola colegas Estoy trabajando con openpay y no he podido recibir el codigo de verificacion de los webhook http://www.openpay.mx/docs/webhooks.html aqui la instrucción de openpay @import ...
  #1 (permalink)  
Antiguo 16/08/2016, 20:41
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 7
OpenPay Recibir Post

Hola colegas

Estoy trabajando con openpay y no he podido recibir el codigo de verificacion de los webhook

http://www.openpay.mx/docs/webhooks.html

aqui la instrucción de openpay

Código txt:
Ver original
  1. Openpay enviará mediante POST un mensaje JSON a la URL indicada, conteniendo un objeto de notificación Webhook.
  2. Tu servicio deberá guardar el código de verificación de alguna manera, y regresar el estado 200 OK.

Este es el codigo con el que estoy intentando recoger lo que envia openpay

Código PHP:
Ver original
  1. $myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
  2. $json = $_POST;
  3. $a = json_decode($json);
  4. foreach($a as $b=>$c){
  5.     $d = $b.'=>'.$c.'<br>';
  6.     fwrite($myfile, $d);
  7. }
  8. fclose($myfile);


alguna ayuda
  #2 (permalink)  
Antiguo 17/08/2016, 08:12
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: OpenPay Recibir Post

Y el error es ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 17/08/2016, 11:00
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: OpenPay Recibir Post

No me da ningun error, solamente no puedo recoger los valores queme envian
  #4 (permalink)  
Antiguo 19/08/2016, 14:36
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 6 meses
Puntos: 120
Respuesta: OpenPay Recibir Post

si te envian un JSON entonces no es un POST que php lo pase a la variable $_POST
para recibir datos abritrarios del POST HTTP
tienes que recogerlos mediante

$json = file_get_contents("php://input");

ahora tengo entendido que la mayoria de webhooks siempre exigen HTTPS como por ejemplo TELEGRAM, verifica bien los requerimientos del openpay
  #5 (permalink)  
Antiguo 20/08/2016, 07:42
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: OpenPay Recibir Post

Leyendo un poco la documentación encuentras que envía 2 variables mediante post

Cita:
¿Qué información se enviará?
Nuestro servidor enviará al momento toda la información de los usuarios que se registren en la aplicación a la URL de Webhook siguiendo el método POST.

DATA.JSON
La información registrada a través del formulario de registro en formato JSON. Por ejemplo:

{"User":{"id":"618148992","name":"Edgard Massot Casademont","first_name":"Edgard","last_name":"Mas sot Casademont","fbuid":"1425878509","created":"2016-07-20 17:26:31","public_entry":"0","device":"","date":"J ul.20.2016 17:26"},"Recruiter":[]}

KEY
Es el nombre o referencia que has configurado a través del campo 'Webhook Key' en la integración con Webhook de la aplicación Easypromos.
Por lo que tu Script debería quedar algo asi:
Código PHP:
$myfile fopen("newfile.txt""w") or die("Unable to open file!");
$json $_POST['DATA.JSON']; /* Accedes al JSON devuelto */
$a json_decode($json);
foreach(
$a as $b=>$c){
    
$d $b.'=>'.$c.'<br>';
    
fwrite($myfile$d);
}
fclose($myfile); 
Igualmente revisa el log de error.

También puedes probar a volcar $_POST como si fuera un var_dump directamente al archivo y ver como esta construido el post devuelto.
Código PHP:
$myfile fopen("newfile.txt""w") or die("Unable to open file!");

    
$d  var_export($_POSTtrue);
    
fwrite($myfile$d);

fclose($myfile); 
__________________
Unset($vida['malRollo']);
  #6 (permalink)  
Antiguo 25/08/2016, 13:33
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: OpenPay Recibir Post

Gracias por ayudar amigos efectivamente lo pude recojer con
$json = file_get_contents("php://input");

Muchas gracias por su ayuda chicos

Etiquetas: html, post, recibir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:10.