Upon returning to acceptReturnUrl, the customer will normally expect a receipt to be displayed. We therefore recommend you use the acceptReturnUrl option for generating a customer receipt. Please refer to the output parameters section for parameters returned to the acceptReturnUrl. Return parameters to the acceptReturnUrl are sent as a POST.
In case the customer cancels the purchase using the functionality in the payment window (not by closing the window), he is returned to the cancelReturnUrl. The parameters returned along with the customer is described under output parameters. Return parameters to the cancelReturnUrl are sent as a POST.
When the customer finishes a payment, he is redirected to the acceptReturnUrl along with the return parameters. If the customer stops the communication (closes the browser, loses internet connection ect.) before reaching the webshop, the shop system is not informed of the result of the purchase. To avoid this situation, an automatic server-to-server call can be sent to the shop backend, enabled by sending along the "callbackUrl" parameter. This URL is then automatically called with the return parameters when the purchase is accepted.
The call is created as a post. All the previously described return parameters are returned to the callbackUrl, and it accepts only port 80 (HTTP), 443 (HTTPS ) and 20080.
The merchant should be able to handle multiple calls from DIBS to the callbackUrl. The additional information could be when transactions go from PENDING to ACCEPTED or DECLINED.
Processing callback response codes
The DIBS Payment Window listens to the HTTP status code when a post has been made to your callbackurl. The HTTP status codes is used to determine whether your system successfully received the callback from DIBS based on the listing below, and resubmit the POST to the callbackurl if necessary. Notice that this functionality must be activated in the DIBS Admin, otherwise only 1 callback attempt is made regardless of result.
If the HTTP response from your callbackurl indicate a failure to receive the callback, DIBS can automatically re-send the callback up to 5 times.
The following HTTP status responses are regarded as successfully processed:
- All status codes in the range 200-299.
- Codes 301, 302, 304 and 307 will be accepted. However, the information will not be redirected and the callback will not be sent back.
- Codes 204, 205 and 304 that do no contain the header 'Content Type', The body of response will be ignored but the callback will be processed as being successful
The return parameters are sent as a POST to the accept, cancel or callback Url, with every parameter as a seperate POST parameter.