コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }