• Resolved nvoyed

    (@nvoyed)


    Hello,
    for our bank we need the sepa direct debit mandates of our customers. I had already looked in the database and found a mandat_url under the database woocommerce_payment_tokenmeta which shows a mandate from Stripe in the test accounts.

    However, for the current live customers, there is NULL under mandat_url. In Stripe, I can only find a mandate ID. Where should i look? Also, where are the full IBAN numbers stored?

    Thanks in advance

Viewing 14 replies - 1 through 14 (of 14 total)
  • Plugin Author Payment Plugins

    (@mrclayton)

    Hi @nvoyed

    Also, where are the full IBAN numbers stored?

    The full IBAN number is not stored on your server, it’s tokenized just like a credit card. It would not be wise to store a full IBAN for security reasons.

    The Stripe plugin will always set the mandate_url if it’s provided by Stripe. Is there anything different about your test scenario for example, are you saving the SEPA payment method in test mode?

    Thanks,

    Thread Starter nvoyed

    (@nvoyed)

    The payment data is also stored in the live version, so I am surprised that there is no mandate URL stored there. At Stripe itself there is only one mandate ID.

    The question regarding the IBAN is because when payments fail, an error is often displayed because the mandate is incorrect This PaymentIntent requires a mandate, but no existing mandate was found.. As far as I know you can only initiate the debit again if you enter the IBAN again.

    Is there any way to bypass this error? Because there is an existing mandate. Or am i wrong?

    Thank you!

    Thread Starter nvoyed

    (@nvoyed)

    In the meantime, I have received a response from Stripe Support. Unfortunately, I am not a developer. Can you help me in this case?

    Our team of experts has determined the following regarding the SEPA mandate:

    The SEPA Direct Debit Mandate is automatically generated as part of confirming a PaymentIntent/SetupIntent or accepting a payment via Checkout.

    The Stripe ID for the mandate is in the Payment_method_details of the successful debit related to PaymentIntent:

    https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-sepa_debit-mandate

    or present in the successful SetupAttempt associated with a SetupIntent:

    https://stripe.com/docs/api/setup_attempts/object#setup_attempt_object-payment_method_details-sepa_debit

    The full details of the mandate, including URL and reference number, can then be retrieved via the API:

    https://stripe.com/docs/api/mandates/retrieve

    This solution may require developer support.

    Thank you very much in advance!

    Plugin Author Payment Plugins

    (@mrclayton)

    Hi @nvoyed

    We’ll have to take a closer look at why the mandate url is not present in live mode and would require an additional API call as compared to test mode.

    That sounds odd that Stripe would have differing behavior so we’ll investigate and get back to you. Can you provide us with an explanation of why you need the mandate url set in the properties of the payment method meta table? Is there a specific use case in which you need it?

    Kind Regards,

    Thread Starter nvoyed

    (@nvoyed)

    Yes, of course. With the mandate URL we have access to the current mandate with all information of the customer regarding of the running subscription. We would like to store this in our accounting system to have all documents available in case of questions from our bank or customers.

    Thank you for taking further steps and see what the reason is that the URL is not saved in the live payments. I am waiting for your feedback.

    Plugin Author Payment Plugins

    (@mrclayton)

    Hi @nvoyed

    We’ve confirmed that the mandate url would have to be retrieved using an additional API request, using the mandate ID provided in the payment method details.

    Here is an example of a mandate_url that can be retrieved.

    https://hooks.stripe.com/adapter/sepa_debit/file/src_1MXxKnLVwyrKELh7y4qgAFHI/src_client_secret_VrzVQ3Nxv8KR8dsqimWvhTs3

    Can you confirm if that is the mandate url you are referring to?

    Kind Regards,

    Thread Starter nvoyed

    (@nvoyed)

    Hi @mrclayton

    that is correct. I can confirm, that this is exactly the same mandate url and given informations as in test mode! How exactly can I access the current mandates?

    Kinds regards

    Plugin Author Payment Plugins

    (@mrclayton)

    @nvoyed There are several options which are being reviewed.

    1. The token stored in the WC token table will contain the mandate ID. Developers/Merchants can then use that mandate ID to retrieve the URL.
    2. The mandate ID can be used to fetch the mandate URL and store the url directly in the token table.

    The issue with option 2 is it requires an additional API request to Stripe.

    Kind Regards,

    Thread Starter nvoyed

    (@nvoyed)

    @mrclayton Thank you for explaining the functionality in more detail.

    So is there a way to get the mandate URL of my existing mandates using the mandate ID? In the URL there is a src _ID and a src_client_secret which I dont know where to get from.

    I assume that this function will be included in the next update?

    Plugin Author Payment Plugins

    (@mrclayton)

    @nvoyed Version 3.3.37 now includes the mandate url for the saved SEPA payment method.

    Thread Starter nvoyed

    (@nvoyed)

    @mrclayton thank you!

    Where exactly now the mandate url will be displayed?

    Plugin Author Payment Plugins

    (@mrclayton)

    @nvoyed The mandate url is located in the woocommerce_payment_tokenmeta table.

    Thread Starter nvoyed

    (@nvoyed)

    @mrclayton Sorry to reopen this topic. We just waited for a payment to be debited again and still there is NULL in the woocommerce_payment_tokenmeta on the live SEPA payment method saved. The plugin is of course updated to 3.3.37.

    Have I forgotten something?

    Plugin Author Payment Plugins

    (@mrclayton)

    @nvoyed The mandate url will be populated for SEPA payment methods saved after the 3.3.37 update, not older SEPA payment methods that had been saved prior to that version.

    We’d have to add a seperate set of logic to retrieve the mandate url for payment methods saved prior to 3.3.37 and there are performance considerations with that approach.

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘View SEPA direct debit mandates.’ is closed to new replies.