Third Party Permission Username Paypal API Magento - api

I need to use paypal credentials (username, password, signature) for my magento2 store.
For credentials, I logged in to my paypal business account (provided by my client) and then navigate to Tools > All Tools > API Credentials and then click "Grant API permissions" under Pre-built payment solution. After click, it ask me for Add New Third Party Permissions link
It returns me Please enter valid API username. exception when I enter the user ID from Profile and Settings > My account settings > Manage users
Also the user ID I'm using prompts this message "For compliance reasons, we need to verify the identity of this user. Confirm identity" link.
Is it the issue because my user is not confirmed? Or should I need to add some other "Third Party Permission username" ?

With Magento 2 you won't grant 3rd party permissions, the API Username that is being asked is one provided from your Shopping Cart Provider.
You'll go into the Profile of the account and request the API Signature that you'll copy and paste into Magento 2. From your steps: Tools > All Tools > API Credentials, you'll select "Manage API credentials" under NVP/SOAP API integration (Classic)
The next page may have you pass validation via text message or phone call, once you advance to the next page you'll be asked to create the API Signature, click "Agree and Submit".
The next page will provide you the API Signature that you'll copy and paste into your Magento Store.

Related

How to get the google sheets api credentials (client secrets, client id etc) and authorize through browser programmatically?

