public async Task HandleEventAsync(MSquare_Event eventData)
 {
     using var log = BeginFunction(nameof(SquareEventMicroService), nameof(HandleEventAsync), eventData);
     try
     {
         await Task.CompletedTask.ConfigureAwait(false);
     }
     catch (Exception ex)
     {
         log.Exception(ex);
         throw;
     }
 }
Example #2
0
        private async Task HandlePaymentEventAsync(MSquare_Event eventData)
        {
            var funderReference = CreateFunderReference.FromSquarePaymentId(eventData.SquarePaymentId);
            var funderId        = await FundingMicroService.AllocateFunderAsync(funderReference).ConfigureAwait(false);

            if (TryParseOrderId.FromSquarePaymentReference(eventData.SquarePaymentReference, out var orderId))
            {
                var fundableReference = CreateFundableReference.FromOrderId(orderId);

                await FundingMicroService.SetFundsReceivedAsync(funderId, fundableReference, eventData.PaymentAmount, eventData.UnitOfWork).ConfigureAwait(false);

                await FundingMicroService.SetProcessingFeeAsync(funderId, fundableReference, eventData.ProcessingFeeAmount, eventData.UnitOfWork).ConfigureAwait(false);

                await FundingMicroService.SetFundsRefundedAsync(funderId, fundableReference, eventData.RefundAmount, eventData.UnitOfWork).ConfigureAwait(false);
            }
        }
Example #3
0
        public async Task HandleEventAsync(MSquare_Event eventData)
        {
            using var log = BeginFunction(nameof(SquareEventMicroService), nameof(HandleEventAsync), eventData);
            try
            {
                switch (eventData.EventTypeCode)
                {
                case SquarePaymentEventTypeCodes.Payment:
                case SquarePaymentEventTypeCodes.Refund:
                    await HandlePaymentEventAsync(eventData).ConfigureAwait(false);

                    break;

                default:
                    throw new ArgumentException($"Unknown event type code {eventData.EventTypeCode}.");
                }
            }
            catch (Exception ex)
            {
                log.Exception(ex);
                throw;
            }
        }