DIBS offers a recurring payment service which can be used to make recurring payments without having the customer type card data more than once. The service can be set up to carry out the payments automatically or customized utilize the flexibility of the API system.
The simple integrations contains no API integration and only the hosted payment window is used. Using this method, DIBS will make automatic recurring payments based on a set of rules defined in the DIBS Administration.
Creating the rules
The first thing to do is to set up some rules for the subscription payment to be registered. This is done in DIBS Administration under Subscription -> Rules. There are 5 settings for each rule:
- Name of the rule
- Recurring interval
- Start time
When these fields have been defined, the rule can be saved. All active rules can be seen under Subscription -> Rules.
Creating the ticket
When one or several rules have been defined, they can be specified in the call to DIBS FlexWin. The parameters which need to be defined are:
- maketicket or preauth: Specifies that the transaction should be a recurring payment registration. The difference between the two parameters is that maketicket creates both a so-called "ticket" (the reference ID for the recurring customer) and a normal transaction on the amount specified in the FlexWin call, while preauth creates only the ticket.
- ticketrule: This parameter should contain the name of the rule to be registered on the customer
You can find more information about the input parameters described above in the input parameter documentation. Please note that some restrictions to the input parameters apply when using the maketicket parameter.
Editing and deleting the ticket
Once the customer has completed the ticket registration (which works just as if it was a normal purchase), the customer will appear in the Administration under Subscription -> Customer list. The recurring payments will be carried out automatically based on the rule registered on the customer.
If the customer should no longer be registered for subscription, it can be deleted from the Customer list. Here, the registered rule can also be changed.
The subscription system can also be used with the API, allowing the shop system to make automated withdrawals from a regisered ticket (a subscription customer). The procedure can be divided into three steps; creating, using, and deleting the ticket.
Creating the ticket
To register a ticket, either the earlier described method using the hosted payment window or the API can be used.
If using the hosted payment window (FlexWin), the parameter maketicket or preauth can be used. Please refer to the input parameters page for more information about these.
It can also be registered using the auth.cgi function and the preauth parameter. Please keep in mind that this requires a PCI-certification, as you will have direct access to card information.
Using both above methods, a ticket ID will be returned from DIBS in the return parameters. This ticket ID is the reference to the subscription customer.
Using the ticket
To make withdrawals using the ticket, the API function ticket_auth.cgi can be used. This functions works just as auth.cgi, but instead of card information, it takes a ticket ID as an input parameter. This makes it possible to make a payment on a registered ticket without having the customer type card data again. Keep in mind that as default, the money will only be reserved on the customer account. To finalize the purchase and carry out the transaction, either the input parameter 'capturenow' should be used in the ticketauth.cgi call, or a later call to capture.cgi should be made.
Deleting the ticket
Then the ticket is no longer to be used, it should be deleted using delticket.cgi.