Beispiel #1
0
        public object GetTranscationManagement(JsonMember.TranscationManagement obj)
        {
            TranscationDetails obj1 = new TranscationDetails();

            try
            {
                Sqldbmanager.Open();
                Sqldbmanager.CreateParameters(1);
                Sqldbmanager.AddParameters(0, "@TranscationId", obj.TranscationId);
                idr = Sqldbmanager.ExecuteReader(CommandType.StoredProcedure, "USP_GetTranscationDetailbyId");
                if (idr.Read())
                {
                    obj1 = new TranscationDetails()
                    {
                        flag          = "true",
                        TranscationId = Convert.ToString(idr["TranscationId"]),
                        Amount        = Convert.ToDecimal(idr["Amount"].ToString()),
                        UserId        = Convert.ToInt64(idr["UserId"].ToString()),
                        RewardId      = Convert.ToInt64(idr["RequestId"].ToString()),
                    };
                }
            }
            catch (Exception Ex)
            {
                DS   = LogError("Get Transcation Management", Ex.Message.ToString(), "SP Name: USP_GetTranscationDetailbyId");
                obj1 = new TranscationDetails()
                {
                    flag          = "false",
                    Message       = DS.Tables[0].Rows[0]["Meaasge"].ToString(),
                    TranscationId = ""
                };
            }
            finally
            {
                idr.Close();
                Sqldbmanager.Close();
            }

            return(obj1);
        }
Beispiel #2
0
        public HttpResponseMessage Post([FromBody] Nonce nonce)
        {
            string             TransactionId;
            TranscationDetails dtl = new TranscationDetails();
            var gateway            = new BraintreeGateway
            {
                Environment = Braintree.Environment.SANDBOX,
                MerchantId  = ConfigurationManager.AppSettings["BraintreeMerchantId"],
                PublicKey   = ConfigurationManager.AppSettings["BraintreePublicKey"],
                PrivateKey  = ConfigurationManager.AppSettings["BraintreePrivateKey"]
            };

            var request = new TransactionRequest
            {
                Amount             = nonce.chargeAmount,
                PaymentMethodNonce = nonce.nonce,
                Options            = new TransactionOptionsRequest
                {
                    SubmitForSettlement = true
                }
            };

            Result <Transaction> result = gateway.Transaction.Sale(request);

            if (result.IsSuccess())
            {
                TransactionId = result.Target.Id;
            }
            else if (result.Transaction != null)
            {
                TransactionId = result.Transaction.Id;
            }
            else
            {
                TransactionId = "0";
                string errorMessages = "";
                foreach (ValidationError error in result.Errors.DeepAll())
                {
                    errorMessages += "Error: " + (int)error.Code + " - " + error.Message + "\n";
                }
                dtl.TransactionId = TransactionId;
                dtl.header        = "Transaction Failed";
                dtl.icon          = "fail";
                dtl.message       = errorMessages;
            }
            if (TransactionId != "0")
            {
                Transaction transaction = gateway.Transaction.Find(TransactionId);
                if (transactionSuccessStatuses.Contains(transaction.Status))
                {
                    dtl.TransactionId = TransactionId;
                    dtl.header        = "Sweet Success!";
                    dtl.icon          = "success";
                    dtl.message       = "Your test transaction has been successfully processed. See the Braintree API response and try again.";
                }
                else
                {
                    dtl.TransactionId = TransactionId;
                    dtl.header        = "Transaction Failed";
                    dtl.icon          = "fail";
                    dtl.message       = "Your test transaction has a status of " + transaction.Status + ". See the Braintree API response and try again.";
                }
            }
            HttpResponseMessage response = Request.CreateResponse(dtl);

            return(response);
        }