Exemple #1
0
        static void GetAllPaymentOrdersList(Instamojo objClass)
        {
            try
            {
                PaymentOrderListRequest objPaymentOrderListRequest = new PaymentOrderListRequest();
                //Optional Parameters
                objPaymentOrderListRequest.limit = 21;
                objPaymentOrderListRequest.page  = 3;

                PaymentOrderListResponse objPaymentRequestStatusResponse = objClass.getPaymentOrderList(objPaymentOrderListRequest);
                foreach (var item in objPaymentRequestStatusResponse.orders)
                {
                    Console.WriteLine(item.email + item.description + item.amount);
                }
                MessageBox.Show("Order List = " + objPaymentRequestStatusResponse.orders.Count());
            }
            catch (ArgumentNullException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (WebException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:" + ex.Message);
            }
        }
Exemple #2
0
        // GET: Admin
        public ActionResult GetDonations()
        {
            Instamojo objClass = InstamojoImplementation.getApi(PaymentGatewaySecrets.CLIENT_ID,
                                                                PaymentGatewaySecrets.CLIENT_SECRET, PaymentGatewaySecrets.API_ENDPOINT,
                                                                PaymentGatewaySecrets.AUTH_ENDPOINT);

            PaymentOrderListRequest objPaymentOrderListRequest = new PaymentOrderListRequest();

            PaymentOrderListResponse objPaymentRequestStatusResponse = objClass.getPaymentOrderList(objPaymentOrderListRequest);

            List <OrderViewModel> viewModel = new List <OrderViewModel>();

            foreach (var order in objPaymentRequestStatusResponse.orders)
            {
                viewModel.Add(new OrderViewModel
                {
                    Amount        = order.amount,
                    CreatedAt     = order.created_at,
                    Currency      = order.currency,
                    Description   = order.description,
                    Email         = order.email,
                    Id            = order.id,
                    Name          = order.name,
                    Phone         = order.phone,
                    RedirectUrl   = order.redirect_url,
                    ResourceUri   = order.resource_uri,
                    Status        = order.status,
                    TransactionId = order.transaction_id,
                    WebhookUrl    = order.webhook_url
                });
            }

            return(View(viewModel));
        }
Exemple #3
0
        static void CreatePaymentOrder_whenSameTransactionIdIsGiven(Instamojo objClass)
        {
            PaymentOrder objPaymentRequest = new PaymentOrder();

            //Required POST parameters
            objPaymentRequest.name           = "ABCD";
            objPaymentRequest.email          = "*****@*****.**";
            objPaymentRequest.phone          = "9969156561";
            objPaymentRequest.amount         = 9;
            objPaymentRequest.currency       = "USD";
            objPaymentRequest.transaction_id = "test"; // duplicate Transaction Id
            objPaymentRequest.redirect_url   = "https://swaggerhub.com/api/saich/pay-with-instamojo/1.0.0";

            try
            {
                CreatePaymentOrderResponse objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);
                MessageBox.Show("Order Id = " + objPaymentResponse.order.id);
            }
            catch (ArgumentNullException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (WebException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (IOException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (InvalidPaymentOrderException ex)
            {
                if (!ex.IsWebhookValid())
                {
                    MessageBox.Show("Webhook is invalid");
                }

                if (!ex.IsCurrencyValid())
                {
                    MessageBox.Show("Currency is Invalid");
                }

                if (!ex.IsTransactionIDValid())
                {
                    MessageBox.Show("Transaction ID is Inavlid");
                }
            }
            catch (ConnectionException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (BaseException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:" + ex.Message);
            }
        }
Exemple #4
0
 private static Instamojo getInstamojo(String clientId, String clientSecret, String apiEndpoint, String authEndpoint)
 {
     if (uniqueInstance == null)
     {
         lock (_locker)
         {
             if (uniqueInstance == null)
             {
                 uniqueInstance = new InstamojoImplementation(clientId, clientSecret, apiEndpoint, authEndpoint);
                 accessToken    = getAccessToken(clientId, clientSecret, authEndpoint);
             }
         }
     }
     else
     {
         if (isTokenExpired())
         {
             lock (_locker)
             {
                 if (isTokenExpired())
                 {
                     accessToken = getAccessToken(clientId, clientSecret, authEndpoint);
                 }
             }
         }
     }
     return(uniqueInstance);
 }
Exemple #5
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            string Insta_client_id     = "tmLkZZ0zV41nJwhayBGBOI4m4I7bH55qpUBdEXGS",
                   Insta_client_secret = "IDejdccGqKaFlGav9bntKULvMZ0g7twVFolC9gdrh9peMS0megSFr7iDpWwWIDgFUc3W5SlX99fKnhxsoy6ipdAv9JeQwebmOU6VRvOEQnNMWwZnWglYmDGrfgKRheXs",
                   Insta_Endpoint      = InstamojoConstants.INSTAMOJO_API_ENDPOINT,
                   Insta_Auth_Endpoint = InstamojoConstants.INSTAMOJO_AUTH_ENDPOINT;
            Instamojo objClass         = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);

            CreatePaymentOrder(objClass);
            CreatePaymentOrder_whenInvalidPaymentOrderIsMade(objClass);
            CreatePaymentOrder_whenWebhookIsInvalid(objClass);
            CreatePaymentOrder_whenSameTransactionIdIsGiven(objClass);
            GetAllPaymentOrdersList(objClass);
            GetPaymentOrderDetailUsingOrderId(objClass);
            GetPaymentOrderDetailUsingOrderId_WhenOrderIdIsNull(objClass);
            GetPaymentOrderDetailUsingOrderId_WhenOrderIdIsUnknown(objClass);
            GetPaymentOrderDetailsUsingTransactionId(objClass);
            GetPaymentOrderDetailsUsingTransactionId_WhenTransactionIdIsUnknown(objClass);
            CreateRefund(objClass);
            CreateRefund_WhenInvalidRefundIsMade(objClass);
            CreatePaymentOrder_whenWebhookContainsLocahost(objClass);
        }
Exemple #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            OleDbCommand cmda = new OleDbCommand();

            //this.InitializeComponent();
            cmda.CommandText = "select * from transactionid where username='******'";
            connect();
            cmda.Connection = cn;
            OleDbDataReader dra;

            dra = cmda.ExecuteReader();
            while (dra.Read())
            {
                string ClientID     = "lm0yIbueCMdnyDtG8IG2FFwNbDG4TwcCzu2uSYsT";
                string secretkey    = "F8MsK5hAZ8IMgKwp9JmAkpNMfEREFMtM9dnMqECCzaP3xGnVJwhAJs0Ks1G2Iy8slOmvoy6p8ehZpjwpT1VuhDpKoMyCgU8fUHOaSZZuUlMs05OW6eGJGvrokPAuAuIY";
                string endpoint     = "https://api.instamojo.com/v2/";
                string authendpoint = "https://www.instamojo.com/oauth2/token/";
                /***** Details of Payment order using TransactionId. *******/
                Instamojo objClass = InstamojoImplementation.getApi(ClientID, secretkey, endpoint, authendpoint);
                try
                {
                    PaymentOrderDetailsResponse objPaymentRequestDetailsResponse = objClass.getPaymentOrderDetailsByTransactionId(dra[0].ToString());
                    paymentid.Text  = objPaymentRequestDetailsResponse.transaction_id;
                    phone.Text      = objPaymentRequestDetailsResponse.phone;
                    paidamount.Text = objPaymentRequestDetailsResponse.amount.ToString();
                    status.Text     = objPaymentRequestDetailsResponse.status;
                }
                catch (Exception ex)
                {
                    Label1.Visible = true;
                    Label1.Text    = "**********No Data to be displayed***********";
                }
            }
        }
Exemple #7
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            string Insta_client_id     = "test_9Rxf3Zl480f35JVJz0URa7qH7D7h9DC2mvZ",
                   Insta_client_secret = "test_8IkhyOtlQl56gNQJFX3sfOpcCiZFx36PRSNtFHO88atVttVHGmQdWg3HhMXbJ9vO1QTJqYYAv5A3IiBkx7wo5vzhHUzGGCMkgLjhiLiVXdBEPNpaoC8cs7oyptx",
                   Insta_Endpoint      = InstamojoConstants.INSTAMOJO_API_ENDPOINT,
                   Insta_Auth_Endpoint = InstamojoConstants.INSTAMOJO_AUTH_ENDPOINT;
            Instamojo objClass         = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);

            CreatePaymentOrder(objClass);
            CreatePaymentOrder_whenInvalidPaymentOrderIsMade(objClass);
            CreatePaymentOrder_whenWebhookIsInvalid(objClass);
            CreatePaymentOrder_whenSameTransactionIdIsGiven(objClass);
            GetAllPaymentOrdersList(objClass);
            GetPaymentOrderDetailUsingOrderId(objClass);
            GetPaymentOrderDetailUsingOrderId_WhenOrderIdIsNull(objClass);
            GetPaymentOrderDetailUsingOrderId_WhenOrderIdIsUnknown(objClass);
            GetPaymentOrderDetailsUsingTransactionId(objClass);
            GetPaymentOrderDetailsUsingTransactionId_WhenTransactionIdIsUnknown(objClass);
            CreateRefund(objClass);
            CreateRefund_WhenInvalidRefundIsMade(objClass);
            CreatePaymentOrder_whenWebhookContainsLocahost(objClass);
        }
