private void ProcessPaymentTransaction(long shopifyOrderId)
        {
            var rootAction    = _pendingActionService.Create(shopifyOrderId);
            var paymentAction = rootAction.PaymentAction;

            if (paymentAction.ActionCode == ActionCode.None)
            {
                return;
            }

            if (paymentAction.ActionCode == ActionCode.CreateInAcumatica && paymentAction.IsValid)
            {
                // Build Create Payment payload for Acumatica
                //
                var transaction =
                    _syncOrderRepository
                    .RetrieveShopifyTransactionWithNoTracking(paymentAction.ShopifyTransactionId);
                var payment = BuildPaymentForCreate(transaction);

                // Push to Acumatica and write Sync Record
                //
                _logService.Log(LogBuilder.CreateAcumaticaPayment(transaction));
                PushPaymentAndWriteSync(transaction, payment);
                return;
            }

            if (paymentAction.ActionCode == ActionCode.UpdateInAcumatica && paymentAction.IsValid)
            {
                // Build Payment Update payload for Acumatica
                //
                var transaction =
                    _syncOrderRepository
                    .RetrieveShopifyTransactionWithNoTracking(paymentAction.ShopifyTransactionId);

                var payment = BuildPaymentForUpdate(transaction);

                // Push to Acumatica and write Sync Record
                //
                _logService.Log(LogBuilder.UpdateAcumaticaPayment(transaction));
                PushPaymentAndWriteSync(transaction, payment);
            }
        }