How to get client ID and secret key from paypal account - api

Using developer account of paypal I could get client ID and secret key by creating an app but not with the live account.
I am using REST API for transactions on my website where I ask users(who has paypal accounts) to enter their client ID and secret key, and use this info to transfer the money into their account, payments are done by credit card.
It is working fine with the developer account but where is the option to get client ID and secret key from live account ?
OR
Is there any other way I can do this, I want to transfer the money to paypal accounts and payments are always done from credit card.

This has changed at PayPal. (Quite a lot actually!)
As before - log in to your PayPal account at: https://developer.paypal.com
PayPal, like everyone else, Wants to show ads. So you may have to look around to actually get to the developer website. Just keep looking until you get to where it has "Log in" at the top.
Once logged in click on the "Dashboard".
Once to the Dashboard click on the "My Account" FIRST- BEFORE anything else.
Once to the "My Account" part make sure you can do everything (ie: there are GREEN check marks in both columns. Or if you don't want to do some things - make sure they are NOT check marked.)
To activate (or Enable) something just click on the link and follow what it says to do.
Once through with that click on the "My Apps" link on the left. If you are no longer where you can do that then go back to #2 above and start over.
Once on the "My Apps" page; click on the link to "Create App".
This will ask you to name the app and select an account to develop the app with.
Once through putting in all of that information - you are through and PayPal will give you all of the information you need.
I don't know about anyone else - but that's just a few more steps than just logging in and clicking a button. :-)

You should use the new Developer Portal to create your Apps and get sandbox and live credentials for each: https://developer.paypal.com/

Log in to https://developer.paypal.com and click the Applications tab.
On the https://developer.paypal.com/webapps/developer/applications/myapps click Create App.
On the Create New App page, provide an app name.
Click Create App, and then review the information displayed about your app (as described below)
now you will get client id and secret key

Related

How do you pull customer data from Paypal?

What is the right procedure for pulling data about a customer (using OAuth to "Connect with Paypal" similar to the functionality that Stripe and Square provide) from Paypal?
The paypal documentation is confusing in two ways -
The OAuth scopes shown only have basic profile information like email, address, name, etc. and the link to the attributes page in the Account Information line item seems broken.
Other places mention that you have to sign onto the Paypal partner program to pull data on behalf of third parties.
So, for anyone that has gone through this - what is the right way to proceed/do I have to sign up to Paypal partner program? Is Permissions the right API to use?
I know broadly that connecting and fetching paypal account data is possible since, for example, Kabbage allows you to link your Paypal account and pulls data from it directly.
Connect with PayPal is so a user can click the CwPP button, sign into PayPal agreeing to give you access to certain profile information (based on the selected scopes) -- and then once they grant that permission and return, you're able to use the provided authorization code to access their profile information with its API.
In order to use CwPP in the live environment, your CwPP app has to be approved. You don't need to be in the PayPal partner program for this.

Empty POST request's body from Google Pay in program Loyalty Card

