Exemplo n.º 1
0
        public string RunTransactionSearch(DateTime StartDate, TransactionSearchParam param, string delimiter)
        {
            string sOut = "";
            TransactionSearchRequestType transSearch = new TransactionSearchRequestType();

            // Set up the TransactionSearch
            TransactionSearchReq request = new TransactionSearchReq();

            transSearch.StartDate = StartDate;

            request.TransactionSearchRequest = new TransactionSearchRequestType();
            transSearch.Version = PayPalServiceUtility.PayPalAPIVersionNumber;
            transSearch.CurrencyCodeSpecified = false;
            transSearch.EndDateSpecified      = false;
            transSearch.StatusSpecified       = false;

            //set the params
            transSearch.StartDate = StartDate;
            transSearch.EndDate   = param.EndDate;

            #region args list
            int args = 1;
            if (param.TransactionID != "")
            {
                transSearch.TransactionID = param.TransactionID;
                args++;
            }

            if (param.Amount != "")
            {
                transSearch.Amount       = new BasicAmountType();
                transSearch.Amount.Value = param.Amount;
                args++;
            }
            if (param.PayerEmail != "")
            {
                transSearch.Payer = param.PayerEmail;
                args++;
            }

            if (param.Currency != "")
            {
                transSearch.CurrencyCodeSpecified = true;
                args++;
            }

            if (param.ItemNumber != "")
            {
                transSearch.AuctionItemNumber = param.ItemNumber;
                args++;
            }

            if (param.LastName != "")
            {
                transSearch.PayerName          = new PersonNameType();
                transSearch.PayerName.LastName = param.LastName;
                args++;
            }

            if (param.FirstName != "")
            {
                transSearch.PayerName           = new PersonNameType();
                transSearch.PayerName.FirstName = param.FirstName;
                args++;
            }

            if (param.PaymentStatus != "")
            {
                transSearch.StatusSpecified = true;
                args++;
            }

            if (param.PaymentType != "")
            {
                transSearch.TransactionClassSpecified = true;
                args++;
            }
            #endregion

            request.TransactionSearchRequest = transSearch;

            //if there are more than 0 args set, run the transaction
            if (args > 0)
            {
                //run the transactioon
                TransactionSearchResponseType response = service.TransactionSearch(request);

                StringBuilder sb = new StringBuilder();
                sb.Append("Status: " + response.Ack.ToString() + delimiter);
                sb.Append("*********** Results ***************" + delimiter);
                if (response != null)
                {
                    sb.Append("Ack" + response.Ack + delimiter);
                    sb.Append("Version" + response.Version + delimiter);
                    sb.Append("Build" + response.Build + delimiter);
                    sb.Append("CorrelationID" + response.CorrelationID + delimiter);

                    if (response.TimestampSpecified)
                    {
                        sb.Append("Timestamp" + response.Timestamp + delimiter);
                    }
                    else
                    {
                        sb.Append("Timestamp Not specified" + delimiter);
                    }

                    //PaymentTransactionSearchResultType[] trans=new PaymentTransactionSearchResultType();

                    //sb.Append( "PaymentTransactions: "+response.PaymentTransactions.Length.ToString()+delimiter );
                    if (response.PaymentTransactions != null)
                    {
                        foreach (PaymentTransactionSearchResultType trans in response.PaymentTransactions)
                        {
                            sb.Append("TransactionID: " + trans.TransactionID + delimiter);
                            sb.Append("FeeAmount: " + GetAmountValue(trans.FeeAmount) + delimiter);
                            sb.Append("GrossAmount: " + GetAmountValue(trans.GrossAmount) + delimiter);
                            sb.Append("NetAmount: " + GetAmountValue(trans.NetAmount) + delimiter);
                            sb.Append("Payer: " + trans.Payer + delimiter);
                            sb.Append("PayerDisplayName: " + trans.PayerDisplayName + delimiter);
                            sb.Append("Status: " + trans.Status + delimiter);
                            sb.Append("Timestamp: " + trans.Timestamp.ToLongDateString() + delimiter);
                            sb.Append("Type: " + trans.Type.ToString() + delimiter);
                            sb.Append("--" + delimiter + delimiter);
                        }
                    }

                    sOut = sb.ToString();
                }
                else
                {
                    sOut = sb.ToString() + delimiter + "No Results!";
                }
            }
            else
            {
                throw new Exception("You must specify at least one search paramater");
            }

            return(sOut);
        }
