Website with Quickbooks Online Integration without Sign in - api

I'm looking for a solution where a customer will fill out a payment form (subscription base) and customer information form on my website. The payment will go to the QuickBooks Merchant Service and charge them every month automatically. We will also add the customer info to QuickBooks Online.
How can I do this without a sign in process since the customer will have no QuickBooks account or QuickBooks Merchant account. Also can I achieve this with no e-commerce storefront like BigCommerce.
I tried using the QuickBooks PHP DevKit "consolibyte/quickbooks-php" and everything works but you have to sign in first.
Thanks.
I was searching some more and will this help me out > "QuickBooks PHP DevKit for the Web Connector". I'll keep reading the docs.

How can I do this without a sign in process since the customer will have no QuickBooks account or QuickBooks Merchant account.
Use this library:
https://github.com/consolibyte/quickbooks-php
And follow the quick-start guide here:
for QuickBooks ONLINE: http://www.consolibyte.com/docs/index.php/PHP_DevKit_for_QuickBooks_-_Intuit_Partner_Platform_Quick-Start
for QuickBooks for WINDOWS: http://www.consolibyte.com/docs/index.php/PHP_DevKit_for_QuickBooks_-_Quick-Start
Also can I achieve this with no e-commerce storefront like BigCommerce.
Yes.
everything works but you have to sign in first.
You have to sign in ONCE. Exactly ONCE. And then you NEVER NEED TO SIGN IN AGAIN. Of course you have to sign in at least once - how else would QuickBooks know that it's actually you wanting to exchange data with QuickBooks, and not some random hacker half-way across the world?
The sign-in is to authenticate and connect to QuickBooks THE VERY FIRST TIME ONLY. After THE FIRST SIGN IN, YOU NEVER HAVE TO SIGN IN AGAIN and can communicate without a sign-in.
This is standard OAuth, like every other OAuth platform on the planet. You sign in once to a authenticate yourself, and then you can do whatever you want from there on out.

Related

How do developers handle 3rd party account creations for their clients?

As an ios/android app developer, my pain point is having clients sign up for the various 3rd party accounts needed for their app to work (e.g. google cloud, mapbox, firebase, etc.), however with 2-factor authentication (2fa) being a requirement on most accounts, it makes it difficult to get into these accounts easily as the developer (since 2fa requires a code being sent to the client which must be entered in a limited time period).
Has anyone found an easy solution for working with 3rd party accounts for their clients especially when 2fa is being used?
Well, at least Google Cloud and Firebase in this case have the option to add additional users under a given role. In this case you would likely want the client to be Owner of the project, and ask them to invite you as a developer, this way you can sign in with your own Google account (either gmail or your personal if you use google workspace), hence bypassing the need for 2FA.
In general, there are things that you don't really want access to as developer, such as billing information, so it makes sense to ask for limited access. Both Firebase and GCP have predefined roles for this, you can do some research on them to find out which makes the most sense for you and advice your client.
Read more about the roles here:
GCP: https://cloud.google.com/iam/docs/understanding-roles
Firebase: https://firebase.google.com/docs/projects/iam/roles
Side note:
If you are working as a freelancer, I would recommend to never create accounts for your clients, if you are working with specific service, ask your client to setup the account (this will primarily protect you, if the client backs out or the server costs for development build up if the project is taking long time to finish)

How do you setup One website linked to many Xero Accounts

My client wants to build an website app that allows customers to link their Xero account to the website so that certain actions such as create/manage employees can be updated in the website and also pushed to the respective user's Xero account.
I've been through the basics of connection to the Xero API and had to create/install certificate and generate Xero keys etc to get both apps talking to each other. This is not a feasible approach for end users of the site trying to connect their Xero account as it requires sharing a key etc that is supposed to be secret.
Is there a way to create a connection using just some sort of Xero key - similar to linking Xero accounts? Or it the case that my client would need to become a Xero Partner and actually create an app that users can install from their Xero account?
The Xero API has a number of different types of applications - sounds like you've set up a private app, which (as you've spotted) is intended for interaction with a single Xero organisation.
To interact with multiple Xero accounts, you'll want to create a public app on https://developer.xero.com/myapps/. This will allow you to send multiple users through the OAuth1.0a auth process, giving you an access token for each account that has authorised your app. You can then persist these tokens and match them to the account in your own web app.
Note that this will give you access to each Xero account for 30 minutes before the user will need to authorise your app again. For long-lasting access tokens, you'll need to register your interest via the link in this page to get information on how to complete this process.

Square usage with multiple client websites

The firm I work for sells and installs a website under the client's desired url. This is my first time dealing with any type of payment system.
I've created a SquareUp application in my own account but am lost as to whether each client website needs their own SquareUp application. I realize that there is the option for my SquareUp application to be given permission to access other SquareUp accounts.
Edit:
I think the OAuth API would work if I had many clients accessing the same website but each client has their own installed copy of the website we sell.
So lets say my firm makes a hotel reservation website that can be easily customized through settings. So we sell a website to Bob's Motel and his new url is www.bobsmotel.com and his web installation is complete separate from other of our clients.
In the SquareUp Application Dashboard, under my SquareUp account, does Bob's Motel get its own Application or does Bob in his SquareUp account create an application and I use those ID's in my settings file?
Square’s OAuth API will be what you’ll use to let up to 500 Square merchants authorize your application. Before you get started, please visit Square’s Developer Doc for more information about our OAuth API (https://docs.connect.squareup.com/basics/oauth/overview).

Can I use PayPal to send payments on a client's behalf?

I'm developing a B2B web app and one of the planned features is to initiate and process payments from a user's PayPal account to a third party email (for example to pay a supplier on the user's behalf). Assuming I can get users to authorise our integration with their PayPal account, is there existing functionality from PayPal (presumably through an API) to enable us to do this? If there is does anyone know what the functionality is called and what level of authentication/permission I'd need from users?
Many thanks for any help.
Take a look at the PayPal Permissions API.

Is there a standard for using credentials from one web app to automatically log in to a partner app?

I am developing a web app that will be working with other companies web apps. Part of the desired user experience is that users on our web application will be able to log into our app, and be able to visit our parters' web applications. Accounts will be automatically created for the users on our partners' sites. We'd like them to be able to enter the partner sites already authenticated, without having to log in or authorize anything (like with OpenID or OAuth), similar to the relationship between a bank and a credit card rewards program. Is there an existing standard that covers this?
Single Sign On often used for such functionality.
There are a lot of implementations.
I used in production Jasig CAS