Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Amar Resic 5 posts 96 karma points
    Nov 06, 2020 @ 11:47
    Amar Resic
    0

    Any payment provider for DIBS Easy?

    Hi there.

    First of all, loving Vendr, great package.

    I see there is a payment provider for Dibs D2, but according to Nets this is being shut down, and is no longer available for us as a new customer with Nets.

    The option for us with Nets is Dibs Easy. Anyone aware of a payment provider for Vendr using Dibs Easy? Or is there a plan to make one?

  • Søren Gregersen 407 posts 1628 karma points MVP 2x c-trib
    Nov 06, 2020 @ 14:37
    Søren Gregersen
    0

    Hi Amar,

    If you take a look at how the Dibs D2 provider was made, would it not be possible to create a Dibs Eeasy provider?

    Vendr is build in UK, so the usage of Dibs is rather limited in that area, so I would be surprised if there are any plans. The Dibs D2 provider was also build by the community.

  • Matt Brailsford 3148 posts 16481 karma points MVP 8x c-trib
    Nov 09, 2020 @ 15:17
    Matt Brailsford
    100

    Hi Amar,

    This is one currently being worked on by a community member, Bjarne https://github.com/bjarnef/vendr-payment-provider-dibs/tree/feature/dibs-easy

    Unfortunately though he has hit a bit of a showstopper as Dibs Easy only supports a single returnUrl parameter which makes it impossible to know if the return to the site is due to a successful payment, or because of canceling out of the process. This means that whenever you return to the site, you won't know whether to show a success notice, or a canceled notice. Additionally, as payment finalization happens async via webhook, it's not like you can just check the status of the order either, as it may be a few seconds or even minutes (depending on the network) before we are notified of successful payments.

    Bjarne has raised this with Nets, however they have told him this wouldn't be looked at till March next year.

    If you are unable to use D2 then I'd strongly suggest you speak with nets and ask them to review this issue as a matter of urgency.

    As soon as this issue can be resolved, we should be able to get a Dibs Easy provider out pretty quickly.

    Matt

  • Søren Gregersen 407 posts 1628 karma points MVP 2x c-trib
    Nov 09, 2020 @ 16:14
    Søren Gregersen
    0

    Hi Matt,

    As pointed out, no new D2 accounts will be created, and Easy is the replacement :/

    best, Søren

  • Matt Brailsford 3148 posts 16481 karma points MVP 8x c-trib
    Nov 09, 2020 @ 16:20
    Matt Brailsford
    0

    Yea, this is why it's urgent that they address this and why we suggest others keep pushing them to get the fix in place. We've had a few people asking, but right now their API isn't compatible. Continue/Cancel URL registration is a pretty common pattern in payment providers, including in their own D2 so not sure why it wasn't implemented for Dibs Easy.

    Matt

  • Bo Jacobsen 462 posts 1897 karma points
    Feb 19, 2021 @ 15:19
    Bo Jacobsen
    0

    Hi Matt.

    Does the acceptet answer mean that its working now?

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    Feb 19, 2021 @ 16:57
    Bjarne Fyrstenborg
    0

    Hi Bo

    Yes, it is working, but it might need some additional testing. You can follow the progress in the PR here: https://github.com/vendrhub/vendr-payment-provider-dibs/pull/12

    Previous it had some issues, because both a successful payment and a cancelled payment via the "go back" link in the payment window, both triggered the payment.checkout.completed webhook event, so when getting the response from the webhook, we had no way to know if the payment was actually cancelled or successful.

    I have been in touch with DIBS/Nets a lot regarding this, and suggested we could have both the existing payment.checkout.completed and payment.checkout.cancelled and also a payment.checkout.failed like other payment gateways have.

    However at the time of this writing we still only have the payment.checkout.completed (unless they haven't documented new webhooks).

    However they have changes the cancelled payment, so it no longer trigger the payment.checkout.completed (I would say this was a breaking change), but anyway this is already released).

    Instead cancelled payments would return to the webshop with a status=cancel querystring, which should rely on Referrer-Policy.

    I got the following explaining from Nets here: https://github.com/vendrhub/vendr-payment-provider-dibs/pull/12#issuecomment-778838684

    I have also updated the payment provider to support the new PriceAdjustment entity in Vendr v1.4.0, so it should work with discounts, gift cards on custom discounts/fees, e.g. a deposit fee, but I haven't fully tested this.

    /Bjarne

  • Bo Jacobsen 462 posts 1897 karma points
    Feb 19, 2021 @ 23:13
    Bo Jacobsen
    0

    Hi Bjarne.

    Ive also been in touch with NETS with the same issue. We have some D2 we need to change to Easy.

    I havent testet it yet, but i was told by NETS that they got a cancel and return url you can set. Would that help?

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    Feb 20, 2021 @ 11:53
    Bjarne Fyrstenborg
    0

    I haven't heard of a specific cancel url, but they may refer to the Referrer-Policy header.

    Payment gateways like e.g. Stripe, Reepay and Adyen has a configuration option in their admin tools to configurate, where the webhook event should POST the response to - the callback URL (ProcessCallback method).

    Here is an example for Stripe: https://vendr.net/docs/payment-providers/stripe/1-1-0/stripe-checkout/getting-started/configuring-stripe/#webhook

    DIBS Easy doesn't handle this same way, but the callback URL is sent as part of the payment request.

    Unfortunately their documentation is lacking from recent updates and especially the documentation on the HostedPaymentWindow is limited.

    /Bjarne

  • Bo Jacobsen 462 posts 1897 karma points
    Feb 22, 2021 @ 09:22
    Bo Jacobsen
    0

    Hi Bjarne.

    I looked into the mail i got from DIBS (now NETS). The cancelUrl can only be used in the hosted payment window (which make sense, i guess). It should be set the same place where you set the returnUrl. So that would be in the "checkout" object. They send me these 2 links https://tech.dibspayment.com/node4555edit/checkout-introduction and https://tech.dibspayment.com/easy/api/paymentapi

    Can you use that for anything?

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    Feb 22, 2021 @ 09:33
    Bjarne Fyrstenborg
    0

    Hi Bo

    Yes, I could try the cancelUrl property, but pretty hard to know about this as developer, when it hasn't been documented. It may be a hidden gem that we magically should know about :)

    Furthermore the webhook has been updated wiht headers (previous it only had eventName, url and authorization), but yet nothing about the use of it and valid values. https://tech.dibspayment.com/easy/api/paymentapi#webhooks

    Now it has only been a year since I first raised the issue to Nets and told them a lot of times to update the documentation.

    /Bjarne

  • Bo Jacobsen 462 posts 1897 karma points
    Feb 22, 2021 @ 15:02
    Bo Jacobsen
    0

    Hi Bjarne.

    I agree. They need better documentation and also better support mail response times.

    Its proberbly something they added later and forgot to document.

    Did you know that the api also require the order items? I did not know that, but was told by their support that its a requirement. In my opinion that should be handled by the shop and not by the payment provider.

    "order":{  
       "items":[  
          {  
             "reference":"Reference 001",
             "name":"Test product 001",
             "quantity":1,
             "unit":"units",
             "unitPrice":5000,
             "taxRate":100,
             "taxAmount":50,
             "grossTotalAmount":"5000",
             "netTotalAmount":"5000"
          },
          {  
             "reference":"discount",
             "name":"discount",
             "quantity":1,
             "unit":"units",
             "unitPrice":0,
             "taxRate":0,
             "taxAmount":0,
             "grossTotalAmount":"-1000",
             "netTotalAmount":"-1000"
          },
    
       ]
    }
    
  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    Feb 22, 2021 @ 16:01
    Bjarne Fyrstenborg
    0

    Hi Bo

    I will try with the cancelUrl and see if it has any effect. Hopefully they will update the documentation, so developers know how to integrate with DIBS Easy.

    It seems the focus has more been on the embedded checkout option, but not much on the hosted payment window.

    Yes, you are right DIBS Easy require the order items to be set, which I already have configurated, but not all payment gateways require this, but for some acquirers like Klarna the do, e.g. in Adyen it isn't required, but if is if using Klarna: https://github.com/vendrcontrib/vendr-payment-provider-adyen

    I just tried generating a payment link using cancelUrl and it actually seems to redirect to this, when clicking "go back" from payment window.

    Need to test it further now.

    Do you have any further knowledge about the webhook headers? It has been added to the documentation, but nothing about what is used for. The authorization property is already returned as a header in the webhook notification event.

    /Bjarne

  • Bo Jacobsen 462 posts 1897 karma points
    Feb 23, 2021 @ 13:21
    Bo Jacobsen
    0

    Hi Bjarne.

    I think they updatet the webhook documentation again. So i guess you have to make a webhook for each event you want to get a server to server call.

    notifications - Used to get the status of a transaction (optional)

    webhooks - List of webhooks the merchant wants to register for the payment. Maximum number of webhooks is 32.

    eventName - Input the event you want to listen for

    • payment.created (When a payment is created)
    • payment.checkout.completed (When Checkout is completed)
    • payment.charge.failed (When a charge has failed)
    • payment.refund.failed (When a refund has not gone through)
    • payment.cancel.created (When a reservation has been canceled)

    url - The callback is sent to this url on the merchant site. Must be https. Maximum length is 256 characters.

    authorization - Authorization header of the callback sent to the merchant site will be set to this value. You may choose whatever key you want as long as it fits the format described in this section. Format: * 8 to 64 characters * "a-z," "A-Z", "0-9" and "-" (regex: [a-zA-Z0-9-])

    headers - I guess you can set custom headers here, that they return to you. But i dont know.

    "notifications":{  
          "webHooks":[  
             {  
                "eventName":"string",
                "url":"string",
                "authorization":"string",
                "headers": [
                   {
                      "string": "string"
                   },
                   {
                      "string": "string"
                   }
                ]
             }
          ]
       }
    

    One thing i just found out is that there aint no way to set an errorUrl atm, only cancelUrl and returnUrl. They said they are working on it (whatever that means)

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    Feb 24, 2021 @ 07:46
    Bjarne Fyrstenborg
    0

    The documentation looks pretty much the same as previous. The cancelUrl is working yet not documented.

    Only the headers on webhook events was added some time ago, but not documented furhter. I wonder what would happen if sending authorization headers since authorization property already is returned as header in the response.

    The payment provider is already using the payment.checkout.completed webhook event.

    Regarding capture, refund and cancel it is currently using the POST endpoints for these, but works well also if manage the actions from DIBS Easy portal, since the GET is checking payment status, but I guess it should work using the webhook events as well.

    /Bjarne

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    Feb 21, 2021 @ 19:45
    Bjarne Fyrstenborg
    0

    One of the major issues I also have with DIBS Easy is the lack of supported currencies, which may be a show stopper to some businesses, for example a webshop selling products in Denmark and United Kingdom and therefore use DKK and GBP.

    However DIBS Easy only support a few currencies: NOK, SEK, DKK & EUR as mentioned here: https://tech.dibspayment.com/easy/api/datastring-parameters

    If trying to use GBP the payment request with simple fail.

    Compared to DIBS D2 it supported more currencies - most important probably GBP and USD https://tech.dibspayment.com/D2/Toolbox/Currency_codes

    It may not be important to all webshops, but definitely something to consider, when choosing a payment gateway.

    /Bjarne

  • Bo Jacobsen 462 posts 1897 karma points
    Jun 23, 2021 @ 20:24
    Bo Jacobsen
    0

    Hi Bjarne.

    They still only accept these 4 currencies. I guess thats how it gonna be for now and must just be the limitation there is until they add more.

    Is the package ready for use and is it on Nuget?

    If its not ready we can maybe work on it, cause we soon need the provider for our new shop.

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    Jun 24, 2021 @ 06:31
    Bjarne Fyrstenborg
    0

    Hi Bo

    Yes, it is the plan to ship it as a package, but it will most likely replace DIBS D2 payment provider, which will still work, but is legacy. I think it is not possible to new customers to signup on the D2 platform and hence the Easy platform is recommended.

    I have tested the DIBS Easy implementation throughout with the basic features, which gift cards, discounts, custom price adjustments.

    I tried with GBP currency (which isn't supported according to the documentation) and the payment request failed.

    Their support mentioned they has this new tech site https://developers.nets.eu/nets-easy/en-EU/docs/ (which I was told should have been launched back in March 2021). This does however document that GBPand USD are supported as well, so it may work now (I haven't tested that though) https://developers.nets.eu/nets-easy/en-EU/api/#currency-and-amount

    /Bjarne

  • Bo Jacobsen 462 posts 1897 karma points
    Jun 24, 2021 @ 06:42
    Bo Jacobsen
    0

    Hi Bjarne.

    Maybe it could be a new provider called Vendr.PaymentProviders.Nets?

    DIBS changed name to NETS and going from a D2 to Easy account is a pain in the a.., because you need a completely new account with NETS.

    Maybe GBP and USD works now, but https://tech.dibspayment.com/easy/api/datastring-parameters still only says NOK, SEK, DKK & EUR.

    When do you think you ship the package?

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    Jun 24, 2021 @ 07:46
    Bjarne Fyrstenborg
    0

    Hi Bo

    Yes, Nets bought DIBS payment service some years ago. However for some time they haven't had a consistent naming of the products. It was still branded a DIBS or DIBS by Nets.

    In the working new documentation it is however Nets Easy, so it may make sense to add a new Vendr.PaymentProviders.Nets.

    The documentation here is the current / old one: https://tech.dibspayment.com/easy/api/datastring-parameters and isn't up-to-date.

    They has a new one here:

    https://developers.nets.eu/nets-easy/en-EU/docs/

    https://developers.nets.eu/nets-easy/en-EU/api/

    https://developers.nets.eu/nets-easy/en-EU/api/#currency-and-amount

    I asked Matt about this and he may has some time next week to test it and setup build task like it works with other payment providers, which end up on Our and NuGet.

  • Matt Brailsford 3148 posts 16481 karma points MVP 8x c-trib
    Jun 24, 2021 @ 07:53
    Matt Brailsford
    1

    Yup, this is very much me dragging my feet on reviewing this one so my apologies.

    If Nets are now calling it Nets Easy then I'm fine with it becoming Vendr.PaymentProviders.Nets.

    I will defo make a point of reviewing this next week.

    Thanks again for the great work on this Bjarne 🙌

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    28 days ago
    Bjarne Fyrstenborg
    0

    Hi Bo

    The payment provider has now been released. https://vendr.net/docs/payment-providers/nets/1.0.0/nets-easy/

    You can find it on Our: here https://our.umbraco.com/packages/website-utilities/vendr-contrib-payment-providers/

    Or install it via NuGet: https://www.nuget.org/packages/Vendr.Contrib.PaymentProviders.Nets/

    Let me know if you experience any issues and feel free to report them here: https://github.com/vendrcontrib/vendr-payment-provider-nets/issues

    /Bjarne

  • Bo Jacobsen 462 posts 1897 karma points
    1 week ago
    Bo Jacobsen
    0

    Thank you Bjarne.

    I will try to install and use it.

    Just waiting for our new demo account :D

    I will report any issues to https://github.com/vendrcontrib/vendr-payment-provider-nets/issues

    Thanks again :)

  • Bjarne Fyrstenborg 1206 posts 3557 karma points MVP 5x c-trib
    1 day ago
    Bjarne Fyrstenborg
    0

    Nets has finally documented cancelUrl property here: https://developers.nets.eu/nets-easy/en-EU/api/payment-v1/

    It should also be updated with latest features, where the old documentation didn't contain information about all features.

Please Sign in or register to post replies

Write your reply to:

Draft