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); } }