We faced with testing problem on the side Google Pay.
At the current stage, we get into the GPay only after Card registration on the side of our site, when after filling out the form user is redirected to the GPay page to create a new Card.
A Card is being created : we see it with the data that is entered into the form, but the GPay doesn't send any requests to our site. A special test environment from GPay is needed?
Google Pay's support service asks: "Are you receiving the POST from GPay when you attempt the enrollment flow from the app?"
How we can apply from GPay if we can't create a Card from GP at this stage?
The process of creating a Card is described in paragraph 1 (on the site side).
How to get into the GPay for enrollment at the testing stage?
Support service writes "When you submit your user details from GPay, it sends a POST request to your server so that when your page is displayed it contains the information from the user data form. "
As we pointed, at the current stage we can't send data from the GPay.
It was expected thatGoogle Pay's support service send a POST request to our site, but we don't see POST request's body. It is empty.
Therefore, we asked earlier, What internet service we can see it with?
They answered, as we understood, that we can see it by sending from GPay.
How to send it from the GPay, if at the testing stage we can only see
newly created cards and we don’t get any requests from GPay?
Is testing take place from GPay app?
If so, why don't we have an access?
We get a request POST, but with an empty request body.
The GPay has a lot of users with the Loyalty Card.
Someone has already come across this.
We didn't find such situations on the Internet.
How anybody have handled situations like this before?
How to create a new Card from GPay and see a POST request?
We do not have access to the class settings in the account. On Russian language, we do not see the callback feature, and on English technical support sends to us a screenshot - there are settings in the account. Could there be access rights issues?
To accoding with your link from paragraph 5 https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo - we did not find the insert barcode /manually settings. Can you tell us where to find them?
At the moment, we can scan the barcode in GPay app(due to help of GPay support service ), but we do not receive a Post request after inserting bar code in GPay app.
Our Russian account settings looks like:
GPay support service see our account on English so:
We don't see these settings for barcode.
In accordance with the documentation https://developers.google.com/pay/passes/guides/overview/how-to/use-callbacks, we set up a callback feature, but we do not receive a post request in the format json (php):
$responseJson_str = file_get_contents('php://input');
$responseJson = '[' . $responseJson_str . ']';
$response = json_decode($responseJson, true);
var_dump( $response);
$file_server = "server_calback.log";
$fw = fopen($file_server, "a");
fwrite($fw, "POST " . var_export($response, true) . "\n");
fclose($fw);
What is wrong?
I show a screenshot with the request POST to our site
https://itcrk.icu/testcallback.php
from https://reqbin.com/
At the beginning of testing stage, we implemented signin / signup as you indicated in points 1-6. We did this functionality was not because we needed it, but thought that it was necessary for testing.
Then we wrote in support team that we need a barcode/manually, as users of other cards are used to. We were answered that we need settings in the account, we did not find them. Support team helped us to configure the barcode in the account of the Merchant Center - Google.We insert barcode in the GPay , but we don’t get json on the site. We assume a problem with access rights in the Merchant Center - Google. How do other cardholders usually set up a barcode in their accounts? We do not have access to the settings n the Merchant Center - Google, unfortunately. Support team writes that there should be access, but it does not.
It turned out that there are two ways to work with cards in the GPay. The first method is described in the documentation here https://developers.google.com/pay/passes/guides/enrollment-signin, the second method is to scan the card(barcode/manually) and use it as a card storage, but card data is not sent to the user’s server.
The Loyalty card is simply displayed in the GPay with its number(from barcode/manually) and that's all.
Sign up and enrollment are triggered from the google pay app: https://developers.google.com/pay/passes/guides/enrollment-signin
You will see post once a user goes into the Google Pay app and hits add pass then finds your program and hits sign up/ sign in.
See 1-2.
You have to use the account you provide to support team - its only visible for them for testing.
It may not be from Google. Google requests have the body with the user details.
Go to google pay app and sign in with user that is whitelisted by support to see the program. Hit add pass, then loyalty program then search for your program then hit sign up/ sign in and it will post to the endpoint defined here: https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo
Let me also clarify enrollment and sign in. This is what a user sees, what the Google Pay app does and finally what a merchant needs to do:
Google Pay user navigates to passes tab in Google Pay App, hits "+ Pass":
Google Pay chooses which type of pass to add, hits loyalty for this example:
User searches and presses on the specific program they want to sign up for (theres a testing phase before it goes public, in which only accounts which you tell support team can see the program in google pay app):
User then fills out information to share and consents to share their information with this merchant, then they press continue.
Google Pay Then does a POST request with user info to endpoint defined here on the loyalty class by merchant: https://developers.google.com/pay/passes/rest/v1/loyaltyclass#discoverableprogrammerchantsignupinfo
Here is where merchant, yourself would have to be listening for POST to endpoint you defined in the setting mentioned previously and give user form to finish providing all details needed and then redirect to the JWT link to automatically save the pass.
See https://developers.google.com/pay/passes/partners/enrollment-signin for reference.
It turned out that there are two ways to work with cards in the GPay. The first method is described in the documentation here https://developers.google.com/pay/passes/guides/enrollment-signin, the second method is to scan the card(barcode/manually) and use it as a card storage, but card data is not sent to the user’s server. The Loyalty card is simply displayed in the GPay with its number(from barcode/manually) and that's all.

