diff --git a/htdocs/takepos/admin/setup.php b/htdocs/takepos/admin/setup.php
index 5995489184d..b5944e914ae 100644
--- a/htdocs/takepos/admin/setup.php
+++ b/htdocs/takepos/admin/setup.php
@@ -81,7 +81,10 @@ if (GETPOST('action', 'alpha') == 'set')
$res = dolibarr_set_const($db, "TAKEPOS_DIRECT_PAYMENT", GETPOST('TAKEPOS_DIRECT_PAYMENT', 'int'), 'int', 0, '', $conf->entity);
$res = dolibarr_set_const($db, "TAKEPOS_CUSTOM_RECEIPT", GETPOST('TAKEPOS_CUSTOM_RECEIPT', 'int'), 'int', 0, '', $conf->entity);
$res = dolibarr_set_const($db, "TAKEPOS_EMAIL_TEMPLATE_INVOICE", GETPOST('TAKEPOS_EMAIL_TEMPLATE_INVOICE', 'alpha'), 'chaine', 0, '', $conf->entity);
-
+ if (! empty($conf->global->TAKEPOS_ENABLE_SUMUP)) {
+ $res = dolibarr_set_const($db, "TAKEPOS_SUMUP_AFFILIATE", GETPOST('TAKEPOS_SUMUP_AFFILIATE', 'alpha'), 'chaine', 0, '', $conf->entity);
+ $res = dolibarr_set_const($db, "TAKEPOS_SUMUP_APPID", GETPOST('TAKEPOS_SUMUP_APPID', 'alpha'), 'chaine', 0, '', $conf->entity);
+ }
if ($conf->global->TAKEPOS_ORDER_NOTES == 1)
{
$extrafields = new ExtraFields($db);
@@ -241,6 +244,20 @@ print '
';
print $form->selectyesno("TAKEPOS_DIRECT_PAYMENT", $conf->global->TAKEPOS_DIRECT_PAYMENT, 1);
print " | \n";
+// Sumup options
+if ($conf->global->TAKEPOS_ENABLE_SUMUP) {
+ print '| ';
+ print $langs->trans("SumupAffiliate");
+ print ' | ';
+ print '';
+ print " |
\n";
+ print '| ';
+ print $langs->trans("SumupAppId");
+ print ' | ';
+ print '';
+ print " |
\n";
+}
+
// Custom Receipt
print '| ';
print $langs->trans('CustomReceipt');
diff --git a/htdocs/takepos/admin/terminal.php b/htdocs/takepos/admin/terminal.php
index 4696426aaf8..e2839901a77 100644
--- a/htdocs/takepos/admin/terminal.php
+++ b/htdocs/takepos/admin/terminal.php
@@ -74,7 +74,10 @@ if (GETPOST('action', 'alpha') == 'set')
$res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CASH".$terminaltouse, (GETPOST('CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse, 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse, 'alpha') : ''), 'chaine', 0, '', $conf->entity);
$res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CHEQUE".$terminaltouse, (GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse, 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse, 'alpha') : ''), 'chaine', 0, '', $conf->entity);
$res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CB".$terminaltouse, (GETPOST('CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse, 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse, 'alpha') : ''), 'chaine', 0, '', $conf->entity);
- foreach($paiements as $modep) {
+ if (! empty($conf->global->TAKEPOS_ENABLE_SUMUP)) {
+ $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_SUMUP".$terminaltouse, (GETPOST('CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse, 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse, 'alpha') : ''), 'chaine', 0, '', $conf->entity);
+ }
+ foreach($paiements as $modep) {
if (in_array($modep->code, array('LIQ', 'CB', 'CHQ'))) continue;
$name="CASHDESK_ID_BANKACCOUNT_".$modep->code.$terminaltouse;
$res = dolibarr_set_const($db, $name, (GETPOST($name, 'alpha') > 0 ? GETPOST($name, 'alpha') : ''), 'chaine', 0, '', $conf->entity);
@@ -151,6 +154,13 @@ if (! empty($conf->banque->enabled))
$form->select_comptes($conf->global->{'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse}, 'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse, 0, "courant=1", 1);
if (! empty($conf->global->{'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse})) $atleastonefound++;
print ' |
';
+ if ($conf->global->TAKEPOS_ENABLE_SUMUP) {
+ print '| ' . $langs->trans("CashDeskBankAccountForSumup") . ' | ';
+ print '';
+ $form->select_comptes($conf->global->{'CASHDESK_ID_BANKACCOUNT_SUMUP' . $terminaltouse}, 'CASHDESK_ID_BANKACCOUNT_SUMUP' . $terminaltouse, 0, "courant=1", 1);
+ if (!empty($conf->global->{'CASHDESK_ID_BANKACCOUNT_SUMUP' . $terminaltouse})) $atleastonefound++;
+ print ' |
';
+ }
foreach($paiements as $modep) {
if (in_array($modep->code, array('LIQ', 'CB', 'CHQ'))) continue; // Already managed before
diff --git a/htdocs/takepos/pay.php b/htdocs/takepos/pay.php
index 42ebe2fa85a..5e5a07b3625 100644
--- a/htdocs/takepos/pay.php
+++ b/htdocs/takepos/pay.php
@@ -176,6 +176,35 @@ else print "var received=0;";
else location.reload();
});
}
+
+ function ValidateSumup() {
+
+ var invoiceid = 0 ? $invoiceid : 0); ?>;
+ var amountpayed = $("#change1").val();
+ if (amountpayed > total_ttc; ?>) {
+ amountpayed = total_ttc; ?>;
+ }
+
+ // Starting sumup app
+ window.open('sumupmerchant://pay/1.0?affiliate-key=&app-id=&total=' + amountpayed + '¤cy=EUR&title=' + invoiceid + '&callback=/takepos/smpcb.php');
+
+ var loop = window.setInterval(function () {
+ $.ajax('/takepos/smpcb.php?status').done(function (data) {
+ console.log(data);
+ if (data === "SUCCESS") {
+ parent.$("#poslines").load("invoice.php?place=&action=valid&pay=CB&amount=" + amountpayed + "&invoiceid=" + invoiceid, function () {
+ //parent.$("#poslines").scrollTop(parent.$("#poslines")[0].scrollHeight);
+ parent.$.colorbox.close();
+ //parent.setFocusOnSearchField(); // This does not have effect
+ });
+ clearInterval(loop);
+ } else if (data === "FAILED") {
+ parent.$.colorbox.close();
+ clearInterval(loop);
+ }
+ });
+ }, 2500);
+ }
@@ -269,6 +298,13 @@ while($i < count($paiements)){
global->TAKEPOS_ENABLE_SUMUP && !empty(dolibarr_get_const($db, "CASHDESK_ID_BANKACCOUNT_SUMUP".$_SESSION["takeposterminal"]))) {
+ ?>
+
+
+
+
+
+
The HTML5 Herald
+
+
+
+
+
+
+
+';
+ $_SESSION['SMP_CURRENT_PAYMENT'] = $_GET['smp-status'];
+
+ print '';
+
+ print "Transaction status registered, you can close this";
+
+ die('