How to use Direct Debit integration?
Hi @nemiah ,
First of all, thank you so much for implementing this awesome library.
I'm new to PHP based FinTS implementation and have a small question. (i have only worked with Spring, Java EE)
I need to use Direct Debit integration in order to replace PayPal transactions.
We are using PayPal to get money from customers and now we are going to use direct bank connection.
So can I use directDebit_Sephpa.php to fulfil that task?
And we are using this bank: https://www.vr-bank-nordrhoen.de/privatkunden.html Is this bank supported by this library?
Thank you in advance.
Hi!
Thank you, but most of the recent work was done by @ampaze and @Philipp91!
Direct debit works for me, I guess it will work for you, too. You'll have to create the SEPA-XML file with a library and send it to your bank with phpFinTS.
The examples for direct debit should be enough to get you started.
If the bank is supported, you will have to test for yourself. But I think almost all banks work very well.
@nemiah @ampaze Thank you so much guys. I'm based in Deutschland and working on this at the moment. I'm having some problems implementing recurring payments for SEPA direct debit transactions.
https://stackoverflow.com/questions/65129511/how-to-import-sepa-direct-debit-recurring-payments-using-a-xml
Do you guys have an example for SEPA direct debit recurring payments (Subscriptions) ?
phpFinTS was at some point able to list, set and delete recurring payments but I don't know if the current version still supports it :shrug:
phpFinTS was at some point able to list, set and delete recurring payments but I don't know if the current version still supports it π€·
I was going to implement it, but our bank advised against it because it is quite expensive when the bank is doing it for you.
Also it is very easy to do by yourself. The SEPA XML designates a direct debit as one time or recurring.
So this means: Store the IBAN, the interval and the last collection date, then check every day or manually if the direct debit is due again.
@nemiah @ampaze Thank you so much guys. Great advice. π π― I will keep this issue open since I'm working on this at the moment. After that, I will close this because I'm sure I will get some more questions and concerns.
Finally I have a small question. I have your library setup and running already. I understand for the recurring payments, we have to send the same SEPA Direct Debit XML. I have generated a SAMPLE file using Proficash banking software.
I have a subscription of 9.99 EUR per month and customer needs to pay 12 months.
This is the XML I have created: https://gist.github.com/chanakaDe/1442bd3a0c70c14e1e1259cba8b43e57
Here, I can see the <SeqTp>RCUR</SeqTp> is mentioned as recurring. Is there a way to tell the sequence of payments and also how many repayments we have? In Stripe and Adyen (Which I have experience and I am from that background), we can setup a subscription period and everything. Can't we do that here?
OR can we do this way?
https://gist.github.com/chanakaDe/187f0fcbd4f7c8aeb175bfd5747b12a4
In this XML, I have duplicated the <DrctDbtTxInf> section for each transaction. In this example, it's repeated only 3 times. IF I have 12 repayments, do I need to repeat this 12 times to let the bank that we have 12 repayments?
@ampaze I need a clarification on this too:
So this means: Store the IBAN, the interval and the last collection date, then check every day or manually if the direct debit is due again.
Did you mean something like CronJob? Do we need to run these XML imports monthly in order to get monthly subscription payments?
There are no any articles or tutorials or a proper documentation on how to use this SEPA XML in order to make a recurring payments.
Sorry for the long text and lots of questions.
Thank you in advance. π
Is there a way to tell the sequence of payments and also how many repayments we have?
I don't think it is supposed to work this way. As I understand it, RCUR is just a flag to show that this is a recurring thing and nothing more. There are such things as "Dauerlastschrift" and "Dauerauftrag" you can create separately but phpFinTS doesn't support it at this time, like @ampaze wrote.
Did you mean something like CronJob? Do we need to run these XML imports monthly in order to get monthly subscription payments?
Unless you create a "Dauerlastschrift" I understand it works this way, yes. At least this is the way I do itβ¦
Did you mean something like CronJob? Do we need to run these XML imports monthly in order to get monthly subscription payments?
Exactly.
To clarify again, this library does not currently support "Dauerlastschrift" (that is you tell the bank what amount to collect in what interval and how often). Furthermore this is also not supported by every bank.
Even if the bank supports it, it is more expensive than just a normal direct debit.
Like @nemiah said, RCUR is not an instruction for the bank to do something, just additional information.
Thank you so much guys. I have a good progress and will keep you posted. Using a CronJob at the moment π