示例#1
0
        public override async Task <HubtelPosProxyResponse <PaymentRequest> > CheckStatusAsync(PaymentRequest paymentRequest)
        {
            var accountId = paymentRequest.AccountId;
            var response  = await _merchantAccountService.CheckHubtelMeTransactionStatusAsync(paymentRequest, accountId).ConfigureAwait(false);

            if (response != null)
            {
                paymentRequest.SetStatus(response.Data.Data[0].TransactionStatus);

                var orderResponse = await RecordPaymentAsync(paymentRequest).ConfigureAwait(false);

                if (orderResponse.Success)
                {
                    return(Responses.SuccessResponse(StatusMessage.Found, paymentRequest, ResponseCodes.SUCCESS));
                }
            }
            return(Responses.ErrorResponse(response.Errors, new PaymentRequest(), response.Message, ResponseCodes.EXTERNAL_ERROR));
        }