Ejemplo n.º 1
0
 /// <summary>
 /// Creates the single transaction item.
 /// </summary>
 /// <param name="response">The response.</param>
 /// <returns></returns>
 private PayPal3dPartyTransactionItem CreateSingleTransactionItem(PaymentTransactionSearchResultType response)
 {
     return(new PayPal3dPartyTransactionItem {
         Created = DateTime.Parse(response.Timestamp),
         TimeZone = response.Timezone,
         Type = response.Type,
         Status = response.Status,
         PayPalTransactionId = response.TransactionID,
         FeeAmount = ConvertToMoney(response.FeeAmount),
         GrossAmount = ConvertToMoney(response.GrossAmount),
         NetAmount = ConvertToMoney(response.NetAmount)
     });
 }
Ejemplo n.º 2
0
        private void processResponse(PayPalAPIInterfaceServiceService service, TransactionSearchResponseType response)
        {
            HttpContext CurrContext = HttpContext.Current;

            CurrContext.Items.Add("Response_apiName", "TransactionSearch");
            CurrContext.Items.Add("Response_redirectURL", null);
            CurrContext.Items.Add("Response_requestPayload", service.getLastRequest());
            CurrContext.Items.Add("Response_responsePayload", service.getLastResponse());

            Dictionary <string, string> keyParameters = new Dictionary <string, string>();

            keyParameters.Add("Correlation Id", response.CorrelationID);
            keyParameters.Add("API Result", response.Ack.ToString());

            if (response.Errors != null && response.Errors.Count > 0)
            {
                CurrContext.Items.Add("Response_error", response.Errors);
            }
            else
            {
                CurrContext.Items.Add("Response_error", null);
            }

            if (!response.Ack.Equals(AckCodeType.FAILURE))
            {
                keyParameters.Add("Total matching transactions", response.PaymentTransactions.Count.ToString());

                for (int i = 0; i < response.PaymentTransactions.Count; i++)
                {
                    PaymentTransactionSearchResultType result = response.PaymentTransactions[i];
                    String label = "Result " + (i + 1);
                    keyParameters.Add(label + " Payer", result.Payer);
                    keyParameters.Add(label + " Transaction Id", result.TransactionID);
                    keyParameters.Add(label + " Payment status", result.Status);
                    keyParameters.Add(label + " Payment timestamp", result.Timestamp);
                    keyParameters.Add(label + " Transaction type", result.Type);
                    if (result.NetAmount != null)
                    {
                        keyParameters.Add(label + " Net amount",
                                          result.NetAmount.value + result.NetAmount.currencyID.ToString());
                    }
                    if (result.GrossAmount != null)
                    {
                        keyParameters.Add(label + " Gross amount",
                                          result.GrossAmount.value + result.GrossAmount.currencyID.ToString());
                    }
                }
            }
            CurrContext.Items.Add("Response_keyResponseObject", keyParameters);
            Server.Transfer("../APIResponse.aspx");
        }
