Class: ActiveMerchant::Billing::FirstPayGateway
- Defined in:
- lib/active_merchant/billing/gateways/first_pay.rb
Defined Under Namespace
Classes: FirstPayPostData
Constant Summary collapse
- TEST_URL =
both URLs are IP restricted
'https://apgcert.first-pay.com/AcqENGIN/SecureCapture'
- LIVE_URL =
'https://acqengin.first-pay.com/AcqENGIN/SecureCapture'
- ACTIONS =
{ 'sale' => 1, 'credit' => 2, 'void' => 3 }
Constants inherited from Gateway
Gateway::CURRENCIES_WITHOUT_FRACTIONS, Gateway::DEBIT_CARDS
Instance Attribute Summary
Attributes inherited from Gateway
Instance Method Summary collapse
- #credit(money, reference, options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ FirstPayGateway
constructor
A new instance of FirstPayGateway.
- #purchase(money, creditcard, options = {}) ⇒ Object
- #void(money, creditcard, options = {}) ⇒ Object
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 = {}) ⇒ FirstPayGateway
Returns a new instance of FirstPayGateway.
34 35 36 37 38 |
# File 'lib/active_merchant/billing/gateways/first_pay.rb', line 34 def initialize( = {}) requires!(, :login, :password) @options = super end |
Instance Method Details
#credit(money, reference, options = {}) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/active_merchant/billing/gateways/first_pay.rb', line 50 def credit(money, reference, = {}) raise ArgumentError, "Both TransactionID and CreditCard are required" unless reference.is_a?(String) && [:credit_card] post = FirstPayPostData.new add_invoice(post, ) add_creditcard(post, [:credit_card]) add_address(post, ) add_customer_data(post, ) add_credit_data(post, reference) commit('credit', money, post) end |
#purchase(money, creditcard, options = {}) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/active_merchant/billing/gateways/first_pay.rb', line 40 def purchase(money, creditcard, = {}) post = FirstPayPostData.new add_invoice(post, ) add_creditcard(post, creditcard) add_address(post, ) add_customer_data(post, ) commit('sale', money, post) end |
#void(money, creditcard, options = {}) ⇒ Object
63 64 65 66 67 68 69 70 71 |
# File 'lib/active_merchant/billing/gateways/first_pay.rb', line 63 def void(money, creditcard, = {}) post = FirstPayPostData.new add_creditcard(post, creditcard) add_void_data(post, ) add_invoice(post, ) add_customer_data(post, ) commit('void', money, post) end |