Ciao Ragazzi,
Sto provando ad implementare il pagamento online di alcuni prodotti tramite paypal. Ho letto parecchie cose e seguito un tutorial interessante che spiegava la fase di test con sandbox. Ho creato un account, e copiato le variabili d'accesso nel file paypalfunctions.php.
Praticamente ho creato un file ricarica.php che pesca l'id del prodotto tramite GET:
Codice PHP:
<?php
include 'db/include/db_connect.php';
$sql = "SELECT id,titolo,descrizione,immagine, prezzo, misure FROM atelier WHERE id='$_GET[id]'";
$res = mysql_query($sql, $conn);
while ($row = mysql_fetch_array($res))
{
$money = $row['prezzo'];
$item = $row['titolo'];
};
$_SESSION["Payment_Amount"] = $money;
echo "
Per confermare il pagamento di ".$_SESSION["Payment_Amount"]. "€ per l'opera " .$item." clicca qui.</p>";
?>
<form action="expresscheckout.php" method="POST">
<input alt="Check out with PayPal" name="submit" src="https://www.paypal.com/it_IT/i/btn/btn_xpressCheckout.gif" type="image" />
</form>
Da lì passa i dati a expresscheckout.php:
Codice PHP:
<?php
require_once ("paypalfunctions.php");
$paymentAmount = $_SESSION["Payment_Amount"]; //ammontare del pagamento
$currencyCodeType = "EUR"; //valuta
$paymentType = "Sale"; //tipo di operazione: vendita
$returnURL = "http://www.dhevidcau.it/conferma.php"; //alla fine torna qui se tutto ok...
$cancelURL = "http://www.dhevidcau.it/annulla.php"; //...altrimenti torna qui
$resArray = CallShortcutExpressCheckout ($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL);
$ack = strtoupper($resArray["ACK"]);
if($ack=="SUCCESS" || $ack=="SUCCESSWITHWARNING")
{
//ok
RedirectToPayPal ( $resArray["TOKEN"] );
}
else
{
//errore, vediamo di che tipo
$ErrorCode = urldecode($resArray["L_ERRORCODE0"]);
$ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]);
$ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]);
$ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]);
echo "SetExpressCheckout API call failed. ";
echo "Msg Errore: " . $ErrorLongMsg;
echo "Short Error Message: " . $ErrorShortMsg;
echo "Codice Errore: " . $ErrorCode;
echo "Error Severity Code: " . $ErrorSeverityCode;
}
Tutto ok fino a ricarica.php, quando passa su expresscheckout.php dà errore.
C'è un errore di distrazione secondo voi o proprio non sono sulla buona strada per farlo funzionare? 