Ejemplo n.º 1
0
use Fototea\Models\PuntoPagos;
use Fototea\Models\OrderProduct;
use Fototea\Util\UrlHelper;
$file = 'pagoexito.txt';
$content = "-----------------------------------------------------------------------------------------";
$content .= "\nGET\n";
$content .= json_encode($_GET);
$content .= "\n\nPOST\n";
$content .= json_encode($_POST);
$content .= "\n\n";
//file_put_contents($file, $content, FILE_APPEND);
$token = $app->getRequest()->get('token');
$paymentMethod = new PaymentManager($app, PuntoPagos::PAYMENT_METHOD_TYPE);
$paymentMethod->loadByGatewayId($token);
if ($paymentMethod->getStatus() === Payment::PAYMENT_STATUS_APPROVED) {
    $products = OrderProduct::getProductsByOrderId($paymentMethod->getOrderId());
    if (empty($products)) {
        //TODO correo aqui
        //TODO log
        $processResult = 99;
    }
    foreach ($products as $product) {
        //Aplicar cambios segun cada producto
        if ($product->id == Product::PRODUCT_ADJUDICAR_ID) {
            $productData = json_decode($product->data);
            $msg = 'El proyecto ha sido adjudicado de forma exitosa. <a href="' . UrlHelper::getProjectUrl($productData->project_id) . '">Ir al proyecto</a>';
        }
    }
}
?>
Ejemplo n.º 2
0
} else {
    //TODO falta validar la firma....
    $paymentMethod = new PaymentManager($app, PuntoPagos::PAYMENT_METHOD_TYPE);
    $paymentMethod->loadByGatewayId($token);
    $paymentMethod->updateStatus();
    $orderId = $paymentMethod->getOrderId();
    $order = Order::getOrder($orderId);
    if ($paymentMethod->getStatus() == Payment::PAYMENT_STATUS_APPROVED) {
        $order->set('status', Order::ORDER_STATUS_COMPLETED);
    } else {
        $order->set('status', Order::ORDER_STATUS_FAILED);
    }
    $order->save();
    if ($paymentMethod->getStatus() == Payment::PAYMENT_STATUS_APPROVED) {
        //Sacar order products
        $products = OrderProduct::getProductsByOrderId($order->id);
        if (empty($products)) {
            //TODO correo aqui
            //TODO log
            $processResult = 99;
        }
        foreach ($products as $product) {
            //Aplicar cambios segun cada producto
            if ($product->id == Product::PRODUCT_ADJUDICAR_ID) {
                //TODO validar offer id  y project id
                $result = AdjudicationManager::adjudicateProject($data->project_id, $data->offer_id);
                if (!$result) {
                    //Falló adjudicacion
                    //TODO notificar a paulo
                }
            }