Exemple #8
0
        public ActionResult EnterAmount(DonationAmountViewModel userInput)
        {
            Instamojo objClass = InstamojoImplementation.getApi(PaymentGatewaySecrets.CLIENT_ID,
                                                                PaymentGatewaySecrets.CLIENT_SECRET, PaymentGatewaySecrets.API_ENDPOINT,
                                                                PaymentGatewaySecrets.AUTH_ENDPOINT);
            PaymentOrder objPaymentRequest = new PaymentOrder()
            {
                name           = userInput.Name,
                email          = userInput.Email,
                phone          = userInput.PhoneNumber,
                amount         = userInput.Amount,
                transaction_id = Guid.NewGuid().ToString(),
                redirect_url   = "http://localhost:59701/Donate/PaymentMade"
            };

            if (objPaymentRequest.validate())
            {
                if (objPaymentRequest.emailInvalid)
                {
                    ModelState.AddModelError("", "Email is invalid");
                }
                if (objPaymentRequest.nameInvalid)
                {
                    ModelState.AddModelError("", "Name is invalid");
                }
                if (objPaymentRequest.phoneInvalid)
                {
                    ModelState.AddModelError("", "Phone Number is invalid");
                }
                if (objPaymentRequest.amountInvalid)
                {
                    ModelState.AddModelError("", "Amount is invalid");
                }
                if (objPaymentRequest.currencyInvalid)
                {
                    ModelState.AddModelError("", "Currency is invalid");
                }
                if (objPaymentRequest.transactionIdInvalid)
                {
                    ModelState.AddModelError("", "Transaction ID is invalid");
                }
                if (objPaymentRequest.redirectUrlInvalid)
                {
                    ModelState.AddModelError("", "URL is invalid");
                }
                if (objPaymentRequest.webhookUrlInvalid)
                {
                    ModelState.AddModelError("", "Webhook is invalid");
                }
            }
            else
            {
                CreatePaymentOrderResponse objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);
                return(Redirect(objPaymentResponse.payment_options.payment_url));
            }

            return(View());
        }
Exemple #9
0
        static void CreatePaymentOrder_whenWebhookIsInvalid(Instamojo objClass)
        {
            PaymentOrder objPaymentRequest = new PaymentOrder();

            objPaymentRequest.email       = "*****@*****.**";
            objPaymentRequest.name        = "Test Name";
            objPaymentRequest.description = "Test Description";
            objPaymentRequest.phone       = "9334556657";
            objPaymentRequest.amount      = 100;
            objPaymentRequest.currency    = "INR";
            string randomName = Path.GetRandomFileName();

            randomName = randomName.Replace(".", string.Empty);
            objPaymentRequest.transaction_id = "test" + randomName;

            objPaymentRequest.redirect_url = "https://swaggerhub.com/api/saich/pay-with-instamojo/1.0.0";
            objPaymentRequest.webhook_url  = "invalid web hook url";
            //Extra POST parameters

            if (objPaymentRequest.validate())
            {
                if (objPaymentRequest.emailInvalid)
                {
                    MessageBox.Show("Email is not valid");
                }
                if (objPaymentRequest.nameInvalid)
                {
                    MessageBox.Show("Name is not valid");
                }
                if (objPaymentRequest.phoneInvalid)
                {
                    MessageBox.Show("Phone is not valid");
                }
                if (objPaymentRequest.amountInvalid)
                {
                    MessageBox.Show("Amount is not valid");
                }
                if (objPaymentRequest.currencyInvalid)
                {
                    MessageBox.Show("Currency is not valid");
                }
                if (objPaymentRequest.transactionIdInvalid)
                {
                    MessageBox.Show("Transaction Id is not valid");
                }
                if (objPaymentRequest.redirectUrlInvalid)
                {
                    MessageBox.Show("Redirect Url Id is not valid");
                }

                if (objPaymentRequest.webhookUrlInvalid)
                {
                    MessageBox.Show("Webhook URL is not valid");
                }
            }
        }
        private void DetailsofPayment(Instamojo objClass)
        {
            PaymentOrderDetailsResponse paymentOrderDetailsResponse = objClass.getPaymentOrderDetailsByTransactionId(Session["transID"].ToString());

            TxnId.Text     = paymentOrderDetailsResponse.transaction_id;
            txtName.Text   = paymentOrderDetailsResponse.name;
            txtAmount.Text = Convert.ToString(paymentOrderDetailsResponse.amount);
            h1Message.Text = paymentOrderDetailsResponse.status;
            date.Text      = paymentOrderDetailsResponse.created_at;
        }
