Sample Code
.NET Class Library for PayPal SOAP API
PayPal SOAP API Example
    Imports System
    Imports Encore.PayPal.Soap.API
    Partial Public Class ExpressCheckoutSOAP 
      Inherits System.Web.UI.Page
      Protected Sub checkoutButton_Click(ByVal sender As Object, ByVal e As EventArgs)
01      Dim SetECReqType As SetExpressCheckoutRequestType = New SetExpressCheckoutRequestType
02      Dim SetECReqTypeDetails As SetExpressCheckoutRequestDetailsType = New SetExpressCheckoutRequestDetailsType
03      Dim SetECRes As SetExpressCheckoutResponseType = New SetExpressCheckoutResponseType
04      Dim SetECReq As SetExpressCheckoutReq = New SetExpressCheckoutReq
05      SetECReqType.Version = "2.20"
06      SetECReqTypeDetails.OrderTotal = New BasicAmountType
07      SetECReqTypeDetails.OrderTotal.currencyID = CurrencyCodeType.USD
08      SetECReqTypeDetails.OrderTotal.Value = (Decimal.Parse(amountTextBox.Text)).ToString("f")
09      Dim basePath As String = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, string.Empty) & Request.ApplicationPath
10      SetECReqTypeDetails.ReturnURL = basePath & "/Sample/ExpressCheckoutSOAP.aspx"
11      SetECReqTypeDetails.CancelURL = basePath & "/Default.aspx"
12      SetECReqType.SetExpressCheckoutRequestDetails = SetECReqTypeDetails
13      SetECReq.SetExpressCheckoutRequest = SetECReqType
14      Dim user As UserIdPasswordType = New UserIdPasswordType
15      user.Username = "merchant_api1.yourcompany.com"
16      user.Password = "DQG56Q9XBGLLVCT7"
17      user.Signature = "ASrHfrzw1kpJnGVmM9wRAYnP.yI7AdhPcBZ2ceW7d8EECPYBxcM8dd1w"
18      Dim PPInterface As PayPalAPIAASoapBinding = New PayPalAPIAASoapBinding
19      PPInterface.Url = "https://api-3t.sandbox.paypal.com/2.0/"
20      PPInterface.RequesterCredentials = new CustomSecurityHeaderType
21      PPInterface.RequesterCredentials.Credentials = user
        Try
22        SetECRes = PPInterface.SetExpressCheckout(SetECReq)
23        If SetECRes.Ack = AckCodeType.Success Then 
24          Session("OrderTotal") = SetECReqTypeDetails.OrderTotal.Value
25          Dim SBredirectURL As String = "https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token="
26          Response.Redirect(SBredirectURL & SetECRes.Token)
          Else
            messageLabel.Text = SetECRes.Errors(0).LongMessage
          End If
        Catch ex As Exception
          messageLabel.Text = ex.ToString;
        End Try
      End Sub
      
      Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        If Request.QueryString.Get("token") IsNot Nothing Then
27        Dim GetECDetailsRes As GetExpressCheckoutDetailsResponseType = New GetExpressCheckoutDetailsResponseType
28        Dim GetECDetailsReqType As GetExpressCheckoutDetailsRequestType = New GetExpressCheckoutDetailsRequestType
29        Dim GetECDetailsReq As GetExpressCheckoutDetailsReq = New GetExpressCheckoutDetailsReq
30        GetECDetailsReqType.Version = "2.20"
31        GetECDetailsReqType.Token = Request.QueryString.Get("token")
32        GetECDetailsReq.GetExpressCheckoutDetailsRequest = GetECDetailsReqType
33        Dim PPInterface As PayPalAPIAASoapBinding = New PayPalAPIAASoapBinding
34        Dim user As UserIdPasswordType = New UserIdPasswordType
35        user.Username = "merchant_api1.lexika.com"
36        user.Password = "DQG57Q9XAGLLVCT7"
37        user.Signature = "ASrHfrzw1jpJnGVmM9WrAYnP.yI7AdhPcAZ2cEW7d8EECPYBxcM8dd1w"
38        PPInterface.Url = "https://api-3t.sandbox.paypal.com/2.0/"
39        PPInterface.RequesterCredentials = New CustomSecurityHeaderType
40        PPInterface.RequesterCredentials.Credentials = New UserIdPasswordType
41        PPInterface.RequesterCredentials.Credentials = user
          Try
