Beispiel #1
0
        public void MockPurchaseRequest()
        {
            CashCloudPurchaseTransactionRequest purchaseTransactionRequest = new CashCloudPurchaseTransactionRequest();

            // Action should be derived.
            purchaseTransactionRequest.action = "1";
            // user and pass should be from DB - should also be set in the PerformPaymentTransaction method, trackID is derived during paymentTransaction process
            //purchaseTransactionRequest.terminalid = "CMVAUL1";
            //purchaseTransactionRequest.password = "******";
            //purchaseTransactionRequest.trackid = "soft1256";

            purchaseTransactionRequest.card                = "4444444444444444";
            purchaseTransactionRequest.cvv2                = "115";
            purchaseTransactionRequest.expYear             = "2012";
            purchaseTransactionRequest.expMonth            = "12";
            purchaseTransactionRequest.member              = "Test User";
            purchaseTransactionRequest.MemberInGameID      = 1;
            purchaseTransactionRequest.currencyCode        = "USD";
            purchaseTransactionRequest.address             = "Ebene";
            purchaseTransactionRequest.city                = "MOKA";
            purchaseTransactionRequest.stateCode           = "MOKA";
            purchaseTransactionRequest.zip                 = "152458";
            purchaseTransactionRequest.countryCode         = "Mauritius";
            purchaseTransactionRequest.Email               = "*****@*****.**";
            purchaseTransactionRequest.amount              = "0.00";
            purchaseTransactionRequest.merchantip          = "172.152.43.1";
            purchaseTransactionRequest.customerip          = "43.78.33.1";
            purchaseTransactionRequest.transactionDateTime = DateTime.Now;


            CashCloudPurchaseTransactionResponse ptRes = this.PerformPaymentTransaction(purchaseTransactionRequest);

            Console.WriteLine("authcode [" + ptRes.authcode + "]");
            Console.WriteLine("responsecode [" + ptRes.responsecode + "]");
            Console.WriteLine("result [" + ptRes.result + "]");
            Console.WriteLine("terminalid [" + ptRes.terminalid + "]");
            Console.WriteLine("trackid [" + ptRes.trackid + "]");
            Console.WriteLine("tranid [" + ptRes.tranid + "]");
            Console.WriteLine("udf1 [" + ptRes.udf1 + "]");
            Console.WriteLine("udf2 [" + ptRes.udf2 + "]");
            Console.WriteLine("udf3 [" + ptRes.udf3 + "]");
            Console.WriteLine("udf4 [" + ptRes.udf4 + "]");
            Console.WriteLine("udf5 [" + ptRes.udf5 + "]");
        }
Beispiel #2
0
        private bool VerifyAndPersistPaymentResponse(CashCloudPurchaseTransactionRequest purchaseTransactionRequest, CashCloudPurchaseTransactionResponse purchaseTransactionResponse)
        {
            PaymentTransaction paymentTransaction = db.PaymentTransactions.Find(purchaseTransactionRequest.paymentTransactionID);

            // Do validation on trackID.
            if (purchaseTransactionResponse.trackid == purchaseTransactionRequest.trackid)
            {
                paymentTransaction.Result       = purchaseTransactionResponse.result;
                paymentTransaction.ResponseCode = purchaseTransactionResponse.responsecode;
                paymentTransaction.AuthCode     = purchaseTransactionResponse.authcode;
                paymentTransaction.TranID       = purchaseTransactionResponse.tranid;
                paymentTransaction.TransactionResponseDateTime = DateTime.Now;
                if (paymentTransaction.ResponseCode.Trim() == "000" || paymentTransaction.ResponseCode.Trim() == "001")
                {
                    paymentTransaction.PaymentStatus = "PAID";
                }
            }

            /* Remo-2014-10-03-Payment Bug "Payment crashes when register as "Silver"status":: Resolution - This cannot happen here, must happen outside of payment processing. handled in GamesController.
             * if (paymentTransaction.PaymentStatus == "PAID")
             * {
             *  MemberInGame memberInGame = db.MemberInGames.Find(paymentTransaction.MemberInGameID);
             *  memberInGame.PaymentIndicator = true;
             * }*/

            try
            {
                db.SaveChanges();
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        System.Diagnostics.Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                                           ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return(false);
            }
            return(true);
        }