tkrebs / ep3-bs

Online booking system for courts
http://bs.hbsys.de/
MIT License
181 stars 108 forks source link

What payment systems does it allow? #63

Closed booms73 closed 4 years ago

booms73 commented 7 years ago

Hello, thank you for creating this extremely nice programmed booking system. I was wondering what payment portals are included? Paypal? Credit Card? ... what has been included? Thank you.

tkrebs commented 7 years ago

Hi, we are currently working on an extension for PayPal integration. It is however not yet finished, so currently there is no payment provider integration included by default.

gitroli commented 6 years ago

My suggestion is that you can load the user with credit. Example: User x pays 100€ at reception or bank transfer. Then the admin can add the 100€ to the user account, when a user books a court, then the price for the court is subtracted from the user credit. Like a bet account, when you place a bet.

pongraczi commented 6 years ago

Hi, I would like to ask about the paypal integration. Do you have any progress regarding this? Thanks!

pongraczi commented 6 years ago

I just found it, maybe it can help: https://medium.com/justlaravel/how-to-integrate-paypal-payment-gateway-in-laravel-695063599449

Ralf-BN commented 5 years ago

Hallo, wir sind auch schon sehr darauf gespannt wie es mit einer möglichen Erweiterung für das Bezahlsystem PayPal weitergeht. Läuft die Entwicklung noch oder wurde das Vorhaben eingestellt?

tkrebs commented 5 years ago

Das befindet sich noch in Entwicklung, allerdings etwas ambitionierter gedacht als nur für PayPal: Es wird einen kompletten Checkout mit Schnittstellen zu verschiedenen Zahlungsanbietern geben.

hschiebold commented 4 years ago

Hallo, ich habe dieses Jahr auf Basis der 1.6.3 eine Buchungsapp für unsere neue Einfeld-Tennishalle (tennis-rudolstadt.de - die website ist nicht von mir) gemacht. Soweit erstmal vielen Dank für die super Vorarbeit in Form dieses OpenSource Projektes. Auf meiner Anforderungsliste für die Buchungsapp standen dabei auch direct payment via Paypal sowie Kreditkarten. Ich habe mich für die Integration von Paypal und Stripe via Payum entscheiden und implementiert. Dabei ist dann auch Apple Pay / Google Pay (payment request browser API) via Stripe mit hinzu gekommen. Weiterhin standen kleinere Anpassungen am responsive design, so daß die App bis auf iphone 5 Größe bedient werden kann und die Generierung eines Zugangscodes für das Codeschloss unserer Halle an.

Ich kann den code gern zur Verfügung stellen, falls jemand dies nachnutzen möchte, bzw. Teile davon wieder dem Projekt zuführen möchte.

Gruß Holger

hschiebold commented 4 years ago

Wenn jemand das testen möchte kann er dies in meiner dev Umgebung tun. Dort sind paypal und stripe mit dem sandbox / test account hinterlegt, so dass keine realen Zahlungen entstehen.

https://tennis-rudolstadt.de/tvas-booking-dev/public/

hschiebold commented 4 years ago

Wenn jemand das testen möchte kann er dies in meiner dev Umgebung tun. Dort sind paypal und stripe mit dem sandbox / test account hinterlegt, so dass keine realen Zahlungen entstehen.

https://tennis-rudolstadt.de/tvas-booking-dev/public/

hschiebold commented 4 years ago

