コード例 #1
0
 public PaypalController(PaypalProcessor paypalProcessor, PaymentTransactionRepository paymentTransactionRepository,
     UserRepository userRepository)
 {
     _paypalProcessor = paypalProcessor;
     _paymentTransactionRepository = paymentTransactionRepository;
     _userRepository = userRepository;
 }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                byte[]                       parameters         = Request.BinaryRead(HttpContext.Current.Request.ContentLength);
                PaymentTransaction           paymentTransaction = new PaymentTransaction();
                PaymentTransactionRepository paymentRepo        = new PaymentTransactionRepository();

                if (parameters.Length > 0)
                {
                    IPNMessage          ipn             = new IPNMessage(parameters);
                    bool                isIpnValidated  = ipn.Validate();
                    string              transactionType = ipn.TransactionType;
                    NameValueCollection map             = ipn.IpnMap;

                    paymentTransaction.AmountPaid          = map["payment_gross"];
                    paymentTransaction.PayPalTransactionId = map["txn_id"];
                    paymentTransaction.UserId     = Guid.Parse(map["custom"].ToString());
                    paymentTransaction.Id         = Guid.NewGuid();
                    paymentTransaction.IPNTrackId = map["ipn_track_id"];

                    paymentTransaction.PayerEmail    = map["payer_email"];
                    paymentTransaction.PayerId       = map["payer_id"];
                    paymentTransaction.PaymentStatus = map["payment_status"];



                    logger.Info("Payment Status : " + paymentTransaction.PaymentStatus);
                    logger.Info("User Id : " + paymentTransaction.UserId);


                    paymentTransaction.PaymentDate       = DateTime.Now;
                    paymentTransaction.PaypalPaymentDate = map["payment_date"];
                    paymentTransaction.ReceiverId        = map["receiver_id"];
                    paymentRepo.SavePayPalTransaction(paymentTransaction);
                    UserRepository userrepo = new UserRepository();
                    if (paymentTransaction.PaymentStatus == "Completed")
                    {
                        userrepo.changePaymentStatus(paymentTransaction.UserId, "paid");
                    }
                }
            }

            catch (System.Exception ex)
            {
                logger.Error(ex.StackTrace);
            }
        }
コード例 #3
0
 public BalanceController(UserRepository userRepository,
     PaymentTransactionRepository paymentTransactionRepository)
 {
     _userRepository = userRepository;
     _paymentTransactionRepository = paymentTransactionRepository;
 }