wip on payment page
This commit is contained in:
parent
208478906c
commit
ae69cc93be
@ -86,7 +86,7 @@ $id = dol_decode($encodedid, $dolibarr_main_instance_unique_id);
|
|||||||
$conference = new ConferenceOrBooth($db);
|
$conference = new ConferenceOrBooth($db);
|
||||||
$resultconf = $conference->fetch($id);
|
$resultconf = $conference->fetch($id);
|
||||||
if ($resultconf < 0) {
|
if ($resultconf < 0) {
|
||||||
setEventMessages(null, $object->errors, "errors");
|
setEventMessages(null, $conference->errors, "errors");
|
||||||
}
|
}
|
||||||
|
|
||||||
$project = new Project($db);
|
$project = new Project($db);
|
||||||
@ -295,21 +295,31 @@ if (empty($reshook) && $action == 'add') {
|
|||||||
$db->commit();
|
$db->commit();
|
||||||
global $dolibarr_main_url_root;
|
global $dolibarr_main_url_root;
|
||||||
if (!empty(floatval($project->price_registration))) {
|
if (!empty(floatval($project->price_registration))) {
|
||||||
$facture = new Facture($db);
|
$productforinvoicerow = new Product($db);
|
||||||
$facture->type = 0;
|
$resultprod = $productforinvoicerow->fetch($conf->global->SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION);
|
||||||
$facture->socid = $thirdparty->id;
|
if ($resultprod < 0) {
|
||||||
$facture->paye = 0;
|
|
||||||
//@todo price and taxes to add
|
|
||||||
$tva = get_default_tva($mysoc, $thirdparty);
|
|
||||||
$facture->date = dol_now();
|
|
||||||
$resultfacture = $facture->create($user);
|
|
||||||
if ($resultfacture < 0) {
|
|
||||||
$error++;
|
$error++;
|
||||||
$errmsg .= $facture->error;
|
$errmsg .= $productforinvoicerow->error;
|
||||||
} else {
|
} else {
|
||||||
$redirection = $dolibarr_main_url_root.'/public/payment/newpayment.php?source=conferencesubscription&ref='.$confattendee->id;
|
$facture = new Facture($db);
|
||||||
Header("Location: ".$redirection);
|
$facture->type = 0;
|
||||||
exit;
|
$facture->socid = $thirdparty->id;
|
||||||
|
$facture->paye = 0;
|
||||||
|
// @todo complete
|
||||||
|
//$baseprice = $productforinvoicerow->
|
||||||
|
$facture->total_ht = 10;
|
||||||
|
$facture->total_vat = $productforinvoicerow->tva_tx*10;
|
||||||
|
$facture->total_ttc = $facture->total_ht + $facture->total_ttc;
|
||||||
|
$facture->date = dol_now();
|
||||||
|
$resultfacture = $facture->create($user);
|
||||||
|
if ($resultfacture < 0) {
|
||||||
|
$error++;
|
||||||
|
$errmsg .= $facture->error;
|
||||||
|
} else {
|
||||||
|
$redirection = $dolibarr_main_url_root.'/public/payment/newpayment.php?source=conferencesubscription&ref='.$confattendee->id;
|
||||||
|
Header("Location: ".$redirection);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// No price has been set
|
// No price has been set
|
||||||
|
|||||||
@ -69,6 +69,9 @@ include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
|
|||||||
$hookmanager = new HookManager($db);
|
$hookmanager = new HookManager($db);
|
||||||
$hookmanager->initHooks(array('newpayment'));
|
$hookmanager->initHooks(array('newpayment'));
|
||||||
|
|
||||||
|
// For encryption
|
||||||
|
global $dolibarr_main_instance_unique_id;
|
||||||
|
|
||||||
// Load translation files
|
// Load translation files
|
||||||
$langs->loadLangs(array("main", "other", "dict", "bills", "companies", "errors", "paybox", "paypal", "stripe")); // File with generic data
|
$langs->loadLangs(array("main", "other", "dict", "bills", "companies", "errors", "paybox", "paypal", "stripe")); // File with generic data
|
||||||
|
|
||||||
@ -375,6 +378,9 @@ if ($action == 'dopayment') {
|
|||||||
dol_syslog("SCRIPT_URI: ".(empty($_SERVER["SCRIPT_URI"]) ? '' : $_SERVER["SCRIPT_URI"]), LOG_DEBUG); // If defined script uri must match domain of PAYPAL_API_OK and PAYPAL_API_KO
|
dol_syslog("SCRIPT_URI: ".(empty($_SERVER["SCRIPT_URI"]) ? '' : $_SERVER["SCRIPT_URI"]), LOG_DEBUG); // If defined script uri must match domain of PAYPAL_API_OK and PAYPAL_API_KO
|
||||||
|
|
||||||
// A redirect is added if API call successfull
|
// A redirect is added if API call successfull
|
||||||
|
if ($source == 'conferencesubscription') {
|
||||||
|
$PAYPAL_API_OK .= '&conferencesubscription='.dol_encode('subscriptionok'.$ref, $dolibarr_main_instance_unique_id);
|
||||||
|
}
|
||||||
$mesg = print_paypal_redirect($PAYPAL_API_PRICE, $PAYPAL_API_DEVISE, $PAYPAL_PAYMENT_TYPE, $PAYPAL_API_OK, $PAYPAL_API_KO, $FULLTAG);
|
$mesg = print_paypal_redirect($PAYPAL_API_PRICE, $PAYPAL_API_DEVISE, $PAYPAL_PAYMENT_TYPE, $PAYPAL_API_OK, $PAYPAL_API_KO, $FULLTAG);
|
||||||
|
|
||||||
// If we are here, it means the Paypal redirect was not done, so we show error message
|
// If we are here, it means the Paypal redirect was not done, so we show error message
|
||||||
@ -393,6 +399,10 @@ if ($action == 'dopayment') {
|
|||||||
$urlok = preg_replace('/securekey=[^&]+/', '', $urlok);
|
$urlok = preg_replace('/securekey=[^&]+/', '', $urlok);
|
||||||
$urlko = preg_replace('/securekey=[^&]+/', '', $urlko);
|
$urlko = preg_replace('/securekey=[^&]+/', '', $urlko);
|
||||||
|
|
||||||
|
if ($source == 'conferencesubscription') {
|
||||||
|
$urlok .= '&conferencesubscription='.dol_encode('subscriptionok'.$ref, $dolibarr_main_instance_unique_id);
|
||||||
|
}
|
||||||
|
|
||||||
$mesg = '';
|
$mesg = '';
|
||||||
if (empty($PRICE) || !is_numeric($PRICE)) {
|
if (empty($PRICE) || !is_numeric($PRICE)) {
|
||||||
$mesg = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount"));
|
$mesg = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount"));
|
||||||
@ -747,7 +757,9 @@ if ($action == 'charge' && !empty($conf->stripe->enabled)) {
|
|||||||
header("Location: ".$urlko);
|
header("Location: ".$urlko);
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
$attendee->setStatut(1);
|
if ($source == 'conferencesubscription') {
|
||||||
|
$urlok .= '&conferencesubscription='.dol_encode('subscriptionok'.$ref, $dolibarr_main_instance_unique_id);
|
||||||
|
}
|
||||||
header("Location: ".$urlok);
|
header("Location: ".$urlok);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,6 +56,8 @@ if (!empty($conf->paypal->enabled)) {
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypalfunctions.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/paypal/lib/paypalfunctions.lib.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
global $dolibarr_main_instance_unique_id;
|
||||||
|
|
||||||
$langs->loadLangs(array("main", "other", "dict", "bills", "companies", "paybox", "paypal"));
|
$langs->loadLangs(array("main", "other", "dict", "bills", "companies", "paybox", "paypal"));
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
@ -105,6 +107,21 @@ $ref = GETPOST('ref');
|
|||||||
$suffix = GETPOST("suffix", 'aZ09');
|
$suffix = GETPOST("suffix", 'aZ09');
|
||||||
$membertypeid = GETPOST("membertypeid", 'int');
|
$membertypeid = GETPOST("membertypeid", 'int');
|
||||||
|
|
||||||
|
$conferencesubscription = GETPOST('conferencesubscription');
|
||||||
|
$uncryptedconferencesubscription = dol_decode($conferencesubscription, $dolibarr_main_instance_unique_id);
|
||||||
|
$subscription = substr($uncryptedconferencesubscription, 0, strlen($uncryptedconferencesubscription)-strlen($ref));
|
||||||
|
$reffrompayment = substr($uncryptedconferencesubscription, -strlen($ref), strlen($ref));
|
||||||
|
|
||||||
|
// Validation of an attendee after his payment
|
||||||
|
if ($subscription == 'subscriptionok' && $ref == $reffrompayment) {
|
||||||
|
$attendeetovalidate = new ConferenceOrBoothAttendee($db);
|
||||||
|
$resultattendee = $attendeetovalidate->fetch($ref);
|
||||||
|
if ($resultattendee < 0) {
|
||||||
|
setEventMessages(null, $attendeetovalidate->errors, "errors");
|
||||||
|
} else {
|
||||||
|
$attendeetovalidate->setStatut(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Detect $paymentmethod
|
// Detect $paymentmethod
|
||||||
$paymentmethod = '';
|
$paymentmethod = '';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user