Exemple #11
0
        static void CreateRefund(Instamojo objClass)
        {
            Refund objRefundRequest = new Refund();

            //Required POST parameters
            //objPaymentRequest.name = "ABCD";
            objRefundRequest.payment_id    = "MOJO6701005J41260385";
            objRefundRequest.type          = "TNR";
            objRefundRequest.body          = "abcd";
            objRefundRequest.refund_amount = 9;

            if (objRefundRequest.validate())
            {
                if (objRefundRequest.payment_idInvalid)
                {
                    MessageBox.Show("payment_id is not valid");
                }
            }
            else
            {
                try
                {
                    CreateRefundResponce objRefundResponse = objClass.createNewRefundRequest(objRefundRequest);
                    MessageBox.Show("Refund Id = " + objRefundResponse.refund.id);
                }
                catch (ArgumentNullException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (WebException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (IOException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (InvalidPaymentOrderException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (ConnectionException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (BaseException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error:" + ex.Message);
                }
            }
        }
Exemple #12
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            string Insta_client_id     = "test_rBoXQIrDJ5gyNu0AL4OMuEDXqdVPxb3hHd4";
            string Insta_client_secret = "test_NTnwuLRyMMHjjJ7p1EYH51bHdXepVlyXWS7prQIWf2Bglzy5Jmjr1oaasf1M1QF42DpprHaMLHz0eBKZpaujUjCwfn0wE7DSk9J5GTWRdTT4lLW7FaSv4YSTnIk";
            string Insta_Endpoint      = InstamojoConstants.INSTAMOJO_API_ENDPOINT;
            string Insta_Auth_Endpoint = InstamojoConstants.INSTAMOJO_AUTH_ENDPOINT;

            Instamojo objClass = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);

            CreatePaymentOrder(objClass);
        }
Exemple #13
0
        static void CreatePaymentOrder_whenInvalidPaymentOrderIsMade(Instamojo objClass)
        {
            PaymentOrder objPaymentRequest = new PaymentOrder();

            //   objPaymentRequest.email = "*****@*****.**";
            objPaymentRequest.phone    = "9969156561";
            objPaymentRequest.amount   = 9;
            objPaymentRequest.currency = "USD";
            string randomName = Path.GetRandomFileName();

            randomName = randomName.Replace(".", string.Empty);
            objPaymentRequest.transaction_id = "test" + randomName;

            objPaymentRequest.redirect_url = "https://swaggerhub.com/api/saich/pay-with-instamojo/1.0.0";
            //Extra POST parameters

            if (objPaymentRequest.validate())
            {
                if (objPaymentRequest.emailInvalid)
                {
                    MessageBox.Show("Email is not valid");
                }
                if (objPaymentRequest.nameInvalid)
                {
                    MessageBox.Show("Name is not valid");
                }
                if (objPaymentRequest.phoneInvalid)
                {
                    MessageBox.Show("Phone is not valid");
                }
                if (objPaymentRequest.amountInvalid)
                {
                    MessageBox.Show("Amount is not valid");
                }
                if (objPaymentRequest.currencyInvalid)
                {
                    MessageBox.Show("Currency is not valid");
                }
                if (objPaymentRequest.transactionIdInvalid)
                {
                    MessageBox.Show("Transaction Id is not valid");
                }
                if (objPaymentRequest.redirectUrlInvalid)
                {
                    MessageBox.Show("Redirect Url Id is not valid");
                }
            }
        }
Exemple #14
0
 static void GetPaymentOrderDetailsUsingTransactionId(Instamojo objClass)
 {
     try
     {
         PaymentOrderDetailsResponse objPaymentRequestDetailsResponse = objClass.getPaymentOrderDetailsByTransactionId("test1");
         MessageBox.Show("Transaction Id = " + objPaymentRequestDetailsResponse.transaction_id);
     }
     catch (ArgumentNullException ex)
     {
         MessageBox.Show(ex.Message);
     }
     catch (WebException ex)
     {
         MessageBox.Show(ex.Message);
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error:" + ex.Message);
     }
 }
Exemple #15
0
 static void GetPaymentOrderDetailUsingOrderId_WhenOrderIdIsUnknown(Instamojo objClass)
 {
     try
     {
         PaymentOrderDetailsResponse objPaymentRequestDetailsResponse = objClass.getPaymentOrderDetails("3189cff7c68245bface8915ca"); //"3189cff7c68245bface8915cac1f89df");
         MessageBox.Show("Transaction Id = " + objPaymentRequestDetailsResponse.transaction_id);
     }
     catch (ArgumentNullException ex)
     {
         MessageBox.Show(ex.Message);
     }
     catch (WebException ex)
     {
         MessageBox.Show(ex.Message);
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error:" + ex.Message);
     }
 }
        // POST: odata/OnlinepaymentFromWebhooks
        public async Task <IHttpActionResult> Post(OnlinepaymentFromWebhook onlinepaymentFromWebhook)
        {
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}
            string Insta_client_id     = ConfigurationManager.AppSettings["ClientId"];     //,//   "test_sFhb8ig0JPT0Hc21G2CWZg4RqhO4d3KqMdO",
            string Insta_client_secret = ConfigurationManager.AppSettings["ClientSecret"]; //, //"test_7VCjAHfdUrQMtlvUwYUEtAFbYJuvAGZ1Pu63WUfSBWOgsmW8Oa3rgx6AmOsi8UuXeZ3zbFyuPFJMXbEd9rppVFSTXALInXFS3Oa7Ux1hB5NQKAh9OnzvqTSHcV8",
            string Insta_Endpoint      = "";                                               //ConfigurationManager.AppSettings["APIEndpoint"],// InstamojoConstants.INSTAMOJO_API_ENDPOINT,
            string Insta_Auth_Endpoint = "";                                               //ConfigurationManager.AppSettings["AuthEndpoint"];// InstamojoConstants.INSTAMOJO_AUTH_ENDPOINT;

            Insta_Endpoint      = ConfigurationManager.AppSettings["APIEndpoint"];
            Insta_Auth_Endpoint = ConfigurationManager.AppSettings["AuthEndpoint"];

            Insta_client_id     = ConfigurationManager.AppSettings["ClientId"];
            Insta_client_secret = ConfigurationManager.AppSettings["ClientSecret"];
            Instamojo objClass = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);


            PaymentOrderDetailsResponse        objPaymentRequestStatusResponse = objClass.getPaymentOrderDetails(onlinepaymentFromWebhook.id);
            List <PaymentOrderDetailsResponse> objlist = new List <PaymentOrderDetailsResponse>();

            objlist.Add(objPaymentRequestStatusResponse);

            onlinepaymentFromWebhook.status      = objPaymentRequestStatusResponse.status;
            onlinepaymentFromWebhook.buyer       = objPaymentRequestStatusResponse.email;
            onlinepaymentFromWebhook.buyer_name  = objPaymentRequestStatusResponse.name;
            onlinepaymentFromWebhook.buyer_phone = objPaymentRequestStatusResponse.phone;
            onlinepaymentFromWebhook.purpose     = objPaymentRequestStatusResponse.description;
            onlinepaymentFromWebhook.createdon   = Convert.ToDateTime(objPaymentRequestStatusResponse.created_at);
            onlinepaymentFromWebhook.currency    = objPaymentRequestStatusResponse.currency;
            onlinepaymentFromWebhook.amount      = objPaymentRequestStatusResponse.amount;

            db.OnlinepaymentFromWebhooks.Add(onlinepaymentFromWebhook);
            await db.SaveChangesAsync();

            return(Created(onlinepaymentFromWebhook));
        }
Exemple #17
0
        protected void submit_Click(object sender, EventArgs e)
        {
            string Insta_client_id     = ""; // ConfigurationManager.AppSettings["ClientId"],//   "test_sFhb8ig0JPT0Hc21G2CWZg4RqhO4d3KqMdO",
            string Insta_client_secret = ""; //ConfigurationManager.AppSettings["ClientSecret"], //"test_7VCjAHfdUrQMtlvUwYUEtAFbYJuvAGZ1Pu63WUfSBWOgsmW8Oa3rgx6AmOsi8UuXeZ3zbFyuPFJMXbEd9rppVFSTXALInXFS3Oa7Ux1hB5NQKAh9OnzvqTSHcV8",
            string Insta_Endpoint      = ""; //ConfigurationManager.AppSettings["APIEndpoint"],// InstamojoConstants.INSTAMOJO_API_ENDPOINT,
            string Insta_Auth_Endpoint = ""; //ConfigurationManager.AppSettings["AuthEndpoint"];// InstamojoConstants.INSTAMOJO_AUTH_ENDPOINT;
            bool   validPayment        = false;

            if (paymenttype == "fromcustomer")
            {
                Insta_client_id     = ConfigurationManager.AppSettings["ClientId"];
                Insta_client_secret = ConfigurationManager.AppSettings["ClientSecret"];
                validPayment        = true;
            }
            else if (paymenttype == "tosupplier")
            {
                Insta_client_id     = ClientId.Value;
                Insta_client_secret = ClientSecret.Value;
                validPayment        = true;
            }
            else
            {
                Response.Write("Invalid Payment type");
            }

            if (validPayment)
            {
                Insta_Endpoint      = ConfigurationManager.AppSettings["APIEndpoint"];
                Insta_Auth_Endpoint = ConfigurationManager.AppSettings["AuthEndpoint"];

                Instamojo objClass = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);

                string responseURL = CreatePaymentOrder(objClass);

                Response.Redirect(responseURL);
            }
        }
        protected void submit_Click(object sender, EventArgs e)
        {
            string Insta_client_id     = ConfigurationManager.AppSettings["ClientId"];     //,//   "test_sFhb8ig0JPT0Hc21G2CWZg4RqhO4d3KqMdO",
            string Insta_client_secret = ConfigurationManager.AppSettings["ClientSecret"]; //, //"test_7VCjAHfdUrQMtlvUwYUEtAFbYJuvAGZ1Pu63WUfSBWOgsmW8Oa3rgx6AmOsi8UuXeZ3zbFyuPFJMXbEd9rppVFSTXALInXFS3Oa7Ux1hB5NQKAh9OnzvqTSHcV8",
            string Insta_Endpoint      = "";                                               //ConfigurationManager.AppSettings["APIEndpoint"],// InstamojoConstants.INSTAMOJO_API_ENDPOINT,
            string Insta_Auth_Endpoint = "";                                               //ConfigurationManager.AppSettings["AuthEndpoint"];// InstamojoConstants.INSTAMOJO_AUTH_ENDPOINT;

            //bool validPayment = false;
            Insta_Endpoint      = ConfigurationManager.AppSettings["APIEndpoint"];
            Insta_Auth_Endpoint = ConfigurationManager.AppSettings["AuthEndpoint"];

            /*
             * if (paymenttype == "fromcustomer")
             * {*/
            Insta_client_id     = ConfigurationManager.AppSettings["ClientId"];
            Insta_client_secret = ConfigurationManager.AppSettings["ClientSecret"];
            //    validPayment = true;

            /*}
             * else if (paymenttype == "tosupplier")
             * {
             *  Insta_client_id = ClientId.Value;
             *  Insta_client_secret = ClientSecret.Value;
             *  validPayment = true;
             * }
             * else
             *  Response.Write("Invalid Payment type");
             */
            Instamojo objClass = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);

            try
            {
                PaymentOrderListRequest objPaymentOrderListRequest = new PaymentOrderListRequest();
                //Optional Parameters
                objPaymentOrderListRequest.limit = 20;
                objPaymentOrderListRequest.page  = 3;

                //PaymentOrderListResponse objPaymentRequestStatusResponse = objClass.getPaymentOrderList(objPaymentOrderListRequest);
                PaymentOrderDetailsResponse        objPaymentRequestStatusResponse = objClass.getPaymentOrderDetails(ddlTranId.SelectedValue);
                List <PaymentOrderDetailsResponse> objlist = new List <PaymentOrderDetailsResponse>();
                objlist.Add(objPaymentRequestStatusResponse);
                GridView1.DataSource = objlist;
                GridView1.DataBind();


                //PropertyInfo[] properties = typeof(Order).GetProperties();
                //foreach (var item in objPaymentRequestStatusResponse.orders)
                //{
                //    Response.Write("Id :" + item.id ,);

                //}

                //MessageBox.Show("Order Count = " + objPaymentRequestStatusResponse.orders.Count());
            }
            catch (Exception ex)
            {
                Response.Write("Error:" + ex.Message);
            }



            //if (validPayment)
            //{
            //    Insta_Endpoint = ConfigurationManager.AppSettings["APIEndpoint"];
            //    Insta_Auth_Endpoint = ConfigurationManager.AppSettings["AuthEndpoint"];

            //    Instamojo objClass = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);

            //    string responseURL = CreatePaymentOrder(objClass);

            //    Response.Redirect(responseURL);
            //}
        }
