Solved

Paypal RESTful API ASP.NET C#

Posted on 2014-03-02
2
2,879 Views
Last Modified: 2016-03-24
I am trying to implement the Paypal RESTful API to be able to receive payments on my website. At this stage I have been able to make the sample code work.

More specifically I have created a brand new application in VS2013 and copy pasted the following files from the sample API's: PaymentWithCreditCard.aspx, Response.aspx and Configuration.cs. The result is that I can successfully post payments to the sandbox and get a response of an approved payment. So far so good.

Problem N1 - retrieving an access token

I have replaced in the configuration class file the sample standard access token:

        private static string GetAccessToken()
        {
OAuthTokenCredential("EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM", "EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM", GetConfig()).GetAccessToken();
            return accessToken;
        }

Open in new window


with the following:

        private static string GetAccessToken()
        {
            var clientId = System.Configuration.ConfigurationManager.AppSettings["clientId"];
            var secretToken = System.Configuration.ConfigurationManager.AppSettings["secretToken"];
            var config = new Dictionary<string, string> { { "mode", "sandbox" } };

            OAuthTokenCredential tokenCredential = new OAuthTokenCredential(clientId, secretToken, config);
            string accessToken = tokenCredential.GetAccessToken();
            return accessToken;
        }

Open in new window


and i have also added in web.config the following:

  <configSections>
    <section name="paypal" type="PayPal.Manager.SDKConfigHandler, PayPalCoreSDK"/>
  </configSections>
  <paypal>
    <accounts>
      <account apiUsername="" apiPassword="" applicationId="" apiSignature="" />
    </accounts>
    <settings>
      <add name="mode" value="sandbox" />
    </settings>
  </paypal>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
  <appSettings>
    <add key="clientId" value="***********" />
    <add key="secretToken" value="***********" />
  </appSettings>
</configuration>

Open in new window


however I get a

Exception in HttpConnection Execute: Invalid HTTP response The remote server returned an error: (401) Unauthorized.

Open in new window


The sample files are from
https://github.com/paypal/rest-api-sdk-dotnet/tree/master/Samples/RestApiSample
0
Comment
Question by:Lambru
2 Comments
 
LVL 74

Accepted Solution

by:
käµfm³d   👽 earned 500 total points
Comment Utility
Nothing immediately stands out. Have you debugged through your code to ensure that lines 3 and 4 actually have the correct values?
0
 

Author Closing Comment

by:Lambru
Comment Utility
Issue sorted, was using wrong client id client secret.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This tutorial demonstrates how to identify and create boundary or building outlines in Google Maps. In this example, I outline the boundaries of an enclosed skatepark within a community park.  Login to your Google Account, then  Google for "Google M…
The viewer will learn how to dynamically set the form action using jQuery.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now