Ciao, per l'integrazione di PHP con PayPal ho trovato questo utilissimo, chiaro, e semplice tutorial https://serverguy.com/learn/paypal-integration-in-php/
E' molto interessante perchè permette di passare a PayPal i parametri in maniera "nascosta", senza quindi doverli mettere in campi hidden.
Ho però problemi con la sezione di codice adibita alla lettura della risposta da PayPal. Eccola.
Codice PHP:
// Handle the PayPal response.
// Create a connection to the database.
$db = new mysqli($dbConfig['host'], $dbConfig['username'], $dbConfig['password'], $dbConfig['name']);
// Assign posted variables to local data array.
$data = [
'item_name' => $_POST['item_name'],
'item_number' => $_POST['item_number'],
'payment_status' => $_POST['payment_status'],
'payment_amount' => $_POST['mc_gross'],
'payment_currency' => $_POST['mc_currency'],
'txn_id' => $_POST['txn_id'],
'receiver_email' => $_POST['receiver_email'],
'payer_email' => $_POST['payer_email'],
'custom' => $_POST['custom'],
];
// We need to verify the transaction comes from PayPal and check we've not
// already processed the transaction before adding the payment to our
// database.
if (verifyTransaction($_POST) && checkTxnid($data['txn_id'])) {
if (addPayment($data) !== false) {
// Payment successfully added.
}
}
Ho aggiunto una semplicissima INSERT, ma non c'è modo di farla funzionare
Codice PHP:
// We need to verify the transaction comes from PayPal and check we've not
// already processed the transaction before adding the payment to our
// database.
if (verifyTransaction($_POST) && checkTxnid($data['txn_id'])) {
if (addPayment($data) !== false) {
// Payment successfully added.
$sql = "INSERT INTO prenotazioni_date (id_prenotazione, tariffa_notte) VALUES ('1', '102.00')";
$db->query($sql);
}
}
}
Ho anche provato a spostare la INSERT in altre parti del codice, fuori dalle IF, ma niente da fare. Tengo a precisare che i record nella tabella payments vengono inseriti senza nessun problema.
Erano 7 anni che non programmavo più e temo di essermi un po' arrugginito