Class: ActiveMerchant::Billing::MerchantWareVersionFourGateway
- Defined in:
- lib/active_merchant/billing/gateways/merchant_ware_version_four.rb
Constant Summary collapse
- ENV_NAMESPACES =
{ "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema", "xmlns:soap" => "http://schemas.xmlsoap.org/soap/envelope/" }
- TX_NAMESPACE =
"http://schemas.merchantwarehouse.com/merchantware/40/Credit/"
- ACTIONS =
{ :purchase => "SaleKeyed", :reference_purchase => 'RepeatSale', :authorize => "PreAuthorizationKeyed", :capture => "PostAuthorization", :void => "VoidPreAuthorization", :refund => "Refund" }
Constants inherited from Gateway
Gateway::CREDIT_DEPRECATION_MESSAGE, Gateway::CURRENCIES_WITHOUT_FRACTIONS, Gateway::DEBIT_CARDS
Instance Attribute Summary
Attributes inherited from Gateway
Instance Method Summary collapse
-
#authorize(money, credit_card, options = {}) ⇒ Object
Authorize a credit card for a given amount.
-
#capture(money, authorization, options = {}) ⇒ Object
Capture authorized funds from a credit card.
-
#initialize(options = {}) ⇒ MerchantWareVersionFourGateway
constructor
Creates a new MerchantWareVersionFourGateway.
-
#purchase(money, payment_source, options = {}) ⇒ Object
Authorize and immediately capture funds from a credit card.
-
#refund(money, identification, options = {}) ⇒ Object
Refund an amount back a cardholder.
-
#void(authorization, options = {}) ⇒ Object
Void a transaction.
Methods inherited from Gateway
#card_brand, card_brand, inherited, supports?, #test?
Methods included from CreditCardFormatting
Constructor Details
#initialize(options = {}) ⇒ MerchantWareVersionFourGateway
Creates a new MerchantWareVersionFourGateway
The gateway requires that a valid login, password, and name be passed in the options
hash.
Options
-
:login
- The MerchantWARE SiteID. -
:password
- The MerchantWARE Key. -
:name
- The MerchantWARE Name.
37 38 39 40 |
# File 'lib/active_merchant/billing/gateways/merchant_ware_version_four.rb', line 37 def initialize( = {}) requires!(, :login, :password, :name) super end |
Instance Method Details
#authorize(money, credit_card, options = {}) ⇒ Object
Authorize a credit card for a given amount.
Parameters
-
money
- The amount to be authorized as an Integer value in cents. -
credit_card
- The CreditCard details for the transaction. -
options
-
:order_id
- A unique reference for this order (required). -
:billing_address
- The billing address for the cardholder.
-
50 51 52 53 |
# File 'lib/active_merchant/billing/gateways/merchant_ware_version_four.rb', line 50 def (money, credit_card, = {}) request = build_purchase_request(:authorize, money, credit_card, ) commit(:authorize, request) end |
#capture(money, authorization, options = {}) ⇒ Object
Capture authorized funds from a credit card.
Parameters
-
money
- The amount to be captured as anInteger value in cents. -
authorization
- The authorization string returned from the initial authorization.
74 75 76 77 |
# File 'lib/active_merchant/billing/gateways/merchant_ware_version_four.rb', line 74 def capture(money, , = {}) request = build_capture_request(:capture, money, , ) commit(:capture, request) end |
#purchase(money, payment_source, options = {}) ⇒ Object
Authorize and immediately capture funds from a credit card.
Parameters
-
money
- The amount to be authorized as anInteger value in cents. -
payment_source
- The CreditCard details or ‘token’ from prior transaction -
options
-
:order_id
- A unique reference for this order (required). -
:billing_address
- The billing address for the cardholder.
-
63 64 65 66 67 |
# File 'lib/active_merchant/billing/gateways/merchant_ware_version_four.rb', line 63 def purchase(money, payment_source, = {}) action = payment_source.is_a?(String) ? :reference_purchase : :purchase request = build_purchase_request(action, money, payment_source, ) commit(action, request) end |
#refund(money, identification, options = {}) ⇒ Object
Refund an amount back a cardholder
Parameters
-
money
- The amount to be refunded as an Integer value in cents. -
identification
- The credit card you want to refund or the authorization for the existing transaction you are refunding. -
options
-
:order_id
- A unique reference for this order (required when performing a non-referenced credit)
-
99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/active_merchant/billing/gateways/merchant_ware_version_four.rb', line 99 def refund(money, identification, = {}) reference, [:order_id] = split_reference(identification) request = soap_request(:refund) do |xml| add_reference_token(xml, reference) add_invoice(xml, ) add_amount(xml, money, "overrideAmount") end commit(:refund, request) end |
#void(authorization, options = {}) ⇒ Object
Void a transaction.
Parameters
-
authorization
- The authorization string returned from the initial authorization or purchase.
83 84 85 86 87 88 89 |
# File 'lib/active_merchant/billing/gateways/merchant_ware_version_four.rb', line 83 def void(, = {}) reference, [:order_id] = split_reference() request = soap_request(:void) do |xml| add_reference_token(xml, reference) end commit(:void, request) end |