Ejemplo n.º 3
0
        public MemBogfoeringsKlader konter_paypal_betalinger_fra_rsmembership(puls3060_dkEntities p_dbPuls3060_dk, DateTime Regnskabsaar_Startdato, DateTime Regnskabsaar_Slutdato)
        {
            clsPayPal            objPayPal = new clsPayPal();
            MemBogfoeringsKlader klader    = new MemBogfoeringsKlader();
            int BS1_SidsteNr     = 0;
            var qry_rsmembership = from s in p_dbPuls3060_dk.ecpwt_rsmembership_membership_subscribers
                                   where s.membership_id == 6
                                   join tl in p_dbPuls3060_dk.ecpwt_rsmembership_transactions on s.last_transaction_id equals tl.id
                                   where tl.gateway == "PayPal"
                                   join p in p_dbPuls3060_dk.tblpaypalpayments on tl.hash equals p.paypal_transactions_id into p1
                                   from p in p1.DefaultIfEmpty()
                                   where p.bogfoert == null || p.bogfoert == false
                                   join u in p_dbPuls3060_dk.ecpwt_users on s.user_id equals u.id
                                   select new
            {
                paypal_transaction_id = tl.hash,
                Navn = u.name,
                s.membership_id,
                s.membership_start,
                s.membership_end,
            };
            var arr_rsmembership = qry_rsmembership.ToArray();

            if (arr_rsmembership.Count() > 0)
            {
                foreach (var rsmembership in arr_rsmembership)
                {
                    if (rsmembership.paypal_transaction_id.Length == 0)
                    {
                        continue;
                    }

                    PaymentTransactionSearchResultType paypal_trans = objPayPal.getPayPalTransaction(rsmembership.paypal_transaction_id);

                    if (paypal_trans != null)
                    {
                        decimal   Belob    = decimal.Parse(paypal_trans.GrossAmount.Value.Replace(".", ","));
                        decimal[] arrBeløb = clsPbs602.fordeling(Belob, rsmembership.membership_start, rsmembership.membership_end, Regnskabsaar_Startdato, Regnskabsaar_Slutdato);
                        string    stdate   = string.Format(" {0}-{1}", rsmembership.membership_start.ToString("d.M.yyyy"), rsmembership.membership_end.ToString("d.M.yyyy"));

                        int wBilag = ++BS1_SidsteNr;
                        recBogfoeringsKlader recklade = new recBogfoeringsKlader
                        {
                            Dato             = paypal_trans.Timestamp,
                            Bilag            = wBilag,
                            Tekst            = ("Paypal: " + rsmembership.paypal_transaction_id).PadRight(40, ' ').Substring(0, 40),
                            Afstemningskonto = "PayPal",
                            Belob            = Belob,
                            Kontonr          = null,
                            Faknr            = null,
                            Sagnr            = null
                        };
                        klader.Add(recklade);

                        if (arrBeløb[0] > 0)
                        {
                            recklade = new recBogfoeringsKlader
                            {
                                Dato             = paypal_trans.Timestamp,
                                Bilag            = wBilag,
                                Tekst            = (rsmembership.Navn + stdate).PadRight(40, ' ').Substring(0, 40),
                                Afstemningskonto = "",
                                Belob            = arrBeløb[0],
                                Kontonr          = 1800,
                                Faknr            = null,
                                Sagnr            = null
                            };
                            klader.Add(recklade);
                        }

                        if (arrBeløb[1] > 0)
                        {
                            recklade = new recBogfoeringsKlader
                            {
                                Dato             = paypal_trans.Timestamp,
                                Bilag            = wBilag,
                                Tekst            = (rsmembership.Navn + stdate).PadRight(40, ' ').Substring(0, 40),
                                Afstemningskonto = "",
                                Belob            = arrBeløb[1],
                                Kontonr          = 64200,
                                Faknr            = null,
                                Sagnr            = null
                            };
                            klader.Add(recklade);
                        }

                        recklade = new recBogfoeringsKlader
                        {
                            Dato             = paypal_trans.Timestamp,
                            Bilag            = wBilag,
                            Tekst            = ("PayPal Gebyr").PadRight(40, ' ').Substring(0, 40),
                            Afstemningskonto = "PayPal",
                            Belob            = decimal.Parse(paypal_trans.FeeAmount.Value.Replace(".", ",")),
                            Kontonr          = 9950,
                            Faknr            = null,
                            Sagnr            = null
                        };
                        klader.Add(recklade);

                        tblpaypalpayment rec_paypalpayments = (from p in p_dbPuls3060_dk.tblpaypalpayments where p.paypal_transactions_id == rsmembership.paypal_transaction_id select p).FirstOrDefault();
                        if (rec_paypalpayments == null)
                        {
                            rec_paypalpayments = new tblpaypalpayment
                            {
                                paypal_transactions_id = rsmembership.paypal_transaction_id,
                                bogfoert = true
                            };
                            p_dbPuls3060_dk.tblpaypalpayments.Add(rec_paypalpayments);
                        }
                        else
                        {
                            rec_paypalpayments.bogfoert = true;
                        }
                        p_dbPuls3060_dk.SaveChanges();
                    }
                }
            }



            return(klader);
        }
    // # TransactionSearch API Operation
    // The TransactionSearch API searches transaction history for transactions that meet the specified criteria
    public TransactionSearchResponseType TransactionSearchAPIOperation()
    {
        // Create the TransactionSearchResponseType object
        TransactionSearchResponseType responseTransactionSearchResponseType = new TransactionSearchResponseType();

        try
        {
            // # Create the TransactionSearchReq object
            TransactionSearchReq requestTransactionSearch = new TransactionSearchReq();

            // `TransactionSearchRequestType` which takes mandatory argument:
            //
            // * `Start Date` - The earliest transaction date at which to start the
            // search.
            TransactionSearchRequestType transactionSearchRequest = new TransactionSearchRequestType("2012-12-25T00:00:00+0530");
            requestTransactionSearch.TransactionSearchRequest = transactionSearchRequest;

            // Create the service wrapper object to make the API call
            PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService();

            // # API call
            // Invoke the TransactionSearch method in service wrapper object
            responseTransactionSearchResponseType = service.TransactionSearch(requestTransactionSearch);

            if (responseTransactionSearchResponseType != null)
            {
                // Response envelope acknowledgement
                string acknowledgement = "TransactionSearch API Operation - ";
                acknowledgement += responseTransactionSearchResponseType.Ack.ToString();
                logger.Info(acknowledgement + "\n");
                Console.WriteLine(acknowledgement + "\n");

                // # Success values
                if (responseTransactionSearchResponseType.Ack.ToString().Trim().ToUpper().Equals("SUCCESS"))
                {
                    // Search Results
                    IEnumerator <PaymentTransactionSearchResultType> iterator = responseTransactionSearchResponseType.PaymentTransactions.GetEnumerator();

                    while (iterator.MoveNext())
                    {
                        PaymentTransactionSearchResultType searchResult = iterator.Current;

                        // Merchant's transaction ID.
                        logger.Info("Transaction ID : " + searchResult.TransactionID + "\n");
                        Console.WriteLine("Transaction ID : " + searchResult.TransactionID + "\n");
                    }
                }
                // # Error Values
                else
                {
                    List <ErrorType> errorMessages = responseTransactionSearchResponseType.Errors;
                    foreach (ErrorType error in errorMessages)
                    {
                        logger.Debug("API Error Message : " + error.LongMessage);
                        Console.WriteLine("API Error Message : " + error.LongMessage + "\n");
                    }
                }
            }
        }
        // # Exception log
        catch (System.Exception ex)
        {
            // Log the exception message
            logger.Debug("Error Message : " + ex.Message);
            Console.WriteLine("Error Message : " + ex.Message);
        }
        return(responseTransactionSearchResponseType);
    }