Example #1
0
        public ActionResult Index(InvoiceInvalidViewModel Model)
        {
            //1. 設定發票作廢資訊
            InvoiceInvalid invc = new InvoiceInvalid();
            invc.MerchantID = Model.MerchantID;
            invc.InvoiceNumber = Model.InvoiceNumber;
            invc.Reason = Model.Reason;

            //2. 初始化發票Service物件
            Invoice<InvoiceInvalid> inv = new Invoice<InvoiceInvalid>();

            //3. 指定測試環境, 上線時請記得改Prod
            inv.Environment = EInvoice.Integration.Enumeration.EnvironmentEnum.Stage;

            //4. 設定歐付寶提供的 Key 和 IV
            inv.HashIV = "q9jcZX8Ib9LM8wYk";
            inv.HashKey = "ejCk326UnaZWKisg";

            //5. 執行API的回傳結果(JSON)字串
            string json = inv.post(invc);

            //6. 解序列化,還原成物件使用
            //InvoiceInvalidReturn obj = new InvoiceInvalidReturn();
            //obj = JsonConvert.DeserializeObject<InvoiceInvalidReturn>(json);
            //obj.XXX;
            //obj.XXX;
            // ...

            ViewBag.message = json;
            return View();

        }
Example #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //1. 設定發票作廢資訊
            InvoiceInvalid invc = new InvoiceInvalid();

            invc.MerchantID    = "2000132";    //廠商編號。
            invc.InvoiceNumber = "YE50047080"; //發票號碼。
            invc.Reason        = "test";       //作廢原因。
            //2. 初始化發票Service物件
            Invoice <InvoiceInvalid> inv = new Invoice <InvoiceInvalid>();

            //3. 指定測試環境, 上線時請記得改Prod
            inv.Environment = EnvironmentEnum.Stage;
            //4. 設定歐付寶提供的 Key 和 IV
            inv.HashIV  = "q9jcZX8Ib9LM8wYk";
            inv.HashKey = "ejCk326UnaZWKisg";
            //5. 執行API的回傳結果(JSON)字串
            string json = inv.post(invc);
            //6. 解序列化,還原成物件使用
            InvoiceInvalidReturn obj = new InvoiceInvalidReturn();

            obj = JsonConvert.DeserializeObject <InvoiceInvalidReturn>(json);

            string temp = string.Empty;

            //obj.InvoiceNumber
            //obj.RtnCode
            //obj.RtnMsg
            temp = string.Format("作廢結果<br> InvoiceNumber={0} <br> RtnCode={1} <br> RtnMsg={2}", obj.InvoiceNumber, obj.RtnCode, obj.RtnMsg);
            Response.Write(temp);
        }
Example #3
0
        public ActionResult Index(InvoiceInvalidViewModel Model)
        {
            //1. 設定發票作廢資訊
            InvoiceInvalid invc = new InvoiceInvalid();

            invc.MerchantID    = Model.MerchantID;
            invc.InvoiceNumber = Model.InvoiceNumber;
            invc.Reason        = Model.Reason;

            //2. 初始化發票Service物件
            Invoice <InvoiceInvalid> inv = new Invoice <InvoiceInvalid>();

            //3. 指定測試環境, 上線時請記得改Prod
            inv.Environment = EInvoice.Integration.Enumeration.EnvironmentEnum.Stage;

            //4. 設定歐付寶提供的 Key 和 IV
            inv.HashIV  = "q9jcZX8Ib9LM8wYk";
            inv.HashKey = "ejCk326UnaZWKisg";

            //5. 執行API的回傳結果(JSON)字串
            string json = inv.post(invc);

            //6. 解序列化,還原成物件使用
            //InvoiceInvalidReturn obj = new InvoiceInvalidReturn();
            //obj = JsonConvert.DeserializeObject<InvoiceInvalidReturn>(json);
            //obj.XXX;
            //obj.XXX;
            // ...

            ViewBag.message = json;
            return(View());
        }
        public void TestIssueInvalid()
        {
            //1. 設定發票作廢資訊
            var invoiceInvalid = new InvoiceInvalid
            {
                //廠商編號。
                MerchantID = "2000132",
                //發票號碼。
                InvoiceNumber = "XK00024189",
                //作廢原因。
                Reason = "test"
            };

            //3. 執行API的回傳結果
            var response = Client.Post <InvoiceInvalidReturn, InvoiceInvalid>(invoiceInvalid);

            //TODO : 發票已經過期

            /*
             * //表示成功
             * Assert.AreEqual("1", response.RtnCode);
             *
             * //發票要一樣
             * Assert.AreEqual(invoiceInvalid.InvoiceNumber, response.InvoiceNumber);
             */
        }