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
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