Accounts Payable Account not returned in QBO Account Query - intuit-partner-platform

In QBO, Select * From Account is not returning the Accounts Payable account in the result set. I am doing this in a Sandbox via API Explorer (and via C# SDK). Anyone know if this is by design or a bug?

Turns out it was an issue based upon an incorrect expectation on my end. I was testing the same functionality in integrating our app with both QBD and QBO. I had seen the AP account in the UI, but it was in QBD not QBO. I thought that the Accounts Payable account was a default account automatically created in QBO, but that was incorrect and the account was not in fact there in the QBO UI. Though it is a system created account, it is not created until you create your first vendor bill, at which time QBO then automatically creates this account.
So if you have a new QBO sandbox company, you will not see the AP account until you create your first vendor bill.

Related

PayPal account credentials for developer

I am trying to find out how to give a developer the least amount of access they need to my business PayPal account for my app. How should I set this up so I protect my private account information from the developer while allowing them enough access to develop?
They need access to test and develop with the PayPal APIs. I created a sandbox account for the app, I gave the developer the Sandbox ID and API Credentials along with the sandbox test accounts I created.
The developer asked if I could give them the login for my PayPal developer account so they can see the Dashboard for testing and see can transactions. I don't think this is the right way or they could access my bank, and company information.
I have read the PayPal documentation for information about this but can't find much. This guide has the most information I've found but not exactly what I am looking for.
In your account, go to your profile settings and find Manage Users. There you can add a user and select the amount of access they can have. Give them the username and password you make for them, NEVER give your email and password.
To get started using adding users to your account and managing their levels of access, log in to your PayPal account, go to your Profile, and click Manage Users under Account Information.
https://www.paypal.com/cgi-bin/webscr?cmd=p/sell/permissions-outside
Your developer does not need access to your account at all, regular paypal.com or developer.paypal.com.
They would simply login to developer.paypal.com with their own PayPal account and create their own test accounts for use in the sandbox. They can build your app using their own test accounts, and then hand it over to you so that you can simply update the API credentials with your live values and ensure the code is running live instead of against the sandbox at that point.
developer from India can create Paypal sandbox account as i am also from India and created sandbox account.
Use this,
https://www.paypal.com/businessprofile/mytools/apiaccess
go to paypal, all tools, you can see manage API, press update, then you'll see that screen. Im doing it right now, i don't know if it will work.

Which QBO Accounts Receivable account is the authoritative one?

I have a QuickBooks Online company with multiple A/R accounts. (It was converted from some flavor of QB Desktop.) How can I use the IPP QBO API v3 to figure out which one is authoritative. Neither Invoice nor Payment objects reference the A/R account unless I'm mistaken.
You can create on Invoice/Payment from QBO UI and retrieve the same using QBO V3 to see how those objects are referring your AR account.
"QuickBooks Online (QBO) is not designed to work with multiple Accounts Receivable (AR) and Accounts Payable (AP) accounts. The initial AR and AP accounts will be the default accounts. We encourage our customers to merge their accounts payable and receivable accounts. For more information on merging accounts, please see our related KnowledgeBase article 1221: How do I merge two accounts?
https://qboe.custhelp.com/app/answers/detail/a_id/1398/session/L3NpZC9mWkNLQXhSbC9wdGEvMQ%3D%3D/kw/change%20AR%20account/r_id/103898/sno/1
Create an invoice using the API. Then use the QBO reports api to run a balance sheet and see which A/R account changed.

Do I need 3rd party's Paypal API credentials to let them sell on my site using Payments Pro?

I am working on a website in which a facility pays us for membership. Their membership payment is the only money we receive. This payment is done via Paypal Website Payments Pro using the DoDirectPayment API.
These members then rent out their facility to customers by listing available blocks of time on our website. The customer would pay for this time block via credit card, also via DoDirectPayment, but this time the payment goes directly to the member's Paypal account.
I have found a lack of clear direction on what needs to be done to enable this. I know I could require all members to have a Paypal Payments Pro account ($30 per month) and store their API credentials (including passwords and signatures) in our system and those payments could be handled directly. But I am vaguely aware of the Third-Party app authorization option... I just can't find info on how it should be set up.
Is it possible to only store the member's Paypal email address and just ask them to authorize our app in their profile?
Also, I saw someone suggest the thrid-party payment recipient wouldn't even need a Pro account. If that is the case, what do I need to change about the API call (I'm using the NVP method) so that our Pro account is leveraged but payment is given to the member?
First, your members will need their own Pro account. The only way to try and get around that would be to have all of the funds come into your account and then disperse them accordingly. This is frowned upon by PayPal and will result in a suspended account.
You could indeed have users enter their API credentials into your application and store them with your customer's profile so that you can include them in API calls for that particular member. You'll want to make sure to encrypt these values if you end up doing that.
The proper way to handle it (since you're a hosted solution) would be using Permissions. You would use your own API credentials, but then pass an additional parameter to flag what account you're making that call on behalf of. This is where the Permissions come into play. Your members will need to Grant API Permission for your app to make the DoDirectPayment call on their behalf.
This can be done manually from within the PayPal account under API Access, or programatically via the Permissions API.
OK, I discovered the answer. I am sharing the detail here for others looking for this very elusive information:
My account (hosted solution) must be a Pro account.
Members who will be selling to customers on my site must also have Pro accounts. I tested the same code with a regular business account and the error said "This transaction cannot be processed due to an invalid merchant configuration."
Members do not have to give me all their API credentials.
The DoDirectPayment call is the same as if I were doing my own payment (almost). I use my own username, password, and signature. The way to send the money to another account is to include one more parameter called SUBJECT which should be the email address associated with the member's Paypal account (not their API username).
The member must grant my (third-party app) account permission. In my case I only needed the one Paypal labels "Process your customers credit or debit card payments." which should correspond to DIRECT_PAYMENT in API terminology.
Andrew's answer gave me some additional keywords to use in searches, and I appreciate the tip off to the Permission API. It did not directly answer the question, but that will be a nice feature to add to my app instead of making users go through their Paypal profile's to grant permission.

How to set up a PayPal sandbox "Seller" account, a "Buyer" account and an Application Tutorial

I am trying to set up a Web site which is using PayPal. Unfortunately the PayPal developer site/concept is heavily changed, so all tutorials I found are seem to be useless. For example this (very good) youtube tutorial which is very clear is using not existing pages and functions...
So please try to help me only with up to date information/tutorial.
Please note my questions is not about using API, it is about how to set up an app, and a testing sandbox configuration from the ground.
1) As far as I understand I must have a real PayPal account because dev site uses PayPal account for logon (new). Logged in with this account then I can create sandbox accounts. However I would like to create a "Seller" sandbox account and a "Buyer" sandbox account. (missed I something?) Using the new developer site it is not possible. I can create only one kind of sandbox account. In the referenced video there are two types of sandbox accounts: "seller" and "buyer" in the preconfigured accounts. Or "Seller" simply means Business account?
2) I must have an application id to use the API. Note: I inherited a working legacy code which is using the classic API, so no REST please. In the video (old PayPal dev site) there is a left side menu "API and Payment Card credentials" In the new PayPal dev site no such thing. Instead there is a "My Apps".
I've tried to set up an application. It approved automatically. In its metadata I see a live and a sandbox app id.
What is not clear: To what account is associated this newly created app? I've created it logged in with my real paypal credentials.
More: ??? When filling the app creation form there was an input field titled: "Supply Test Account Name and Password". First of all how can I type the name and a password to one input field? Secondly What is it? Maybe if I use this app with its sandbox app id then this account will be the Seller (got the money) and if I change the app id to the live one associated this app, then my real PayPal account got the money?
However my goal was to completely simulate the payment process so
1) Create a Seller sandbox account (got API credentials)
2) Associate an application to that Seller account, and get the app id.
3) Create a buyer sandbox account
4a) Configure my web site with Seller API credentials and sandbox app id
4b) Orchestrate a buy process using my website, PayPal API and the 2 sandbox account
5) Check the Seller and Buyer sandbox account's transactions.
Thanks in advance
Seller account = Business account
Buyer account = Personal account
You probably only need to create one of each in Developer Sandbox Accounts , but there's no limit if your testing requires some more
To obtain the new REST API credentials, create an App in My Apps & Credentials and select the sandbox Business account to use
Legacy APIs: If testing an old integration, you can still get Classic NVP/SOAP credentials for a business account by viewing its "Profile" within your list of sandbox accounts
Just found myself in the same situation. Like you say it seems to be constantly evolving - not even sure if some of the answers here are still up to date.
Walked through it like this:
Login at developer.paypal.com
Go to Applications tab
Click on the Sandbox accounts on the left hand side
Any sandbox accounts you already created will be listed. Big blue button Create Account to create more
Think of logging in to the sandbox with your real PayPal account as logging into your Sandbox. You do this at http://developer.paypal.com.
Once you are logged into your sandbox in the middle of the screen, click on "continue testing using Sandbox test accounts".
When the next screen comes up you will see a heading of Sandbox Test Accounts and to the far right of that a button to Create Account. Click on this and then you need to create a "Personal" buyer account (your sandbox buyer who you will test with) and a "Business" seller account (your sandbox seller who you will test with).
Set up each one of these as if you were setting up a new Paypal account.
When you have them created fully you will have fictitious bank accounts to work with.
Beyond that, you may wish to check out these tutorials http://www.developphp.com/list_php_video.php where the site goes in-depth with setting up PayPal payments on a website using your own custom, basic shopping cart with a PayPal IPN (instant payment notification). You want to scroll down to the "E-Commerce Website Tutorial...". Lessons 9-20 deal with the cart and accepting PayPal. This may be an older way to do things, but it will help you get a general grounding in working with PayPal IMHO.
You also can visit https://developer.paypal.com/webapps/developer/docs/ At the bottom of the column is a heading "Classic API's" that may provide the documentation you are looking for to move forward.
Good Luck!

Get PayPal account type using GetAdvancedPersonalData API

Hi I need to get PayPal account type (personal, pro, merchant, etc) using some sort of API call. I am looking into GetAdvancedPersonalData API, however in the documentation I don't see account type as a info I can retrieve.
First of all, is this possible?
If not what are my options?
Thanks
You need to be either pro or merchant holder to be able to use APIs.
If you are a personal account holder you can not authorise another provider to access your account through API
In your paypal account (sandbox or live) go to Profile > My Selling Preferences, If you do not see an API link there, means you need to upgrade your account to either a pro or merchant