tengo el checkout integrado y con las tarjetas de prueba puedo simular todo el proceso de pago hasta que este sea correcto o incorrecto pero estoy teniendo problemas al capturar el pago para posteriormente actualizar ciertos valores de la pagina web y en la base de datos, osea necesito tener el id del pago.Esta es la integracion:
$accestoken="tutoken";MercadoPago\SDK::setAccessToken($accestoken);$preference=new MercadoPago\Preference();$compra=0;$productos=array();$productosmp=unserialize($_COOKIE['products']??''); $compra=rand(1,100000); if(is_array($productosmp)==false){ $productosmp=array(); foreach ($productosmp as $producto){ $item=new MercadoPago\Item(); $item->title=$producto['prod_nombre']; $item->quantity=$producto['prod_cant']; $item->currency_id="ARS"; $item->unit_price=$producto['prod_precio']; $item->id=$producto["id_prod"]; array_push($productos,$item); } $preference->binary_mode=true; $preference->back_urls=array("success"=>"http://localhost/pps1pruebanode/pagosuccess.php","failure"=>"http://localhost/pps1pruebanode/pagofail.php" ); $preference->auto_return="approved"; $preference->external_reference=$compra; $preference->items=$productos; $preference->save();
He intentado accediendo a estos endpoint pero nada osea no me marca un error pero tampoco me muestra el id en la pagina.
$objMercadoPago = new MercadoPago\Payment();
$paymp=$objMercadoPago->get("https://api.mercadopago.com/v1/payments/{$compra}");
$pay2mp=$preference->get("https://api.mercadopago.com/v1/payments/{$preference->id}");
echo $compra;echo $datos2json = $objMercadoPago -> get("/v1/payments/search?external_reference={$compra}");