Exemple #19
0
        static void CreatePaymentOrder(Instamojo objClass)
        {
            PaymentOrder objPaymentRequest = new PaymentOrder();

            //Required POST parameters
            objPaymentRequest.name        = "ABCD";
            objPaymentRequest.email       = "*****@*****.**";
            objPaymentRequest.phone       = "9969156561";
            objPaymentRequest.description = "Test description";
            objPaymentRequest.amount      = 9;
            objPaymentRequest.currency    = "USD";

            string randomName = Path.GetRandomFileName();

            randomName = randomName.Replace(".", string.Empty);
            objPaymentRequest.transaction_id = "test" + randomName;

            objPaymentRequest.redirect_url = "https://swaggerhub.com/api/saich/pay-with-instamojo/1.0.0";
            objPaymentRequest.webhook_url  = "https://your.server.com/webhook";
            //Extra POST parameters

            if (objPaymentRequest.validate())
            {
                if (objPaymentRequest.emailInvalid)
                {
                    MessageBox.Show("Email is not valid");
                }
                if (objPaymentRequest.nameInvalid)
                {
                    MessageBox.Show("Name is not valid");
                }
                if (objPaymentRequest.phoneInvalid)
                {
                    MessageBox.Show("Phone is not valid");
                }
                if (objPaymentRequest.amountInvalid)
                {
                    MessageBox.Show("Amount is not valid");
                }
                if (objPaymentRequest.currencyInvalid)
                {
                    MessageBox.Show("Currency is not valid");
                }
                if (objPaymentRequest.transactionIdInvalid)
                {
                    MessageBox.Show("Transaction Id is not valid");
                }
                if (objPaymentRequest.redirectUrlInvalid)
                {
                    MessageBox.Show("Redirect Url Id is not valid");
                }
                if (objPaymentRequest.webhookUrlInvalid)
                {
                    MessageBox.Show("Webhook URL is not valid");
                }
            }
            else
            {
                try
                {
                    CreatePaymentOrderResponse objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);
                    MessageBox.Show("Payment URL = " + objPaymentResponse.payment_options.payment_url);
                }
                catch (ArgumentNullException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (WebException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (IOException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (InvalidPaymentOrderException ex)
                {
                    if (!ex.IsWebhookValid())
                    {
                        MessageBox.Show("Webhook is invalid");
                    }

                    if (!ex.IsCurrencyValid())
                    {
                        MessageBox.Show("Currency is Invalid");
                    }

                    if (!ex.IsTransactionIDValid())
                    {
                        MessageBox.Show("Transaction ID is Inavlid");
                    }
                }
                catch (ConnectionException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (BaseException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error:" + ex.Message);
                }
            }
        }
        public ActionResult CreateOrder(Models.PaymentInitiateModel paymentData)
        {
            // We can validate the payment data using dataAnnotation on model

            // Using random we crate the transaction id of payment
            Random randomObj     = new Random();
            string transactionId = randomObj.Next(10000000, 100000000).ToString();

            // Create instamojo Clint Id and Secret
            Instamojo objClass = InstamojoImplementation.getApi(instamojoClientId, instamojoSecretId, endpoint, auth_endpoint);


            PaymentOrder objPaymentRequest = new PaymentOrder();

            //Required POST parameters
            objPaymentRequest.name           = paymentData.name;
            objPaymentRequest.email          = paymentData.email;
            objPaymentRequest.phone          = paymentData.contactNumber;
            objPaymentRequest.amount         = paymentData.amount;
            objPaymentRequest.transaction_id = transactionId;   // Unique Id to be provided . This unique id we have to create

            // Redirect url is for when transaction completed than payment gateway redirected to this url
            // Let's set the redirecturl
            // Create Complete Controller function
            objPaymentRequest.redirect_url = "http://localhost:64200/payment/complete";

            //webhook is optional. this is used for when payment completed instamojo hit this api for giving the reponse of payment
            // objPaymentRequest.webhook_url = "https://your.server.com/webhook";


            // Validate the order data
            if (objPaymentRequest.validate())
            {
                // Email is not valid
                if (objPaymentRequest.emailInvalid)
                {
                }
                //Name is not valid
                if (objPaymentRequest.nameInvalid)
                {
                }
                //Phone is not valid
                if (objPaymentRequest.phoneInvalid)
                {
                }
                //Amount is not valid
                if (objPaymentRequest.amountInvalid)
                {
                }
                //Currency is not valid
                if (objPaymentRequest.currencyInvalid)
                {
                }
                //Transaction Id is not valid
                if (objPaymentRequest.transactionIdInvalid)
                {
                }
                //Redirect Url Id is not valid
                if (objPaymentRequest.redirectUrlInvalid)
                {
                }
                //              Webhook URL is not valid
                if (objPaymentRequest.webhookUrlInvalid)
                {
                }
            }
            else
            {
                try
                {
                    // Create the order and it will reurn payment url and instmojo order id
                    CreatePaymentOrderResponse objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);

                    // Instmojo order id you can save this wihth user data in db for verification on payment verification time
                    string orderId    = objPaymentResponse.order.id;
                    string paymentUrl = objPaymentResponse.payment_options.payment_url;

                    // Return on payment url
                    return(Redirect(paymentUrl));
                }
                catch (ArgumentNullException ex)
                {
                }
                catch (WebException ex)
                {
                }
                catch (IOException ex)
                {
                }
                catch (InvalidPaymentOrderException ex)
                {
                    if (!ex.IsWebhookValid())
                    {
                    }

                    if (!ex.IsCurrencyValid())
                    {
                    }

                    if (!ex.IsTransactionIDValid())
                    {
                    }
                }
                catch (ConnectionException ex)
                {
                }
                catch (BaseException ex)
                {
                }
                catch (Exception ex)
                {
                }
            }

            return(View(""));
        }
Exemple #21
0
        /// <summary>
        /// The main entry point for the application.
        /// </summary>

        static void Main1()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            string Insta_client_id     = "tmLkZZ0zV41nJwhayBGBOI4m4I7bH55qpUBdEXGS",
                   Insta_client_secret = "IDejdccGqKaFlGav9bntKULvMZ0g7twVFolC9gdrh9peMS0megSFr7iDpWwWIDgFUc3W5SlX99fKnhxsoy6ipdAv9JeQwebmOU6VRvOEQnNMWwZnWglYmDGrfgKRheXs",
                   Insta_Endpoint      = InstamojoConstants.INSTAMOJO_API_ENDPOINT,
                   Insta_Auth_Endpoint = InstamojoConstants.INSTAMOJO_AUTH_ENDPOINT;

            try
            {
                Instamojo objClass = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);

                # region   1. Create Payment Order
                //  Create Payment Order
                //PaymentOrder objPaymentRequest = new PaymentOrder();
                ////Required POST parameters
                //objPaymentRequest.name = "ABCD";
                //objPaymentRequest.email = "*****@*****.**";
                //objPaymentRequest.phone = "9969156561";
                //objPaymentRequest.amount = 9;
                //objPaymentRequest.currency = "Unsupported";

                //string randomName = Path.GetRandomFileName();
                //randomName = randomName.Replace(".", string.Empty);
                //objPaymentRequest.transaction_id = "test";

                //objPaymentRequest.redirect_url = "https://swaggerhub.com/api/saich/pay-with-instamojo/1.0.0";
                ////Extra POST parameters

                //if (objPaymentRequest.validate())
                //{

                //    if (objPaymentRequest.nameInvalid)
                //    {
                //        MessageBox.Show("Name is not valid");
                //    }

                //}
                //else
                //{
                //    try
                //    {
                //        CreatePaymentOrderResponse objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);
                //        MessageBox.Show("Order Id = " + objPaymentResponse.order.id);
                //    }
                //    catch (ArgumentNullException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (WebException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (IOException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (InvalidPaymentOrderException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (ConnectionException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (BaseException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (Exception ex)
                //    {
                //        MessageBox.Show("Error:" + ex.Message);
                //    }
                //}
                #endregion

                # region   2. Get All your Payment Orders List
                //  Get All your Payment Orders
                //try
                //{
                //    PaymentOrderListRequest objPaymentOrderListRequest = new PaymentOrderListRequest();
                //    //Optional Parameters
                //    objPaymentOrderListRequest.limit = 21;
                //    objPaymentOrderListRequest.page = 3;

                //    PaymentOrderListResponse objPaymentRequestStatusResponse = objClass.getPaymentOrderList(objPaymentOrderListRequest);
                //    foreach (var item in objPaymentRequestStatusResponse.orders)
                //    {
                //        Console.WriteLine(item.email + item.description + item.amount);
                //    }
                //    MessageBox.Show("Order List = " + objPaymentRequestStatusResponse.orders.Count());
                //}
                //catch (ArgumentNullException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (WebException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (Exception ex)
                //{
                //    MessageBox.Show("Error:" + ex.Message);
                //}
                #endregion

                # region   3. Get details of this payment order Using Order Id
                ////  Get details of this payment order
                //try
                //{
                //    PaymentOrderDetailsResponse objPaymentRequestDetailsResponse = objClass.getPaymentOrderDetails("3189cff7c68245bface8915cac1f"); //"3189cff7c68245bface8915cac1f89df");
                //    MessageBox.Show("Transaction Id = " + objPaymentRequestDetailsResponse.transaction_id);
                //}
                //catch (ArgumentNullException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (WebException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (Exception ex)
                //{
                //    MessageBox.Show("Error:" + ex.Message);
                //}
                #endregion

                # region   4. Get details of this payment order Using TransactionId
                ////  Get details of this payment order Using TransactionId
                //try
                //{
                //    PaymentOrderDetailsResponse objPaymentRequestDetailsResponse = objClass.getPaymentOrderDetailsByTransactionId("test1");
                //    MessageBox.Show("Transaction Id = " + objPaymentRequestDetailsResponse.transaction_id);
                //}
                //catch (ArgumentNullException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (WebException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (Exception ex)
                //{
                //    MessageBox.Show("Error:" + ex.Message);
                //}
                #endregion

                # region   5. Create Refund
                //  Create Payment Order
                Refund objRefundRequest = new Refund();
                //Required POST parameters
                //objPaymentRequest.name = "ABCD";
                objRefundRequest.payment_id    = "MOJO6701005J41260385";
                objRefundRequest.type          = "TNR";
                objRefundRequest.body          = "abcd";
                objRefundRequest.refund_amount = 9;

                if (objRefundRequest.validate())
                {
                    if (objRefundRequest.payment_idInvalid)
                    {
                        MessageBox.Show("payment_id is not valid");
                    }
                }
                else
                {
                    try
                    {
                        CreateRefundResponce objRefundResponse = objClass.createNewRefundRequest(objRefundRequest);
                        MessageBox.Show("Refund Id = " + objRefundResponse.refund.id);
                    }
                    catch (ArgumentNullException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (WebException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (IOException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (InvalidPaymentOrderException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (ConnectionException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (BaseException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Error:" + ex.Message);
                    }
                }
                #endregion

                Application.Run();
            }
Exemple #22
0
        private string CreatePaymentOrder(Instamojo objClass)
        {
            var message = "";
            CreatePaymentOrderResponse objPaymentResponse = null;
            PaymentOrder objPaymentRequest = new PaymentOrder();

            ////////////////////
            ///

            /*
             * objPaymentRequest.name = "ABCD";
             * objPaymentRequest.email = "*****@*****.**";
             * objPaymentRequest.phone = "0123456789";
             * objPaymentRequest.amount = 9;
             * objPaymentRequest.transaction_id = "test"; // Unique Id to be provided
             *
             * objPaymentRequest.redirect_url = “redirect_url”;
             */
            ///////////////////

            //Required POST parameters
            objPaymentRequest.name        = Name.Value;                   // "ABCD";
            objPaymentRequest.email       = Email.Value;                  // "*****@*****.**";
            objPaymentRequest.phone       = Phone.Value;                  // "9920024852";
            objPaymentRequest.description = "Payment From " + Name.Value; // "Test description";
            objPaymentRequest.amount      = Convert.ToInt64(txtAmount.Value);
            //objPaymentRequest.currency = "USD";

            string randomName = Path.GetRandomFileName();

            randomName = randomName.Replace(".", string.Empty);
            objPaymentRequest.transaction_id = randomName;                                    // DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ", "");

            objPaymentRequest.redirect_url = ConfigurationManager.AppSettings["RedirectUrl"]; // "https://ettest.ttpsolutions.in/index.html#/PaymentOnline";
            objPaymentRequest.webhook_url  = ConfigurationManager.AppSettings["WebhookUrl"];  // "https://your.server.com/webhook";
            //Extra POST parameters

            if (objPaymentRequest.validate())
            {
                if (objPaymentRequest.emailInvalid)
                {
                    writelog("Email is not valid");
                }
                else if (objPaymentRequest.nameInvalid)
                {
                    writelog("Name is not valid");
                }
                else if (objPaymentRequest.phoneInvalid)
                {
                    writelog("Phone is not valid");
                }
                else if (objPaymentRequest.amountInvalid)
                {
                    writelog("Amount is not valid");
                }
                else if (objPaymentRequest.currencyInvalid)
                {
                    writelog("Currency is not valid");
                }
                else if (objPaymentRequest.transactionIdInvalid)
                {
                    writelog("Transaction Id is not valid");
                }
                else if (objPaymentRequest.redirectUrlInvalid)
                {
                    writelog("Redirect Url Id is not valid");
                }
                else if (objPaymentRequest.webhookUrlInvalid)
                {
                    writelog("Webhook URL is not valid");
                }
            }
            else
            {
                try
                {
                    db = new EphraimTradersEntities();
                    objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);
                    message            = objPaymentResponse.payment_options.payment_url;
                }
                catch (ArgumentNullException ex)
                {
                    writelog(ex.Message);
                }
                catch (WebException ex)
                {
                    writelog(ex.Message);
                }
                catch (IOException ex)
                {
                    writelog(ex.Message);
                }
                catch (InvalidPaymentOrderException ex)
                {
                    if (!ex.IsWebhookValid())
                    {
                        writelog("Webhook is invalid");
                    }

                    if (!ex.IsCurrencyValid())
                    {
                        writelog("Currency is Invalid");
                    }

                    if (!ex.IsTransactionIDValid())
                    {
                        writelog("Transaction ID is Inavlid");
                    }
                }
                catch (ConnectionException ex)
                {
                    writelog(ex.Message);
                }
                catch (BaseException ex)
                {
                    writelog(ex.Message);
                }
                catch (Exception ex)
                {
                    writelog("Error:" + ex.Message);
                }
            }
            return(message);
        }
Exemple #23
0
        void instamojopay()
        {
            /***** Create a new payment order *******/
            string    ClientID     = "lm0yIbueCMdnyDtG8IG2FFwNbDG4TwcCzu2uSYsT";
            string    secretkey    = "F8MsK5hAZ8IMgKwp9JmAkpNMfEREFMtM9dnMqECCzaP3xGnVJwhAJs0Ks1G2Iy8slOmvoy6p8ehZpjwpT1VuhDpKoMyCgU8fUHOaSZZuUlMs05OW6eGJGvrokPAuAuIY";
            string    endpoint     = "https://api.instamojo.com/v2/";
            string    authendpoint = "https://www.instamojo.com/oauth2/token/";
            Instamojo objClass     = InstamojoImplementation.getApi(ClientID, secretkey, endpoint, authendpoint);



            PaymentOrder objPaymentRequest = new PaymentOrder();

            //Required POST parameters
            objPaymentRequest.name           = inputname.Text;
            objPaymentRequest.email          = "*****@*****.**";
            objPaymentRequest.phone          = inputphone.Text;
            objPaymentRequest.amount         = Convert.ToDouble(total.Text);
            objPaymentRequest.transaction_id = bookingid.Text; // Unique Id to be provided

            objPaymentRequest.redirect_url = "http://localhost:51150/payment.aspx";
            //webhook is optional.
            //objPaymentRequest.webhook_url = "https://your.server.com/webhook";


            if (objPaymentRequest.validate())
            {
                if (objPaymentRequest.nameInvalid)
                {
                    Response.Write("<script LANGUAGE='JavaScript' >alert('Name is not valid')</script>");
                }
                if (objPaymentRequest.phoneInvalid)
                {
                    Response.Write("<script LANGUAGE='JavaScript' >alert('Phone is not valid')</script>");
                }


                if (objPaymentRequest.redirectUrlInvalid)
                {
                    Response.Write("<script LANGUAGE='JavaScript' >alert('Redirect Url Id is not valid')</script>");
                }
            }
            else
            {
                try
                {
                    CreatePaymentOrderResponse objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);
                    //objPaymentRequest.redirect_url = "www.google.com";
                    Response.Write("Payment URL = " + objPaymentResponse.payment_options.payment_url);
                    Response.Redirect(objPaymentResponse.payment_options.payment_url);
                }
                catch (ArgumentNullException ex)
                {
                    Response.Write("<script LANGUAGE='JavaScript' >alert('" + ex.Message + "')</script>");
                }

                catch (IOException ex)
                {
                    Response.Write("<script LANGUAGE='JavaScript' >alert('" + ex.Message + "')</script>");
                }
                catch (InvalidPaymentOrderException ex)
                {
                    if (!ex.IsWebhookValid())
                    {
                        Response.Write("<script LANGUAGE='JavaScript' >alert('" + ex.Message + "')</script>");
                    }
                }
                catch (ConnectionException ex)
                {
                    Response.Write("<script LANGUAGE='JavaScript' >alert('" + ex.Message + "')</script>");
                }
                catch (BaseException ex)
                {
                    Response.Write("<script LANGUAGE='JavaScript' >alert('" + ex.Message + "')</script>");
                }
                catch (Exception ex)
                {
                    Response.Write("<script LANGUAGE='JavaScript' >alert('Error:' " + ex.Message + "')</script>");
                }
            }
        }
Exemple #24
0
        /// <summary>
        /// The main entry point for the application.
        /// </summary>

        static void Main1()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            string Insta_client_id     = "test_9Rxf3Zl480f35JVJz0URa7qH7D7h9DC2mvZ",
                   Insta_client_secret = "test_8IkhyOtlQl56gNQJFX3sfOpcCiZFx36PRSNtFHO88atVttVHGmQdWg3HhMXbJ9vO1QTJqYYAv5A3IiBkx7wo5vzhHUzGGCMkgLjhiLiVXdBEPNpaoC8cs7oyptx",
                   Insta_Endpoint      = InstamojoConstants.INSTAMOJO_API_ENDPOINT,
                   Insta_Auth_Endpoint = InstamojoConstants.INSTAMOJO_AUTH_ENDPOINT;

            try
            {
                Instamojo objClass = InstamojoImplementation.getApi(Insta_client_id, Insta_client_secret, Insta_Endpoint, Insta_Auth_Endpoint);

                # region   1. Create Payment Order
                //  Create Payment Order
                //PaymentOrder objPaymentRequest = new PaymentOrder();
                ////Required POST parameters
                //objPaymentRequest.name = "ABCD";
                //objPaymentRequest.email = "*****@*****.**";
                //objPaymentRequest.phone = "9969156561";
                //objPaymentRequest.amount = 9;
                //objPaymentRequest.currency = "Unsupported";

                //string randomName = Path.GetRandomFileName();
                //randomName = randomName.Replace(".", string.Empty);
                //objPaymentRequest.transaction_id = "test";

                //objPaymentRequest.redirect_url = "https://swaggerhub.com/api/saich/pay-with-instamojo/1.0.0";
                ////Extra POST parameters

                //if (objPaymentRequest.validate())
                //{

                //    if (objPaymentRequest.nameInvalid)
                //    {
                //        MessageBox.Show("Name is not valid");
                //    }

                //}
                //else
                //{
                //    try
                //    {
                //        CreatePaymentOrderResponse objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);
                //        MessageBox.Show("Order Id = " + objPaymentResponse.order.id);
                //    }
                //    catch (ArgumentNullException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (WebException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (IOException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (InvalidPaymentOrderException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (ConnectionException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (BaseException ex)
                //    {
                //        MessageBox.Show(ex.Message);
                //    }
                //    catch (Exception ex)
                //    {
                //        MessageBox.Show("Error:" + ex.Message);
                //    }
                //}
                #endregion

                # region   2. Get All your Payment Orders List
                //  Get All your Payment Orders
                //try
                //{
                //    PaymentOrderListRequest objPaymentOrderListRequest = new PaymentOrderListRequest();
                //    //Optional Parameters
                //    objPaymentOrderListRequest.limit = 21;
                //    objPaymentOrderListRequest.page = 3;

                //    PaymentOrderListResponse objPaymentRequestStatusResponse = objClass.getPaymentOrderList(objPaymentOrderListRequest);
                //    foreach (var item in objPaymentRequestStatusResponse.orders)
                //    {
                //        Console.WriteLine(item.email + item.description + item.amount);
                //    }
                //    MessageBox.Show("Order List = " + objPaymentRequestStatusResponse.orders.Count());
                //}
                //catch (ArgumentNullException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (WebException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (Exception ex)
                //{
                //    MessageBox.Show("Error:" + ex.Message);
                //}
                #endregion

                # region   3. Get details of this payment order Using Order Id
                ////  Get details of this payment order
                //try
                //{
                //    PaymentOrderDetailsResponse objPaymentRequestDetailsResponse = objClass.getPaymentOrderDetails("3189cff7c68245bface8915cac1f"); //"3189cff7c68245bface8915cac1f89df");
                //    MessageBox.Show("Transaction Id = " + objPaymentRequestDetailsResponse.transaction_id);
                //}
                //catch (ArgumentNullException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (WebException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (Exception ex)
                //{
                //    MessageBox.Show("Error:" + ex.Message);
                //}
                #endregion

                # region   4. Get details of this payment order Using TransactionId
                ////  Get details of this payment order Using TransactionId
                //try
                //{
                //    PaymentOrderDetailsResponse objPaymentRequestDetailsResponse = objClass.getPaymentOrderDetailsByTransactionId("test1");
                //    MessageBox.Show("Transaction Id = " + objPaymentRequestDetailsResponse.transaction_id);
                //}
                //catch (ArgumentNullException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (WebException ex)
                //{
                //    MessageBox.Show(ex.Message);
                //}
                //catch (Exception ex)
                //{
                //    MessageBox.Show("Error:" + ex.Message);
                //}
                #endregion

                # region   5. Create Refund
                //  Create Payment Order
                Refund objRefundRequest = new Refund();
                //Required POST parameters
                //objPaymentRequest.name = "ABCD";
                objRefundRequest.payment_id    = "MOJO6701005J41260385";
                objRefundRequest.type          = "TNR";
                objRefundRequest.body          = "abcd";
                objRefundRequest.refund_amount = 9;

                if (objRefundRequest.validate())
                {
                    if (objRefundRequest.payment_idInvalid)
                    {
                        MessageBox.Show("payment_id is not valid");
                    }
                }
                else
                {
                    try
                    {
                        CreateRefundResponce objRefundResponse = objClass.createNewRefundRequest(objRefundRequest);
                        MessageBox.Show("Refund Id = " + objRefundResponse.refund.id);
                    }
                    catch (ArgumentNullException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (WebException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (IOException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (InvalidPaymentOrderException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (ConnectionException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (BaseException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Error:" + ex.Message);
                    }
                }
                #endregion

                Application.Run();
            }
Exemple #25
0
        private void CreatePaymentOrder(Instamojo objClass)
        {
            PaymentOrder objPaymentRequest = new PaymentOrder();

            //Required POST parameters
            objPaymentRequest.name        = txtName.Text;
            objPaymentRequest.email       = txtEmail.Text;
            objPaymentRequest.phone       = txtMobileNumber.Text;
            objPaymentRequest.description = "Test description";
            objPaymentRequest.amount      = Convert.ToInt32(txtAmount.Text);
            objPaymentRequest.currency    = "INR";

            string randomName = Path.GetRandomFileName();

            randomName = randomName.Replace(".", string.Empty);
            objPaymentRequest.transaction_id = "test" + randomName;

            Session["transID"] = objPaymentRequest.transaction_id;

            objPaymentRequest.redirect_url = "https://localhost:44337/CallBackInstamojo.aspx";
            //Extra POST parameters

            if (objPaymentRequest.validate())
            {
                if (objPaymentRequest.emailInvalid)
                {
                    Response.Write("Email is not valid");
                }
                if (objPaymentRequest.nameInvalid)
                {
                    Response.Write("Name is not valid");
                }
                if (objPaymentRequest.phoneInvalid)
                {
                    Response.Write("Phone is not valid");
                }
                if (objPaymentRequest.amountInvalid)
                {
                    Response.Write("Amount is not valid");
                }
                if (objPaymentRequest.currencyInvalid)
                {
                    Response.Write("Currency is not valid");
                }
                if (objPaymentRequest.transactionIdInvalid)
                {
                    Response.Write("Transaction Id is not valid");
                }
                if (objPaymentRequest.redirectUrlInvalid)
                {
                    Response.Write("Redirect Url Id is not valid");
                }
                if (objPaymentRequest.webhookUrlInvalid)
                {
                    Response.Write("Webhook URL is not valid");
                }
            }
            else
            {
                try
                {
                    CreatePaymentOrderResponse objPaymentResponse = objClass.createNewPaymentRequest(objPaymentRequest);
                    Response.Redirect(objPaymentResponse.payment_options.payment_url);
                }
                catch (ArgumentNullException ex)
                {
                    Response.Write(ex.Message);
                }
                catch (WebException ex)
                {
                    Response.Write(ex.Message);
                }
                catch (IOException ex)
                {
                    Response.Write(ex.Message);
                }
                catch (InvalidPaymentOrderException ex)
                {
                    if (!ex.IsWebhookValid())
                    {
                        Response.Write("Webhook is invalid");
                    }

                    if (!ex.IsCurrencyValid())
                    {
                        Response.Write("Currency is Invalid");
                    }

                    if (!ex.IsTransactionIDValid())
                    {
                        Response.Write("Transaction ID is Inavlid");
                    }
                }
                catch (ConnectionException ex)
                {
                    Response.Write(ex.Message);
                }
                catch (BaseException ex)
                {
                    Response.Write(ex.Message);
                }
                catch (Exception ex)
                {
                    Response.Write("Error:" + ex.Message);
                }
            }
        }