Exemplo n.º 1
0
        public void QueryRequestShouldHandleError()
        {
            // Arrange
            var queryRequest    = new MGQueryTxnRequest {
            };
            var client          = Mocks.GetMockedMGClient(null);
            var expectedMessage = "The OrderID field is required. | The MerchantOrderID field is required.";

            // Act
            MGQueryTxnResult actual = client.CheckOrderStatus(queryRequest).Result;

            // Assert
            Assert.IsFalse(actual.IsSuccess);
            Assert.AreEqual(expectedMessage, actual.Message);
        }
Exemplo n.º 2
0
        public void QueryRequestSuccess()
        {
            // Arrange
            var queryRequest = new MGQueryTxnRequest
            {
                OrderID         = "1234567",
                MerchantOrderID = "merch-order-id",
            };
            string messageSuccess = "{\"code\":\"200\",\"data\":{\"type\":\"SALE\",\"status\":\"APPROVED\",\"errorMessage\":\"\",\"endpointID\":\"1050\",\"processorTransactionID\":\"\",\"orderID\":\"8b3a6b89697e8ac8f45d964bcc90c7ba41764acd\",\"merchantOrderID\":\"QvE8dZshpKhaOmHY\",\"amount\":\"500.00\",\"currency\":\"THB\",\"customerEmail\":\"[email protected]\",\"customParam\":\"{\\\"UserId\\\":\\\"e139b447\\\"}\",\"extraData\":\"\",\"request\":{\"merchantID\":\"EXAMPLE-MERCHANT-ID\",\"orderID\":\"8b3a6b89697e8ac8f45d964bcc90c7ba41764acd\",\"merchantOrderID\":\"QvE8dZshpKhaOmHY\",\"timestamp\":\"1564617600\"}}}";
            var    httpMock       = Mocks.GetMockedHttp(HttpStatusCode.OK, messageSuccess);
            var    client         = Mocks.GetMockedMGClient(httpClient: httpMock);

            // Act
            var actual = client.CheckOrderStatus(queryRequest).Result;

            // Assert
            Assert.IsTrue(actual.IsSuccess);
            Assert.AreEqual("APPROVED", actual.Data.status);
        }
Exemplo n.º 3
0
        public static void QueryOrderExample(MGClient client)
        {
            // Initialize query status payload & send request
            var queryStatusCheckRequest = new MGQueryTxnRequest {
                MerchantOrderID = "QvE8dZshpKhaOmHY1", OrderID = "32453550"
            };
            MGQueryTxnResult orderResponse = client.CheckOrderStatus(queryStatusCheckRequest).Result;

            if (!orderResponse.IsSuccess)
            {
                // Check reason and handle failure
                string reason = orderResponse.Message;
                // ...
                return;
            }

            // Order status
            string status = orderResponse.Data.status;

            Console.WriteLine(status);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Make an order status check request
        /// </summary>
        /// <param name="requestPayload">Status check request payload</param>
        /// <returns>Task<MGQueryTxnResult> containing Zotapay API response</returns>
        public async Task <MGQueryTxnResult> CheckOrderStatus(MGQueryTxnRequest requestPayload)
        {
            var result = await Send(requestPayload);

            return((MGQueryTxnResult)result);
        }