42          GetECDetailsRes = PPInterface.GetExpressCheckoutDetails(GetECDetailsReq)
43          If GetECDetailsRes.Ack = AckCodeType.Success Then
44            Dim DoECPmtReqDetails As DoExpressCheckoutPaymentRequestDetailsType = New DoExpressCheckoutPaymentRequestDetailsType
45            Dim DoECReqType As DoExpressCheckoutPaymentRequestType = New DoExpressCheckoutPaymentRequestType
46            Dim DoECPmtReq As DoExpressCheckoutPaymentReq = New DoExpressCheckoutPaymentReq
47            Dim DoECPmtRes As DoExpressCheckoutPaymentResponseType = New DoExpressCheckoutPaymentResponseType
48            DoECReqType.Version = "2.20"
49            DoECPmtReqDetails.Token = GetECDetailsRes.GetExpressCheckoutDetailsResponseDetails.Token
50            DoECPmtReqDetails.PayerID = GetECDetailsRes.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerID
51            DoECPmtReqDetails.PaymentAction = PaymentActionCodeType.Sale
52            DoECPmtReqDetails.PaymentDetails = New PaymentDetailsType
53            DoECPmtReqDetails.PaymentDetails.OrderTotal = New BasicAmountType
54            DoECPmtReqDetails.PaymentDetails.OrderTotal.currencyID = CurrencyCodeType.USD
55            DoECPmtReqDetails.PaymentDetails.OrderTotal.Value = Session("OrderTotal").ToString
56            DoECReqType.DoExpressCheckoutPaymentRequestDetails = DoECPmtReqDetails
57            DoECPmtReq.DoExpressCheckoutPaymentRequest = DoECReqType
58            PPInterface = New PayPalAPIAASoapBinding
59            PPInterface.Url = "https://api-aa.sandbox.paypal.com/2.0/"
60            PPInterface.RequesterCredentials = New CustomSecurityHeaderType
61            PPInterface.RequesterCredentials.Credentials = New UserIdPasswordType
62            PPInterface.RequesterCredentials.Credentials = user
63            DoECPmtRes = PPInterface.DoExpressCheckoutPayment(DoECPmtReq)
64            If DoECPmtRes.Ack = AckCodeType.Success Then
                messageLabel.Text = "DoExpressCheckoutPayment Successful"
              Else
                messageLabel.Text = DoECPmtRes.Errors(0).LongMessage
              End If
            Else
              messageLabel.Text = GetECDetailsRes.Errors(0).LongMessage
            End If
          Catch ex As Exception
            messageLabel.Text = ex.ToString
          End Try
        End If
      End Sub
    End Class
    


Encore Class Library Example
    Imports System
    Imports Encore.PayPal.Soap
    Partial Public Class ExpressCheckoutClass
      Inherits System.Web.UI.Page
      Protected Sub checkoutButton_Click(ByVal sender As Object, ByVal e As EventArgs)
01      Dim PPSet As SoapSetExpressCheckout = New SoapSetExpressCheckout
02      PPSet.Request.OrderTotal = Decimal.Parse(amountTextBox.Text)
03      PPSet.Request.ReturnPage = "Sample/ExpressCheckoutClass.aspx"
04      PPSet.Request.CancelPage = "Default.aspx"
05      If PPSet.PostRequest Then
06        Session("OrderTotal") = PPSet.Request.OrderTotal.ToString("f")
07        Response.Redirect(PPSet.Response.RedirectUrl)
        Else
          messageLabel.Text = PPSet.Response.APIResponse.LongMessage
        End If
      End Sub
      
      Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        If Request.QueryString.Get("token") IsNot Nothing Then
08        Dim PPGet As SoapGetExpressCheckoutDetails = New SoapGetExpressCheckoutDetails
09        PPGet.Request.Token = Request.QueryString.Get("token")
10        If PPGet.Post Then
11          Dim PPPay As SoapDoExpressCheckoutPayment = New SoapDoExpressCheckoutPayment
12          PPPay.Request.Token = PPGet.Response.Token
13          PPPay.Request.PayerID = PPGet.Response.PayerInfo.PayerID
14          PPPay.Request.PaymentDetails.OrderTotal = Decimal.Parse(Session("OrderTotal").ToString)
15          If (PPPay.PostRequest Then
              messageLabel.Text = "DoExpressCheckoutPayment Successful"
            Else
              messageLabel.Text = PPPay.Response.ErrorList(0).LongMessage
            End If
          Else
            messageLabel.Text = PPGet.Response.ErrorList(0).LongMessage
          End If
        End If
      End Sub