I am trying to authorize Sheets API v4 (including getting the credentials) through my webpage (let's suppose I have a button called "authorize google sheets"), so when anyone clicks that button they will be taken through the browser to authorize their google account (including creating credentials automatically), so that they do not have to go to console.developers.google.com/apis manually and create credentials.
Is there a way to do it or is there any way to not use credentials at all and authorize to sheets api?
I understand that you want to request some Sheets API operation to your webpage users. If that is the case, there is no need to access the users credentials. The users only need to login and approve your scopes for Google Servers to send you an authorization code to run the request. You can see a execution summary here:
First of all you would need to include the relevant OAuth 2.0 scopes in your server. Then you can ask users to login and consent your scopes. Here are the steps needed for asking for users approval, you could follow its examples as a guideline. Finally, you could use the generated tokens to call Sheets API. Please ask me any question if you have any doubt.

ServiceM8 Oauth Authentication not working

I am trying to set up an integration API between ServiceM8 and another 3rd party application. I need to create a webhook which requires Platform Services Authentication using Oauth.
I have created a developer account and a store item after which I got the APP ID and APP Secret which are required for the authenticatcation.
I initiated the authentication by redirecting the user to the url
https://www.servicem8.com/oauth/authorize?response_type=code&client_id=[App ID]&redirect_uri=[my redirect url]&scope=manage_jobs
The user was es expected directed to the login page.
However after logging in, instead of prompting the user to accept the required permissions and redirecting to the redirect_url the user is being redirected to the ServiceM8 dashboard page.
Can someone please help me.
Thanks

integrate login to my sites with OpenId or OAuth

i have a few site developed with zend framework 1 and zend framework 2,i wanna users register in main site and in other sites i want to have a login button ,if user click on login:
1- if user logged in in main site ago , user login without enter any information.
2- if user not logged in in main site a popup open and ask his username/password of main site ,then login to site.
i don't understand is that possible with OpenId or OAuth.
in OpenId user must generate a OpenId Id for example:
http://www.example.com/USERNAME
but i prefer user don't enter any additional information.
for example in the Stackoverflow you can use Google or Yahoo account.
if you wanna use yahoo account it asked your OpenId,but i don't know what system Google use that it not asked for any id and just user enter his email and password if is not logged in to his Google account,
I prefer Google System that user do not enter any Url to login.
sincerely
Clicking the Google button on the Stackoverflow login screen secretly fills the URL
https://www.google.com/accounts/o8/id
as OpenID URL. This is an XRDS file which tells the OpenID library where the auth server can be found.
The OpenID spec defines this in section 7.3.1:
If the end user entered an OP Identifier, there is no Claimed Identifier. For the purposes of making OpenID Authentication requests, the value "http://specs.openid.net/auth/2.0/identifier_select" MUST be used as both the Claimed Identifier and the OP-Local Identifier when an OP Identifier is entered.

create API credentials for paypal SANDBOX

Here https://developer.paypal.com/webapps/developer/docs/classic/api/apiCredentials/ there is article how to get API credentials for paypal
But when I logged to the for SANDBOX page the view was different
I do not see any "My selling Tools" link :
http://s49.radikal.ru/i125/1408/be/ee6c8d02449f.png
How can I create API credentials for paypal SANDBOX ?
Thanks!
You can go to PayPal's Sandbox Site
1.> Login with your Sandbox Account's email and password.
Example
Email: sandboxaccount#paypal.com
Password: testaccount14
[Note: the above credentials won't work. It's just an example]
2.>After you log-in, click on the 'Profile' option under 'My Account' tab
3.>Try to find the link which says 'Request API credentials'
4.>Now click on 'Set up PayPal API credentials and permissions' under 'Option 1 - PayPal API'
5.>Now click on 'View API Signature' under 'Option 2'
And that should show you the API Credentials(API Username, Password, Signature) for that account
Hope it helps.
NOTE:
PayPal Developer and PayPal Sandbox are two different sites.
PayPal Developer - allows you to sign-in to the developer's account, which lets you create PayPal sandbox accounts of different types. It also shows you the API credentials for the Sandbox accounts created within it. And also allows you to internally login to PayPal Sandbox account.
PayPal Sandbox - allows you to directly sign-in to the sandbox site for a particular sandbox account, using the Sandbox Email and Password that you set while creating the sandbox account(from developers site)
Actually, it's a little easier than going through the account. You can get them from within your developer account.
Just go to http://developer.paypal.com and login there. Then go to Applications, Sandbox Accounts, which is where you would have created the sandbox accounts to begin with.
Here you'll see a list of your sandbox accounts with a little drop-down arrow next to them. Click this to see some extra links: Profile | Notifications
Click Profile, and then you'll see a tab for API Credentials.
An even quicker way is to just use this tool. Login to that with your sandbox account and it will return the API credentials for that account.
2018 Update
Since the question has been asked, the site has been modified. Here is the new path to find your API credentials for paypal SANDBOX:
1) Go to https://www.sandbox.paypal.com/
2) Login with the seller sandbox account
3) Click on the Profile then click on Profile and Settings
4) Click on My sellings preferences
5) Click Update for API Access
6) Click on Manage API credentials in the box NVP/SOAP API integration (Classic)
7) Click on Show to see your credentials

How to implement "Share" button with GAE

I want to implement a "Share" button similar to Facebook´s "Like" button.
Is it possible to build an API on Google App Engine and allow users to login through 3rd party websites(after clicking on the "Share" button) to submit information to the API?
I want to prompt the user to select from multiple sign-in accounts when clicking on the "Share" button. Is there a way to prompt the user with the OpenID selector on a 3rd party website? What other options are there to prompt the user with multiple sign-in accounts?
Thanks!
1) Yes and its well documented.
Start here http://code.google.com/appengine/docs/python/users/overview.html#Authentication_Options
App Engine does not provide a user interface API for OpenID sign-in. Your OpenID sign-in user interface must allow the user to enter a URL that serves as an OpenID identifier. You might also include a pop-up menu listing the domain names of popular OpenID providers, along with a box for the user to type the unique part of the URL. For more information on the user interface for OpenID sign-in, see User Experience summary for Federated Login.
2) In the text I quoted they mention that your site need to ask the user for a an URL that serves as an OpenID identifier. That is exactly what you could use openid-selector for. The selector is a Javascript tool and runs on the client, not third party servers. You could have your share button bind the "onclick" event to open the selector.