Class: ActiveMerchant::Billing::MerchantWareGateway
- Defined in:
- lib/active_merchant/billing/gateways/merchant_ware.rb
Constant Summary collapse
- URL =
'https://ps1.merchantware.net/MerchantWARE/ws/RetailTransaction/TXRetail.asmx'
- ENV_NAMESPACES =
{ "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema", "xmlns:env" => "http://schemas.xmlsoap.org/soap/envelope/" }
- TX_NAMESPACE =
"http://merchantwarehouse.com/MerchantWARE/Client/TransactionRetail"
- ACTIONS =
{ :purchase => "IssueKeyedSale", :authorize => "IssueKeyedPreAuth", :capture => "IssuePostAuth", :void => "IssueVoid", :credit => "IssueKeyedRefund", :reference_credit => "IssueRefundByReference" }
Constants inherited from Gateway
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.
-
#credit(money, identification, options = {}) ⇒ Object
Refund an amount back a cardholder.
-
#initialize(options = {}) ⇒ MerchantWareGateway
constructor
Creates a new MerchantWareGateway.
-
#purchase(money, credit_card, options = {}) ⇒ Object
Authorize and immediately capture funds from a credit card.
-
#void(authorization, options = {}) ⇒ Object
Void a transaction.
Methods inherited from Gateway
#card_brand, card_brand, inherited, supports?, #test?
Methods included from Utils
Methods included from CreditCardFormatting
Methods included from RequiresParameters
Methods included from PostsData
Constructor Details
#initialize(options = {}) ⇒ MerchantWareGateway
Creates a new MerchantWareGateway
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.
36 37 38 39 40 |
# File 'lib/active_merchant/billing/gateways/merchant_ware.rb', line 36 def initialize( = {}) requires!(, :login, :password, :name) @options = 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. Either an Integer value in cents or a Money object. -
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.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. Either an Integer value in cents or a Money object. -
authorization
- The authorization string returned from the initial authorization.
73 74 75 76 |
# File 'lib/active_merchant/billing/gateways/merchant_ware.rb', line 73 def capture(money, , = {}) request = build_capture_request(:capture, money, , ) commit(:capture, request) end |
#credit(money, identification, options = {}) ⇒ Object
Refund an amount back a cardholder
Parameters
-
money
- The amount to be refunded. Either an Integer value in cents or a Money object. -
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 |
# File 'lib/active_merchant/billing/gateways/merchant_ware.rb', line 99 def credit(money, identification, = {}) if identification.is_a?(String) perform_reference_credit(money, identification, ) else perform_credit(money, identification, ) end end |
#purchase(money, credit_card, options = {}) ⇒ Object
Authorize and immediately capture funds from a credit card.
Parameters
-
money
- The amount to be authorized. Either an Integer value in cents or a Money object. -
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.
-
63 64 65 66 |
# File 'lib/active_merchant/billing/gateways/merchant_ware.rb', line 63 def purchase(money, credit_card, = {}) request = build_purchase_request(:purchase, money, credit_card, ) commit(:purchase, request) end |
#void(authorization, options = {}) ⇒ Object
Void a transaction.
Parameters
-
authorization
- The authorization string returned from the initial authorization or purchase.
82 83 84 85 86 87 88 89 |
# File 'lib/active_merchant/billing/gateways/merchant_ware.rb', line 82 def void(, = {}) reference, [:order_id] = split_reference() request = soap_request(:void) do |xml| add_reference(xml, reference) end commit(:void, request) end |