Payment Gateways

Which payment gateways do you prefer for german shops to accept Sofort-Ăśberweisung and CreditCards?

I found, find it very promising and I am working on a shopkit plugin for it.

1 Like

Hello, I was wondering… did you manage to make a working payment gateway with ? Cheers, Maarten

Hi Maarten,

Yes i made it, but with a very custom process.php file.

It was relatively simple with the php api:

Cheers, Christian


i have a long history with mollie and you can forget using them in in germany if you are a freelancer as they will not be able to pay you out if your account with them is not fully verified with requires handelsregisterauszug or any similar document proofing you’re a business.

while many freelancers cannot provide any sufficient document.

i even got them as far as calling me from the netherlands because i didn’t accept the fact and i provided them with several documents but it did not seem to get forward with them.

they said they are gonna report back to me today actually but i haven’t heard anything so far.

other than that i like the mollie integration. i have been looking for payment gateways which with somewhat good conditions in germany and mollie was the only one offering other methods other than creditcard. especially i like having sepa there as well which will get status’ed once payment is received as well.

one more drawback on mollie is, that they have no “cancel payment” url, so anytime someone aborts the payment they will still be forwarded to the “success” page - which basically means the success page has to be changed in somewhat “open and conditional information”-page

i am not using shopkit so i am not sure if this is implemented.

for myself i am also looking for other payment gateways and since mollie is out for me as long as i haven’t received any message confirming i’ll be able to withdraw money from them my only gateway for now is stripe and paypal.

i have been looking for others but many seem to be difficult to get even registered with them…

1 Like


Thank you for your feedback.

Right, the account has to be verified with a handelsregisterauszug and customers of us have done this, which is working so far.

It was possible to integrate a cancel state by redirecting from the confirm controller back to the cart summary page if the status aborted was set, which can be set by the callback.

you might want to check out this lib. it got various payment methods under its hood. but not sofortueberweisung as far as i could see.
if sofortueberweisung has a proper api doc you should be able to write that extension yourself.

what i’d like to do in my payment steps is after getting customer data having a choice with multiple gateways based on a form, which calls from a certain invisible subpage with fields for api keys as well as being able to trigger sandbox and whatnot

$data = array(
   // customer data
   // Some values get into session so no need to enter everytime.
// Some more things going on 

// Bla bla

		if($invalid = invalid($data, $rules, $messages)){
			$alert = $invalid;
		} else {

while each payment gateway has it’s own set of controller, template and blueprint calling upon functions such as create order, sending email etc… each payment gateway usually has a github rep where with minor adjustments you can build it around kirby…

// making sure a customer gets to the selected payment option
// As well as checking if there's a cart, customer did enter all values for delivery etc.pp.
  if(s::get('pay') != $page->uid())
// lot of things might run in the background....

Example for Live and test…

		$mollie = new Mollie_API_Client;
    } else {
// .... some more code going on obviously.

having everything with parents, silblings and children, it’s quite easy to adjust for multi language

I have also noticed that stripe is having a sofortüberweisung api which is in “preview” state for just now.

depending on payment gateway and how it works i am creating the order beforehand as not paid and the payment gateway mechanism such as ipn, or mollie return answer will just update and call other functions to mark as paid and send emails / on failure delete