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); }
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); }
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); }
/// <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); }