Da es offenbar schon jemand versucht hat zu testen - für einen vollständigen Bezahlvorgang entweder die Testkarten von stripe verwenden (https://stripe.com/docs/testing) oder einen sandbox buyer account bei paypal anlegen. Mit einem live account von paypal kann man sich glaube ich nicht in der sandbox einloggen. Die Testkarten von stripe kann man bspw. auch im Chrome zum Test der payment request API des bowsers hinterlegen.

hschiebold commented 4 years ago

Eine Kleinigkeit habe ich noch vergessen. Auf meiner Anforderungsliste stand auch die Benutzung analog einer Smartphone App. Daher habe ich mich für die Erweiterung als PWA entschieden und meine Version mit dem nötigen Manifest und einem miinimalen service worker versehen, so dass man sich die Buchungsapp über die "zum Homebildschirm" Funktion des jeweiligen Browsers auf dem Smartphone auch als "App" ablegen und nutzen kann ohne den browser dann immer zu benötigen.

gitroli commented 4 years ago

Habe mir gerade die Funktion mit Homebildschirm App angesehen. Das ist schon cool ohne die Browserleiste und das Safarizeug. Gefällt mir. Könntest du ev. die relevanten Codestellen für das veröffentlichten?

Ralf-BN commented 4 years ago

Hallo Holger, großartig, dass du dich dieser Herausforderung gestellt hast. Ich/wir haben uns bereits seit einigen Monaten eine solche Bezahlmöglichkeit gewünscht. PRIMA und vielen Dank! Wie kann ich die Funktionen nun für unsere bestehende Hallenbuchung "http://www.tc-goldscheuer-test.de/buchung/public/" integieren? Gruß Ralf

hschiebold commented 4 years ago

Ich habe meine Version als Fork in github eingestellt. hschiebold/ep3-bs (Ich hoffe ich habe nix vergessen)

@gitroli - Du benötigst die manifest.json, die js/sw.js (evtl anpassen für deine css Dateien) und die Anpassungen an module/Base/view/layout/layout.phtml wenn du nur die PWA Fahigkeit haben willst.

@Ralf-BN - falls du keine größeren Änderungen am code vorgenommen hast, wird es fast das Beste sein, du nimmst einfach meine Version und passt dann das Layout einfach für deine Zwecke an. Ansonsten müsstest du halt beide Versionen mergen.

Falls Ihr Fragen habt macht einfach in meinem Fork je einen issue auf.

Gruß Holger

hschiebold commented 4 years ago

Ich hatte natürlich etwas übersehen beim einchecken. Jetzt sollte aber alles da sein. Habe selber nochmal ausgecheckt und bei mir getestet. Ich habe auch meinen vendor Pfad mit eingecheckt, da ich am anfang etwas gebraucht hatte die richtigen Versionen für meine Umgebung zu finden und in der Folge mindestens an payum-module und payum/stripe (auch ein fork von lolmx) auch Anpassungen / Erweiterungen vornehmen musste. Eigentlich müsste ich besser davon jeweils fork's in git erstellen. Mal sehen ob ich dazu komme.

Als nächstes werd ich mal schauen ob ich auch noch SEPA direct debit via stripe zum Laufen bekomme.

gitroli commented 4 years ago

Wie ist das eigentlich mit den Gebühren bei stripe? Hab auf der Homepage gesehen, bei Kreditkarte 1,4% + 0,25€ bei europäischen Kreditkarten. Als Beispiel werden 2 Hallenstunden bezahlt für 40€, fallen dann 0,81€ Gebühr an? Wie ist es bei Paypal?

hschiebold commented 4 years ago

Bei stripe kommen von 18 Euro 17,50 bei uns an. Bei Paypal müssten es 17,20 Euro sein (paypal account verwalte ich nicht) 2,49% + 0,35 Euro

gitroli commented 4 years ago

ok, aber keine monatlichen kosten an stripe, nur transaktionsgebühren?

hschiebold commented 4 years ago

ja - siehe https://stripe.com/en-de/pricing

gitroli commented 4 years ago

Bekomme folgenden Error bei deiner Version: Fatalerror: Uncaught RuntimeException: Config key cookie_config.cookie_name_prefix is missing in /var/www/vhosts/......../module/Base/src/Base/Manager/ConfigManager.php:93 Stack trace: #0 /var/www/vhosts/......./tennis-dev/module/Base/src/Base/Manager/ConfigManager.php(105): Base\Manager\ConfigManager->get('cookie_config.c...', false) #1 /var/www/vhosts/....../tennis-dev/module/Base/src/Base/Manager/Listener/ConfigLocaleListener.php(33): Base\Manager\ConfigManager->need('cookie_config.c...') #2 [internal function]: Base\Manager\Listener\ConfigLocaleListener->onPrepare(Object(Zend\EventManager\Event)) #3 /var/www/vhosts/...../tennis-dev/vendor/zendframework/zend-eventmanager/src/EventManager.php(490): call_user_func(Array, Object(Zend\EventManager\Event)) #4 /var/www/vhosts/....../tennis-dev/vendor/zendframework/zend-eventmanager/src/EventManager.php(211): Zend\EventManager\EventManager->triggerListeners('prepare', Object(Zend\EventManager\Event), NULL) #5 /var/www/vhosts/....../tennis-dev/module/Base in /var/www/vhosts/....../tennis-dev/vendor/zendframework/zend-servicemanager/src/ServiceManager.php on line 941

hschiebold commented 4 years ago

Ich glaube es wäre besser du machst einen issue in meinem fork auf. Dann belästigen wir die anderen hier nicht mit speziellen Dingen, die nur meinen fork betreffen.

Der cookie_config.cookie_name_prefix ist bei mir in die project.php in config/autoload gewandert, welche von der local dann eingebunden wird. Hast du die project.php bei dir gefüllt (aus der dist abgeleitet) und wird diese wie bei mir in der local eingebunden?

tkrebs commented 4 years ago

371