I'd agree that would be clearer (didn't realize it was possible, actually), but I just tried it and I don't think it will work very easily.  

The arguments for `*transaction_method_arguments` get their values from various method calls that are not in scope when `shared_examples` is called.  Since RSpec plays around with the binding when it evals those blocks, it's hard for me to tell how to bring methods like `cc_token` and `create_id` into the right scope.  

Doing a `let(:transaction_method_argumenbts) { .. }` before the `shared_examples` also doesn't work - the method created by the `let` is also not in scope.

Hoisting the needed methods into global scope seems bad, and seems like a larger change than this one, despite that it's a bit confusing as to where those values are coming from.

Any ideas?