Exemplo n.º 2
0
        public DataTable GetTransactionSearch(DateTime StartDate, TransactionSearchParam param, string delimiter)
        {
            DataTable table = new DataTable("results");
            TransactionSearchRequestType transSearch = new TransactionSearchRequestType();

            // Set up the TransactionSearch
            TransactionSearchReq request = new TransactionSearchReq();

            transSearch.StartDate = StartDate;

            request.TransactionSearchRequest = new TransactionSearchRequestType();
            transSearch.Version = PayPalServiceUtility.PayPalAPIVersionNumber;
            transSearch.CurrencyCodeSpecified = false;
            transSearch.EndDateSpecified      = false;
            transSearch.StatusSpecified       = false;

            //set the params
            transSearch.StartDate = StartDate;
            transSearch.EndDate   = param.EndDate;

            #region args list
            int args = 1;
            if (param.TransactionID != "")
            {
                transSearch.TransactionID = param.TransactionID;
                args++;
            }

            if (param.Amount != "")
            {
                transSearch.Amount       = new BasicAmountType();
                transSearch.Amount.Value = param.Amount;
                args++;
            }
            if (param.PayerEmail != "")
            {
                transSearch.Payer = param.PayerEmail;
                args++;
            }

            if (param.Currency != "")
            {
                transSearch.CurrencyCodeSpecified = true;
                args++;
            }

            if (param.ItemNumber != "")
            {
                transSearch.AuctionItemNumber = param.ItemNumber;
                args++;
            }

            if (param.LastName != "")
            {
                transSearch.PayerName          = new PersonNameType();
                transSearch.PayerName.LastName = param.LastName;
                args++;
            }

            if (param.FirstName != "")
            {
                transSearch.PayerName           = new PersonNameType();
                transSearch.PayerName.FirstName = param.FirstName;
                args++;
            }

            if (param.PaymentStatus != "")
            {
                transSearch.StatusSpecified = true;
                args++;
            }

            if (param.PaymentType != "")
            {
                transSearch.TransactionClassSpecified = true;
                args++;
            }
            #endregion

            request.TransactionSearchRequest = transSearch;

            //if there are more than 0 args set, run the transaction
            if (args > 0)
            {
                //run the transactioon
                TransactionSearchResponseType response = service.TransactionSearch(request);

                if (response != null)
                {
                    if (response.PaymentTransactions != null)
                    {
                        //build the columns out
                        DataColumn cTransactionID    = new DataColumn("TransactionID");
                        DataColumn cFeeAmount        = new DataColumn("FeeAmount");
                        DataColumn cGrossAmount      = new DataColumn("GrossAmount");
                        DataColumn cNetAmount        = new DataColumn("NetAmount");
                        DataColumn cPayer            = new DataColumn("Payer");
                        DataColumn cPayerDisplayName = new DataColumn("PayerDisplayName");
                        DataColumn cStatus           = new DataColumn("Status");
                        DataColumn cTimestamp        = new DataColumn("Timestamp");
                        DataColumn cType             = new DataColumn("Type");

                        table.Columns.Add(cTransactionID);
                        table.Columns.Add(cFeeAmount);
                        table.Columns.Add(cGrossAmount);
                        table.Columns.Add(cNetAmount);
                        table.Columns.Add(cPayer);
                        table.Columns.Add(cPayerDisplayName);
                        table.Columns.Add(cStatus);
                        table.Columns.Add(cTimestamp);
                        table.Columns.Add(cType);

                        DataRow dr;
                        foreach (PaymentTransactionSearchResultType trans in response.PaymentTransactions)
                        {
                            dr = table.NewRow();
                            dr["TransactionID"]    = trans.TransactionID;
                            dr["FeeAmount"]        = GetAmountValue(trans.FeeAmount);
                            dr["GrossAmount"]      = GetAmountValue(trans.GrossAmount);
                            dr["NetAmount"]        = GetAmountValue(trans.NetAmount);
                            dr["Payer"]            = trans.Payer;
                            dr["PayerDisplayName"] = trans.PayerDisplayName;
                            dr["Status"]           = trans.Status;
                            dr["Timestamp"]        = trans.Timestamp.ToLongDateString();
                            dr["Type"]             = trans.Type.ToString();

                            table.Rows.Add(dr);
                        }
                    }
                }
            }
            else
            {
                throw new Exception("You must specify at least one search paramater");
            }
            return(table);
        }