# File lib/active_merchant/billing/gateways/eway.rb, line 145 def purchase(money, creditcard, options = {}) requires!(options, :order_id) post = {} add_creditcard(post, creditcard) add_address(post, options) add_customer_data(post, options) add_invoice_data(post, options) # The request fails if all of the fields aren't present add_optional_data(post) commit(money, post) end