Stripe Connect and multi-domain setup - stripe-payments

We are currently looking into implementing Stripe Connect to process payments on a multi-tenant platform. On this platform, each tenant has an own instance of our web application with their own database and their own domain. The deployment is triggered by the client’s online registration and fully automated, so we don’t know in advance when there will be a new application instance.
While this setup doesn’t seem to be a problem in general, we are facing problems with Stripe’s requirement to hardcode several URLs into Stripe’s dashboard, especially the webhook URLs and the return URL for the onboarding workflow. This does obviously not work for us, as we would add the URLs for each domain of our clients.
Is there a way to set these URLs through an API for each tenant or (in regard to webhooks) for a single transaction? Or is there some other way that might work in our scenario?

There is no way set these dynamically but there are workarounds if your instance separation allows it.
For the OAuth flow and the redirect URL you can have a generic URL in your own domain that handles the connection and then redirect to their domain afterwards based on a parameter or the session.
For the webhooks since you're using Connect you can actually receive all the events of the connected accounts in your platform directly:
https://stripe.com/docs/connect/webhooks
The drawback is that you'd need a way to notify their instances that something happened if you need the data stored in their separate databases (or you could handle it locally since you own the full server)

Related

Will Azure CDN be helpful on increasing performance of Microsoft bot framework work with Twilio Adapter

I have a bot developed using Microsoft-bot-framework, And for Whatsapp i am using Twilio-Adapter.
so for performace tuning if i create a CDN for my BotService-WebApp, will that be useful,
CDN works by creating a cache in different POP's and store static & content files there
so when the enduser tries to access website from different location, content will be cached in the nearest region & send response to the end user. But in case of Bot, end user send message in Whatsapp & using twilio webhook botframework will be invoked. so end user is not directly accessing out Bot, its connected through Twilio. Adding CDN to my BotService will work or not?
In my opinion, CDN will work in your case. Because all the service are from service provider anyway, so create CDN for bot service will be benefit to those contact with service provider. And you need to know that CDN also help user request to choose a better point(not only the nearest, but also a free, well point) to connect to service, e.g one endpoint burst into error or busy. Azure CDN will provide a new url to replace the former one, this is where it will work.
I think any assumption is smaller than the experiment result, you can try to use CDN first to test if it worked. Azure CDN is payed for usage the more you payed indicates the more useful it is.

Different webhook endpoints for different apps?

Is it possible to have different webhook endpoints for different apps in docusign? I don't seem to be able to set the app in the configurations for webhook
I think, you can try using DocuSign connect, where you can give two different webhook links for different apps. Docusign connect is also more secured.
https://support.docusign.com/en/guides/ndse-admin-guide-connect
Not through the web console - Account-level Connect configs are mostly all-or-nothing (although you can enable/disable them by sending user).
If you want one application's envelopes to write to one endpoint and another's to another, you need to set up both applications to include EventNotifications in the envelope definition.
EventNotifications are effectively a Connect configuration embedded into the envelope. They are documented in the schema of the CreateEnvelope call (https://developers.docusign.com/docs/esign-rest-api/reference/Envelopes/Envelopes/create/) and code examples are available here: https://www.docusign.com/blog/dsdev-common-api-tasks-add-a-connect-webhook-to-your-envelopes
You can create two or more webhook "subscriptions" for a single account. One subscribing URL can be used for one of the apps, the other for a second app.
However, both URLs will receive all the notifications (for both apps).
So you need a way for both URLs' servers to only pay attention to the notifications for their own application. Easiest way is to set a metadata envelope-level field in the envelopes. This can be done either via the Envelopes:create method or set within a template.

How to use Connect Services for event notifications in REST API with PHP SDK?

Helpers, I want to use Connect services with my DocuSign rest APIs integrated website. Could anyone help me out, Where can I get these in the GitHub? Basically the need is:
Once the document is fully executed, it will be routed via DocuSign connect to a folder which aligns with the name of the employee. This will require work on both the elected system as well as the DocuSign API to configure.
No problemo! These days, I suggest using an intermediate PaaS to queue and deliver the webhook notifications to your application which can live safely behind your firewall.
Here's a blog post on the technique. Note that we have PHP example software for this technique.
Once your PHP app is notified that an envelope is complete (fully signed), just download the documents from DocuSign and store them in your file system. Easy Peasy!

Imgur server-to-server request on-behalf of user?

I am currently designing a solution for a client and they which to create albums of images and display them on the website. The crux is that ideally we want to offload the hosting of the images to a third-party service (i.e. imgur). Is it possible with the imgur API to make requests on-behalf of a user without explicit (e.g. redirect with login) user consent?
FYI, this is not possible. If anyone is looking for a similar solution, none of the big players allow this type of integration. I ended up using a custom solution.

How to determine which app in web connector is calling the web service?

I have created a webservice by implementing the web connector callback methods and I have 2 apps running in webconnector for 2 usecases: invoices and customers.
I want to determine which app is triggering my web service so that I can decide whether to push customers or invoices to QB. How do I do it? I was hoping to do it through 'AppID' field but its not returned in every SendRequestXML call. In fact, not even in the first SendRequestXML call. Has anyone implemented these scenarious?
If you have two apps in the Web Connector, then each app should be using a different username, and pointing to a different URL.
If they're using the same URL or the same username... then you did something wrong and you should fix your implementation.
With that said... it sounds like you have sort of a wonky implementation anyway. Why do you have two apps for two different use-cases? Why not just send BOTH customers and invoices through the same app...?

Resources