Quantcast
Channel: Preguntas activas con las etiquetas mercadopago - Stack Overflow en español
Viewing all articles
Browse latest Browse all 213

¿Cómo procesar un webhook de MercadoPago con PHP?

$
0
0

estoy tratando de implementar una pasarela de pago en mi sitio para la compra de licencias de un software que estamos desarrollando.Mi idea de la licencia es un registro en una base de datos que indique si está activa o no, y ya tengo el sistema preparado para leer de esta manera las licencias, de igual manera acepto sugerencias si es que esta no es la manera adecuada, es la primera vez que desarrollo un sistema así y no tengo nada de experiencia previa.

La pasarela de pago que estoy utilizando es el Checkout de MercadoPago, he tomado la implementación de un código en internet y hasta el momento hemos hecho que funcione la compra. La cosa es que al momento de validar el pago el sistema envía un Webhook al URL especificado, he especificado una URL de una página de pruebas que recibe Webhooks

notification_url: "https://webhook.site/374509ce-2d3d-4d8a-9302-d37e184cd7eb"

y esto es lo que recibo en la página, son 4 POST.introducir la descripción de la imagen aquí

introducir la descripción de la imagen aquí

introducir la descripción de la imagen aquí

introducir la descripción de la imagen aquí

Mi pregunta es cómo puedo recibir el Webhook en mi sitio para que ejecute una inserción SQL al recibir este webhook.

Esto sería en PHP, no he encontrado nada en internet en específico para lo que necesito.¿Cómo recibiría y procesaría el json que me envían?Además tengo que regresarle también un stats 200 http.

La documentación de MercadoPago es muy ambigua.Ellos solo ponen que así se hace un receptor de notificaciones

<?phpMercadoPago\SDK::setAccessToken("ENV_ACCESS_TOKEN");switch($_POST["type"]) {    case "payment":        $payment = MercadoPago\Payment.find_by_id($_POST["id"]);        break;    case "plan":        $plan = MercadoPago\Plan.find_by_id($_POST["id"]);        break;    case "subscription":        $plan = MercadoPago\Subscription.find_by_id($_POST["id"]);        break;    case "invoice":        $plan = MercadoPago\Invoice.find_by_id($_POST["id"]);        break;}

?>


Viewing all articles
Browse latest Browse all 213

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>