Account setup for use with REST API - signature or certificate credential option?

My boss is setting up a UK PayPal account for use with REST API for direct credit card payments and payouts.
During this process he's been asked to choose between signature and certificate credentials.
However as far as I understand the REST API uses OAuth 2.0 so what we need is an ID and secret associated to an App.
How should we proceed?
Setting up your credentials for REST is done on the developer site https://developer.paypal.com/. You are correct that the choice between "Signature" and "Certificate" is irrelevant in this case. Try the following:
Go to https://developer.paypal.com and log in using the email address and password of the live PayPal account that will be receiving payments.
Click on “Dashboard” up at the top of the page. You should see a list of your apps here. (If, instead, you see a sentence that says “Create your first app to view it here”, you will need to create at least 1 app)
Click the app name. You’ll see your client ID and Secret for the Sandbox. Toggle your view to “Live” in the upper right corner of the page to see the credentials for the live environment.
You can click on “Account Eligibility” to see what features are available for Live. If the feature isn’t already added there will be an “Enable” link to the right. Clicking on the link will start the request process for that feature.

How do I detect Google account deletion?

I've just started working with Google OAUTH2 in order to add a "Sign in with Google" button to my web site.
According to the "Google+ Platform Developer Policies" section B.2.a.III, if a user deletes their Google account, I must delete all personal information I obtained from the Google API relating to them.
Does this apply to my web application as well? And if so, how do I detect that a user's Google account no longer exists? Surely, a successful login will only occur if the Google account exists; so how can I tell if a previously existing account is no longer there?
Maybe someone has a better approach, but a simple and practical solution would be have a link buried somewhere on your site that allows a user to request account deletion via email (assuming you still possess a valid email for him - if he deletes is Gmail and that's all you have then you have no way to contact him other than manually via phone or something).
The doc you link to says Give users a reasonably convenient way to delete any of their personal information you’ve obtained from the API.
So assuming you still have a valid email address, this would work:
Your FAQ says "What if I want to delete my account?". Links to account deletion page.
Account deletion page: What's your email? _____ (Continue)
Email is sent to user with (securely randomized) confirmation link.
Confirmation link is clicked by user which deletes all of his data from your site.
Success of that process is dependent only on your system and the email arriving.
(If you are concerned about complying to EU data protection law, you might want to implement this feature anyway - since one legally has the right to demand the deletion of one's own personal data.)

Paypal create sandbox transaction

Anyone know how to create a transaction in the paypal sandbox?
It keeps saying go to my transactions software... all over it says my transaction software. Thing is.. I don't have transaction software. I'm just trying to get the details of a transaction. :)
I have an app that integrates with several back ends (ebay, westfield, google, amazon... ) if someone buys something from there, using paypal, I get a transaction ID. I want to be able to retrieve the details of the paypal transaction because (god love em) they allow the user to change the ship to address or add special instructions, but they don't pass that info back to the "merchant".
I was thinking I'd create a test user in the sandbox and then see if I can get the details of a transaction, sadly I don't see a way to create a transaction.
Anyone find their docs equally mystifying? I am in Nod.
You will have to create another test account ie one account will act as seller and other will act as buyer.
From sellers Paypal account, you will have to create button.
Steps to create PayPal button:
Login to your seller's test account in sandbox.
Click on 'Merchant Services' tab.
There you will find Create PayPal payment button
Fill out the form as per your requirement.
This will generate a HTML script.
Create a HTML file and copy paste this HTML script.
Open the HTML file, You will get a Paypal Button.
Click it and accept transaction by buyers PayPal account.