Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoMethodError: undefined method `stringify_keys' #16

Open
jaredmurphy opened this issue Oct 4, 2019 · 0 comments
Open

NoMethodError: undefined method `stringify_keys' #16

jaredmurphy opened this issue Oct 4, 2019 · 0 comments

Comments

@jaredmurphy
Copy link

jaredmurphy commented Oct 4, 2019

Solidus Version: 2.5

When attempting to perform a Return Authorization, I'm getting the following error in ActiveMerchant that it is unable to stringify something that Klarna is attempting to pass over:

NoMethodError: undefined method `stringify_keys' for #<String:0x00000000092f82e0>
from /home/***/.gem/ruby/2.5.0/gems/activemerchant-1.92.0/lib/active_merchant/billing/response.rb:22:in `initialize

This seems to be getting fired from klarna_gateway/models/order.rb line 52 in update_klarna_shipments. Looks like Klarna may be expected to pass a hash or something here but is passing a string.

Any idea what could be going on here?

Stack Trace:

NoMethodError: undefined method `stringify_keys' for #<String:0x0000000010bff5f8>
  from active_merchant/billing/response.rb:22:in `initialize'
  from active_merchant/billing/gateways/klarna_gateway.rb:246:in `new'
  from active_merchant/billing/gateways/klarna_gateway.rb:246:in `shipping_info'
  from klarna_gateway/models/order.rb:52:in `block in update_klarna_shipments'
  from klarna_gateway/models/order.rb:51:in `each'
  from klarna_gateway/models/order.rb:51:in `update_klarna_shipments'
  from spree/order_updater.rb:33:in `block in run_hooks'
  from set.rb:338:in `each_key'
  from set.rb:338:in `each'
  from spree/order_updater.rb:33:in `run_hooks'
  from spree/order_updater.rb:27:in `block in update'
  from active_record/connection_adapters/abstract/database_statements.rb:233:in `transaction'
  from active_record/transactions.rb:210:in `transaction'
  from active_record/transactions.rb:299:in `transaction'
  from spree/order_updater.rb:18:in `update'
  from app/models/concerns/***/order_updater_concern.rb:6:in `update'
  from spree/order.rb:272:in `recalculate'
  from spree/order/checkout.rb:123:in `block (2 levels) in define_state_machine!'
  from state_machines/eval_helpers.rb:79:in `evaluate_method'
  from state_machines/callback.rb:192:in `block in run_methods'
  from state_machines/callback.rb:191:in `each'
  from state_machines/callback.rb:191:in `run_methods'
  from state_machines/callback.rb:159:in `call'
  from state_machines/transition.rb:394:in `block (2 levels) in after'
  from state_machines/transition.rb:394:in `each'
  from state_machines/transition.rb:394:in `block in after'
  from state_machines/transition.rb:392:in `catch'
  from state_machines/transition.rb:392:in `after'
  from state_machines/transition.rb:195:in `run_callbacks'
  from state_machines/transition_collection.rb:127:in `run_callbacks'
  from state_machines/transition_collection.rb:212:in `run_callbacks'
  from state_machines/transition_collection.rb:63:in `block (2 levels) in perform'
  from state_machines/transition_collection.rb:63:in `catch'
  from state_machines/transition_collection.rb:63:in `block in perform'
  from state_machines/transition_collection.rb:186:in `within_transaction'
  from state_machines/transition_collection.rb:62:in `perform'
  from state_machines/integrations/active_record.rb:534:in `around_save'
  from state_machines/integrations/active_record.rb:515:in `save'
  from state_machines/transition_collection.rb:154:in `block (2 levels) in run_actions'
  from state_machines/transition_collection.rb:154:in `each'
  from state_machines/transition_collection.rb:154:in `block in run_actions'
  from state_machines/transition_collection.rb:170:in `catch_exceptions'
  from state_machines/transition_collection.rb:148:in `run_actions'
  from state_machines/transition_collection.rb:60:in `perform'
  from state_machines/transition.rb:163:in `perform'
  from state_machines/event.rb:155:in `fire'
  from state_machines/event.rb:219:in `block in add_actions'
  from state_machines/machine.rb:729:in `block (2 levels) in define_helper'
  from state_machines/event.rb:224:in `block in add_actions'
  from state_machines/machine.rb:729:in `block (2 levels) in define_helper'
  from app/models/spree/return_authorization_decorator.rb:19:in `block (2 levels) in <top (required)>'
  from active_support/callbacks.rb:413:in `instance_exec'
  from active_support/callbacks.rb:413:in `block in make_lambda'
  from active_support/callbacks.rb:235:in `block in halting_and_conditional'
  from active_support/callbacks.rb:511:in `block in invoke_after'
  from active_support/callbacks.rb:511:in `each'
  from active_support/callbacks.rb:511:in `invoke_after'
  from active_support/callbacks.rb:132:in `run_callbacks'
  from active_support/callbacks.rb:827:in `_run_create_callbacks'
  from active_record/callbacks.rb:344:in `_create_record'
  from active_record/timestamp.rb:102:in `_create_record'
  from active_record/persistence.rb:554:in `create_or_update'
  from active_record/callbacks.rb:340:in `block in create_or_update'
  from active_support/callbacks.rb:131:in `run_callbacks'
  from active_support/callbacks.rb:827:in `_run_save_callbacks'
  from active_record/callbacks.rb:340:in `create_or_update'
  from active_record/persistence.rb:129:in `save'
  from active_record/validations.rb:44:in `save'
  from active_record/attribute_methods/dirty.rb:35:in `save'
  from active_record/transactions.rb:308:in `block (2 levels) in save'
  from active_record/transactions.rb:384:in `block in with_transaction_returning_status'
  from active_record/connection_adapters/abstract/database_statements.rb:235:in `block in transaction'
  from active_record/connection_adapters/abstract/transaction.rb:194:in `block in within_new_transaction'
  from monitor.rb:226:in `mon_synchronize'
  from active_record/connection_adapters/abstract/transaction.rb:191:in `within_new_transaction'
  from active_record/connection_adapters/abstract/database_statements.rb:235:in `transaction'
  from active_record/transactions.rb:210:in `transaction'
  from active_record/transactions.rb:381:in `with_transaction_returning_status'
  from active_record/transactions.rb:308:in `block in save'
  from active_record/transactions.rb:323:in `rollback_active_record_state!'
  from active_record/transactions.rb:307:in `save'
  from active_record/suppressor.rb:42:in `save'
  from state_machines/integrations/active_record.rb:515:in `block in save'
  from state_machines/integrations/active_record.rb:534:in `block in around_save'
  from state_machines/transition_collection.rb:150:in `block in run_actions'
  from state_machines/transition_collection.rb:170:in `catch_exceptions'
  from state_machines/transition_collection.rb:148:in `run_actions'
  from state_machines/transition_collection.rb:133:in `run_callbacks'
  from state_machines/transition_collection.rb:212:in `run_callbacks'
  from state_machines/transition_collection.rb:63:in `block (2 levels) in perform'
  from state_machines/transition_collection.rb:63:in `catch'
  from state_machines/transition_collection.rb:63:in `block in perform'
  from state_machines/transition_collection.rb:186:in `within_transaction'
  from state_machines/transition_collection.rb:62:in `perform'
  from state_machines/integrations/active_record.rb:534:in `around_save'
  from state_machines/integrations/active_record.rb:515:in `save'
  from spree/admin/resource_controller.rb:55:in `create'
  from app/controllers/spree/admin/return_authorizations_controller_decorator.rb:14:in `create'
  from action_controller/metal/basic_implicit_render.rb:4:in `send_action'
  from abstract_controller/base.rb:186:in `process_action'
  from ddtrace/contrib/rails/action_controller_patch.rb:48:in `process_action'
  from action_controller/metal/rendering.rb:30:in `process_action'
  from abstract_controller/callbacks.rb:20:in `block in process_action'
  from active_support/callbacks.rb:108:in `block in run_callbacks'
  from raven/integrations/rails/controller_transaction.rb:7:in `block in included'
  from active_support/callbacks.rb:117:in `instance_exec'
  from active_support/callbacks.rb:117:in `block in run_callbacks'
  from active_support/callbacks.rb:135:in `run_callbacks'
  from abstract_controller/callbacks.rb:19:in `process_action'
  from action_controller/metal/rescue.rb:20:in `process_action'
  from action_controller/metal/instrumentation.rb:32:in `block in process_action'
  from active_support/notifications.rb:166:in `block in instrument'
  from active_support/notifications/instrumenter.rb:21:in `instrument'
  from active_support/notifications.rb:166:in `instrument'
  from action_controller/metal/instrumentation.rb:30:in `process_action'
  from action_controller/metal/params_wrapper.rb:252:in `process_action'
  from active_record/railties/controller_runtime.rb:22:in `process_action'
  from abstract_controller/base.rb:124:in `process'
  from action_view/rendering.rb:30:in `process'
  from action_controller/metal.rb:189:in `dispatch'
  from action_controller/metal.rb:253:in `dispatch'
  from action_dispatch/routing/route_set.rb:49:in `dispatch'
  from action_dispatch/routing/route_set.rb:31:in `serve'
  from action_dispatch/journey/router.rb:50:in `block in serve'
  from action_dispatch/journey/router.rb:33:in `each'
  from action_dispatch/journey/router.rb:33:in `serve'
  from action_dispatch/routing/route_set.rb:844:in `call'
  from rails/engine.rb:522:in `call'
  from rails/railtie.rb:185:in `public_send'
  from rails/railtie.rb:185:in `method_missing'
  from action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
  from action_dispatch/routing/mapper.rb:46:in `serve'
  from action_dispatch/journey/router.rb:50:in `block in serve'
  from action_dispatch/journey/router.rb:33:in `each'
  from action_dispatch/journey/router.rb:33:in `serve'
  from action_dispatch/routing/route_set.rb:844:in `call'
  from omniauth/strategy.rb:415:in `call_app!'
  from omniauth/strategies/saml.rb:86:in `other_phase'
  from omniauth/strategy.rb:189:in `call!'
  from omniauth/strategy.rb:168:in `call'
  from omniauth/builder.rb:63:in `call'
  from http_accept_language/middleware.rb:14:in `call'
  from utf8-cleaner/middleware.rb:21:in `call'
  from warden/manager.rb:36:in `block in call'
  from warden/manager.rb:34:in `catch'
  from warden/manager.rb:34:in `call'
  from versionist/middleware.rb:39:in `_call'
  from versionist/middleware.rb:17:in `call'
  from rack/etag.rb:25:in `call'
  from rack/conditional_get.rb:38:in `call'
  from rack/head.rb:12:in `call'
  from rack/session/abstract/id.rb:232:in `context'
  from rack/session/abstract/id.rb:226:in `call'
  from action_dispatch/middleware/cookies.rb:613:in `call'
  from action_dispatch/middleware/callbacks.rb:26:in `block in call'
  from active_support/callbacks.rb:97:in `run_callbacks'
  from action_dispatch/middleware/callbacks.rb:24:in `call'
  from action_dispatch/middleware/debug_exceptions.rb:59:in `call'
  from ddtrace/contrib/rails/middlewares.rb:16:in `call'
  from action_dispatch/middleware/show_exceptions.rb:31:in `call'
  from lib/rack/cleanup_locale.rb:9:in `call'
  from rails/rack/logger.rb:36:in `call_app'
  from rails/rack/logger.rb:24:in `block in call'
  from active_support/tagged_logging.rb:69:in `block in tagged'
  from active_support/tagged_logging.rb:26:in `tagged'
  from active_support/tagged_logging.rb:69:in `tagged'
  from rails/rack/logger.rb:24:in `call'
  from action_dispatch/middleware/remote_ip.rb:79:in `call'
  from request_store/middleware.rb:19:in `call'
  from action_dispatch/middleware/request_id.rb:25:in `call'
  from rack/method_override.rb:22:in `call'
  from rack/runtime.rb:22:in `call'
  from rack/timeout/core.rb:122:in `block in call'
  from rack/timeout/support/timeout.rb:19:in `timeout'
  from rack/timeout/core.rb:121:in `call'
  from active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
  from action_dispatch/middleware/executor.rb:12:in `call'
  from rack/cache/context.rb:140:in `forward'
  from rack/cache/context.rb:147:in `pass'
  from rack/cache/context.rb:159:in `invalidate'
  from rack/cache/context.rb:74:in `call!'
  from rack/cache/context.rb:51:in `call'
  from action_dispatch/middleware/static.rb:125:in `call'
  from rack/sendfile.rb:111:in `call'
  from ddtrace/contrib/rack/middlewares.rb:72:in `call'
  from utf8-cleaner/middleware.rb:21:in `call'
  from raven/integrations/rack.rb:51:in `call'
  from rails/engine.rb:522:in `call'
  from unicorn/http_server.rb:606:in `process_client'
  from unicorn/http_server.rb:701:in `worker_loop'
  from unicorn/http_server.rb:549:in `spawn_missing_workers'
  from unicorn/http_server.rb:142:in `start'
  from /home/***/.gem/ruby/2.5.0/gems/unicorn-5.4.0/bin/unicorn:126:in `<top (required)>'
  from /home/***/bin/unicorn:29:in `load'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant