Ejemplo n.º 1
0
        public void HandleEvent(MessageModelCreatedEvent message)
        {
            if (message.MessageContext.MessageTemplate.Name != MessageTemplateNames.OrderPlacedCustomer)
            {
                return;
            }

            var storeId = _services.StoreContext.CurrentStore.Id;

            if (!_pluginFinder.IsPluginReady(_services.Settings, AmazonPayPlugin.SystemName, storeId))
            {
                return;
            }

            dynamic model = message.Model;

            if (model.Order == null)
            {
                return;
            }

            var orderId = model.Order.ID;

            if (orderId is int id)
            {
                var order = _orderService.GetOrderById(id);

                var isAmazonPayment = (order != null && order.PaymentMethodSystemName.IsCaseInsensitiveEqual(AmazonPayPlugin.SystemName));
                var tokenValue      = (isAmazonPayment ? _services.Localization.GetResource("Plugins.Payments.AmazonPay.BillingAddressMessageNote") : "");

                model.AmazonPay = new Dictionary <string, object>
                {
                    { "BillingAddressMessageNote", tokenValue }
                };
            }
        }
Ejemplo n.º 2
0
        public void HandleEvent(MessageTokensAddedEvent <Token> messageTokenEvent)
        {
            if (!messageTokenEvent.Message.Name.IsCaseInsensitiveEqual("OrderPlaced.CustomerNotification"))
            {
                return;
            }

            var storeId = _services.StoreContext.CurrentStore.Id;

            if (!_pluginFinder.IsPluginReady(_services.Settings, AmazonPayCore.SystemName, storeId))
            {
                return;
            }

            var order = _orderService.SearchOrders(storeId, _services.WorkContext.CurrentCustomer.Id, null, null, null, null, null, null, null, null, 0, 1).FirstOrDefault();

            var isAmazonPayment = (order != null && order.PaymentMethodSystemName.IsCaseInsensitiveEqual(AmazonPayCore.SystemName));
            var tokenValue      = (isAmazonPayment ? _services.Localization.GetResource("Plugins.Payments.AmazonPay.BillingAddressMessageNote") : "");

            messageTokenEvent.Tokens.Add(new Token("cloudCommerce.AmazonPay.BillingAddressMessageNote", tokenValue));
        }
        public void HandleEvent(MessageTokensAddedEvent <Token> messageTokenEvent)
        {
            if (!messageTokenEvent.Message.Name.IsCaseInsensitiveEqual("OrderPlaced.CustomerNotification"))
            {
                return;
            }

            var storeId = _services.StoreContext.CurrentStore.Id;

            if (!_pluginFinder.IsPluginReady(_services.Settings, AmazonPayPlugin.SystemName, storeId))
            {
                return;
            }

            var orderId = messageTokenEvent.Tokens.Where(x => x.Key.Equals("Order.ID")).FirstOrDefault();
            var order   = _orderService.GetOrderById(orderId.Value.ToInt());

            var isAmazonPayment = (order != null && order.PaymentMethodSystemName.IsCaseInsensitiveEqual(AmazonPayPlugin.SystemName));
            var tokenValue      = (isAmazonPayment ? _services.Localization.GetResource("Plugins.Payments.AmazonPay.BillingAddressMessageNote") : "");

            messageTokenEvent.Tokens.Add(new Token("SmartStore.AmazonPay.BillingAddressMessageNote", tokenValue));
        }