phppaypalreturnurl

Error with paypal ReturnUrl is not a fully qualified URL


This is my code:

<?php 

require 'paypal/autoload.php';

define('URL_SITIO', 'http://localhost:8083/gdlwebcamp(UltimoProyecto AVANZADO)');

$apiContext = new  \PayPal\Rest\ApiContext(
    new \PayPal\Auth\OAuthTokenCredential(
       'ClienteID',
       'Secret'

    )
);

//Redireccionar
$redireccionar = new RedirectUrls();
$redireccionar->setReturnUrl(URL_SITIO . "/pago-finalizado.php?exito=true&id_pago={$ID_registro}")
              ->setCancelUrl(URL_SITIO . "/pago-finalizado.php?exito=false&id_pago={$ID_registro}");



//Procesar el PAGO
$pago = new Payment();
$pago->setIntent("sale")
     ->setPayer($compra)
     ->setRedirectUrls($redireccionar)
     ->setTransactions(array($transaccion));

try {
    $pago->create($apiContext);
} catch (Paypal\Exception\PaypalConnectionException $pce) {
    echo "<pre>";
    print_r(json_decode($pce->getData()));
    exit;
    echo "</pre>";
}

$aprobado = $pago->getApprovalLink();

header("Location: {$aprobado}");

I read around there that it could be the backslashes but I have them well and also that it could be the localhost but I also did a basic test previously, and it worked, and now in the project I'm working on it doesn't work.


Solution

  • Try to set your properties like this (change to your real domain):

    $redireccionar->setReturnUrl("https://MYDAMAIN.COM/pago-finalizado.php?exito=true&id_pago={$ID_registro}")
                  ->setCancelUrl("https://MYDAMAIN.COM/pago-finalizado.php?exito=false&id_pago={$ID_registro}");
    

    Or make sure that your constant URL_SITIO does represent the full qualified domain.