Beispiel #1
0
        /// <summary>
        /// Requests the status of a transaction.
        /// </summary>
        /// <param name="settings">The status request settings.</param>
        /// <param name="cancellationToken">Cancellation token.</param>
        /// <returns>Status result.</returns>
        public async Task <StatusResult> RequestStatusAsync(
            RequestStatusSettings settings,
            CancellationToken cancellationToken = default)
        {
            var request = RequestBuilder.CreateAcquirerStatusRequest(
                merchantId,
                settings);

            var response = await SendObjectAsXmlAsync(
                request,
                cancellationToken);

            return(ResultParser.ParseStatusResult(response, GetAssertion));
        }
        internal static AcquirerStatusReq CreateAcquirerStatusRequest(
            string merchantId,
            RequestStatusSettings settings)
        {
            settings.Validate();

            return(new AcquirerStatusReq {
                Merchant = new Merchant {
                    MerchantId = merchantId,
                    SubId = settings.SubId,
                },
                Transaction = new Transaction {
                    TransactionId = settings.TransactionId,
                },
            });
        }