private async Task HandleExceptionAsync(HttpContext context, Exception e) { var result = new TransactionResultModel() { IsSuccessful = false, Message = e.Message }; int statusCode; if (e is ArgumentException || e is ArgumentNullException) { statusCode = StatusCodes.Status400BadRequest; } else if (e is Banking.Framework.Exceptions.TransactionException) { statusCode = StatusCodes.Status422UnprocessableEntity; } else { statusCode = StatusCodes.Status500InternalServerError; result.Message = "Unknown error, please contact the system admin"; } _logger.LogError(e, e.Message); var response = JsonConvert.SerializeObject(result, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); context.Response.StatusCode = statusCode; await context.Response.WriteAsync(response); }
public TransactionDetailModel GetTransactionDetail(string transactionCode, string tokenKey, string checksumKey) { AlepayUltil alepayUltil = new AlepayUltil(); TransactionResultModel transaction = new TransactionResultModel(); transaction.transactionCode = transactionCode; transaction.tokenKey = tokenKey; transaction.signature = alepayUltil.GetSignature(transaction, checksumKey); return(Anpero.HttpHelper <TransactionDetailModel> .PostJson(IsTest? "https://alepay-v3-sandbox.nganluong.vn/api/v3/checkout/get-transaction-info" : "https://alepay-v3.nganluong.vn/api/v3/checkout/get-transaction-info", transaction)); }