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

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.

Related

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.

How can I recognize when user has added account in Yodlee Fast Link?

How can I recognize when user has added account in Yodlee Fast Link (for example an investment account) by going to the link.
What I want:
I am creating a link to "Fast Link";
User are following by this link;
He is adding a their account;
And in this point I wanna know that he has added something (for example by callback url). How?
Thanks!
Yes, this can be done. You can have a page hosted that can count the hits and use that page as callback URL in extra params for FastLink.
You can get more information on this at
https://developer.yodlee.com/Fastlink_2.0/FastLink_Integration_Guide_for_Web
The extra parameters that needs to be passed for achieving this is as below
callback=http://google.co.in where here google.co.in is your callback page
Regards,
Vijay
Yodlee have introduced a new event subscription service using webhooks. It is part of their YSL (Yodlee Service Language) product.
It can trigger events for following –
the MFA information is requested by the provider site to log in for
aggregating data
the Yodlee system has performed the login on the provider site
successfully
the Yodlee system has retrieved the account summary information from
the provider site successfully
the final status of account addition or update account APIs
Details -
https://developer.yodlee.com/apidocs/index.php#!/cobrand/eventSubscription
Please NOTE that Webhook event notifications will work only when you try to add the account using YSL APIs (manually).It doesn't work with FastLink. I have been informed by Yodlee Support. They also informed me that till date they don't have any client using webhook service, which was bit scary to know.

How to get client ID and secret key from paypal account

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

Twitter API - get Account Details from consumerKey and consumerToken

I inherited an application that has tons of users already authorized to get twitter data on their behalf.
The problem is the guy who created is not around anymore and I am left with consumerKey and consumerToken only.
That in itself is sufficient to interact with twitter API, but I now need to know the account details ( in particular the screen_name that created the app) .
I could not find any API to get such details. Any ideas on how to get it.?
There isn't a direct way to find the app owner's screen name, but here are a few things you can do to investigate:
Use the ConsumerKey and ConsumerSecret, that you have, to start the OAuth process.
On the Twitter Authorization screen, you can see the name of the app and who created it.
You might be able to do a Twitter search for the person who created the app and get their screen name.
Continue to authorize the app - this will put it in your app list.
Visit your personal Twitter Settings tab, click on Apps, and find the App that you authorized.
Click on the owner's name, which will lead you to a Web site.
The Web site might be the company Web site, in which case, there is no further help.
The Web site might belong to the owner and it might have a link to the owner's Twitter account where you can get their screen name.
Just know that there's nothing keeping you from using the ConsumerKey/ConsumerSecret that the other guy set up. You can create your own app - preferably with an account that belongs to the company with credentials that the company can access if you're no longer around. Then use the ConsumerKey/ConsumerSecret from the new app on subsequent deployments.

Google Tasks API authorization

I can see many related questions on SO, but none that answers exactly what I'm confused with.
I'm using Google Calendar API in a .NET desktop application that allows user to provide his/her username/password, logs in on his behalf and adds some events to the calendar. Now I want to do exactly the same thing for Tasks feature. I'm trying to use Google Tasks API for this, but have been told that I need to do some OAuth kind of authentication, and even before that, I need to go to my gmail account and set permissions and get my project "key" to enable it.
Now does every user of my application need to do these steps in their Gmail account? Or do I need to do this in MY gmail account once and then my application code will be able to use the generated project "key" to enable my users to add tasks to THEIR gmail tasks list?
Figured it out. For anyone having a hard time understanding this, here it is:
The "key" generation step needs to be done only once per application, not for each user who's going to use your application. To generate a key, login to your Google Account and go to Google APIs Console page. Click API Access button and that's where you can generate keys for different kinds of applications like browser apps, desktop apps, Android apps etc. After registration, you'll need to take Client ID, Client secret and API key from this page and put them into the code. Sample code (.NET) for task creation and several other Google features is available here.
Once your user runs your application, he'll be taken to his Google account in his default browser where he'll be asked if he wants to allow this application to write to his calendar/tasks list. This page will display your logo and description text too that you can provide at registration time. Once allowed, this step won't be required again in the next one hour (this may be adjustable, i don't know yet).