app/Http/Controllers/KhipuController.php
//Esta funcion recibe la notificacion del pago desde Khipu para asi poder finalizar la venta, enviando de esta manera correos de verificacion al cliente y/o institucion
Esta funcion recibe la notificacion del pago desde Khipu para asi poder finalizar la venta, enviando de esta manera correos de verificacion al cliente y/o institucion
Esta funcion recibe la notificacion del pago desde Khipu para asi poder finalizar la venta enviando de esta manera correos de verificacion al cliente y / o institucion
public function notice(Request $request){
        $receiver_id = ENV('KHIPU_APP_ID');
        $secret = ENV('KHIPU_APP_KEY');
        $api_version = $request->api_version;  
        $notification_token = $request->notification_token; 
        try {
            if ($api_version == '1.3') {
                $configuration = new Khipu\Configuration();
                $configuration->setSecret($secret);
                $configuration->setReceiverId($receiver_id);
                $client = new Khipu\ApiClient($configuration);
                $payments = new Khipu\Client\PaymentsApi($client);
                $response = $payments->paymentsGet($notification_token);
                if ($response->getReceiverId() == $receiver_id ) {
                    if ($response->getStatus() == 'done') {
                        $idTrans = base64_decode($response->getTransactionId());
                            $venta = venta_producto::datosCompra($idTrans);
                                if($response->getAmount() == $venta->total){
                                    $update = venta_producto::where('id', $venta->idVenta)->first();
                                    $update->id_estado = 3;
                                    $update->save();
                                    $carro = carro::where('id', $venta->idCarro)->first();
                                    $carro->id_estado = 10;
                                    $carro->save();
                                    $correo = $venta->correo;
                                        Mail::send(['html'=>'emails.comprobante'],['name','Alejandro'],function ($message) use ($correo)
                                        {
                                          $message->from('nada@gmail.com', 'Equipo de "El Arte Escondido."');
                                          $message->to($correo,'to');
                                        });
                                        $compra = venta_producto::productosVendidos($venta->idVenta);
                                            for ($i=0; $i < count($compra); $i++) { 
                                                $mail[$i] = $compra[$i]->correoInstitucion;
                                                $mails = $mail[$i];
                                                \Session::put('nombre', $compra[$i]->nombreTienda);
                                                \Session::put('producto', $compra[$i]->nombreProducto);
                                                \Session::put('cantidad', $compra[$i]->cantidadProducto);
                                                \Session::put('total', $compra[$i]->precioProducto*$compra[$i]->cantidadProducto);
                                            Mail::send(['html'=>'emails.productosVendidos'],['name','Alejandro'],function ($message) use ($mails)
                                            {
                                              $message->from('nada@gmail.com', 'Equipo de "El Arte Escondido."');
                                              $message->to($mails,'to');
                                            });
                                            $mails = '';
                                            }
                                }
                    }
                } else {
                }
            } else {
            }
        } catch (\Khipu\ApiException $exception) {
            print_r($exception->getResponseObject());
        }
    }
public function notice ( Request $ request ) { $ receiver_id = ENV ( 'KHIPU_APP_ID' ) ; $ secret = ENV ( 'KHIPU_APP_KEY' ) ; $ api_version = $ request -> api_version ; $ notification_token = $ request -> notification_token ; try { if ( $ api_version == '1.3' ) { $ configuration = new Khipu \ Configuration ( ) ; $ configuration -> setSecret ( $ secret ) ; $ configuration -> setReceiverId ( $ receiver_id ) ; $ client = new Khipu \ ApiClient ( $ configuration ) ; $ payments = new Khipu \ Client \ PaymentsApi ( $ client ) ; $ response = $ payments -> paymentsGet ( $ notification_token ) ; if ( $ response -> getReceiverId ( ) == $ receiver_id ) { if ( $ response -> getStatus ( ) == 'done' ) { $ idTrans = base64_decode ( $ response -> getTransactionId ( ) ) ; $ venta = venta_producto :: datosCompra ( $ idTrans ) ; if ( $ response -> getAmount ( ) == $ venta -> total ) { $ update = venta_producto :: where ( 'id' , $ venta -> idVenta ) -> first ( ) ; $ update -> id_estado = 3 ; $ update -> save ( ) ; $ carro = carro :: where ( 'id' , $ venta -> idCarro ) -> first ( ) ; $ carro -> id_estado = 10 ; $ carro -> save ( ) ; $ correo = $ venta -> correo ; Mail :: send ( [ 'html' => 'emails.comprobante' ] , [ 'name' , 'Alejandro' ] , function ( $ message ) use ( $ correo ) { $ message -> from ( 'nada@gmail.com' , 'Equipo de "El Arte Escondido."' ) ; $ message -> to ( $ correo , 'to' ) ; } ) ; $ compra = venta_producto :: productosVendidos ( $ venta -> idVenta ) ; for ( $ i = 0 ; $ i < count ( $ compra ) ; $ i ++ ) { $ mail [ $ i ] = $ compra [ $ i ] -> correoInstitucion ; $ mails = $ mail [ $ i ] ; \ Session :: put ( 'nombre' , $ compra [ $ i ] -> nombreTienda ) ; \ Session :: put ( 'producto' , $ compra [ $ i ] -> nombreProducto ) ; \ Session :: put ( 'cantidad' , $ compra [ $ i ] -> cantidadProducto ) ; \ Session :: put ( 'total' , $ compra [ $ i ] -> precioProducto * $ compra [ $ i ] -> cantidadProducto ) ; Mail :: send ( [ 'html' => 'emails.productosVendidos' ] , [ 'name' , 'Alejandro' ] , function ( $ message ) use ( $ mails ) { $ message -> from ( 'nada@gmail.com' , 'Equipo de "El Arte Escondido."' ) ; $ message -> to ( $ mails , 'to' ) ; } ) ; $ mails = '' ; } } } } else { } } else { } } catch ( \ Khipu \ ApiException $ exception ) { print_r ( $ exception -> getResponseObject ( ) ) ; } }
Esta funcion recibe la notificacion del pago desde Khipu para asi poder finalizar la venta, enviando de esta manera correos de verificacion al cliente y/o institucion
Esta funcion recibe la notificacion del pago desde Khipu para asi poder finalizar la venta enviando de esta manera correos de verificacion al cliente y / o institucion
// Parámetro api_version //Parámetro notification_token // $configuration->setDebug(true); // receiver_id no coincide // Usar versión anterior de la API de notificación