Class: ActiveMerchant::Billing::SmartPs
- Inherits:
-
Gateway
- Object
- Gateway
- ActiveMerchant::Billing::SmartPs
- Defined in:
- lib/active_merchant/billing/gateways/smart_ps.rb
Overview
:nodoc:
Direct Known Subclasses
Constant Summary
Constant Summary
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)
-
- (Object) amend(auth, options = {})
Amend an existing transaction.
-
- (Object) authorize(money, creditcard, options = {})
Pass :store => true in the options to store the payment info at the gateway and get a generated customer_vault_id in the response.
- - (Object) capture(money, authorization, options = {})
- - (Object) credit(money, payment_source, options = {})
- - (Object) delete(vault_id) (also: #unstore)
-
- (SmartPs) initialize(options = {})
constructor
This is the base gateway for processors who use the smartPS processing system.
- - (Object) purchase(money, payment_source, options = {})
- - (Object) refund(money, auth, options = {})
-
- (Object) store(payment_source, options = {})
To match the other stored-value gateways, like TrustCommerce, store and unstore need to be defined.
-
- (Object) update(vault_id, creditcard, options = {})
Update the values (such as CC expiration) stored at the gateway.
- - (Object) void(authorization, options = {})
Methods inherited from Gateway
card_brand, #card_brand, inherited, supports?, #test?
Methods included from CreditCardFormatting
Constructor Details
- (SmartPs) initialize(options = {})
This is the base gateway for processors who use the smartPS processing system
10 11 12 13 14 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 10 def initialize( = {}) requires!(, :login, :password) @options = super end |
Instance Method Details
- (Object) amend(auth, options = {})
Amend an existing transaction
94 95 96 97 98 99 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 94 def amend(auth, = {}) post = {} add_invoice(post, ) add_transaction(post, auth) commit('update', nil, post) end |
- (Object) authorize(money, creditcard, options = {})
Pass :store => true in the options to store the payment info at the gateway and get a generated customer_vault_id in the response. Pass :store => some_number_or_string to specify the customer_vault_id the gateway should use (make sure it's unique).
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 22 def (money, creditcard, = {}) post = {} add_invoice(post, ) add_payment_source(post, creditcard,) add_address(post, [:billing_address] || [:address]) add_address(post, [:shipping_address], "shipping") add_customer_data(post, ) add_currency(post, money, ) add_taxes(post, ) add_processor(post, ) commit('auth', money, post) end |
- (Object) capture(money, authorization, options = {})
48 49 50 51 52 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 48 def capture(money, , = {}) post ={} post[:transactionid] = commit('capture', money, post) end |
- (Object) credit(money, payment_source, options = {})
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 60 def credit(money, payment_source, = {}) post = {} add_invoice(post, ) add_payment_source(post, payment_source, ) add_address(post, [:billing_address] || [:address]) add_customer_data(post, ) add_sku(post,) add_currency(post, money, ) add_processor(post, ) commit('credit', money, post) end |
- (Object) delete(vault_id) Also known as: unstore
102 103 104 105 106 107 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 102 def delete(vault_id) post = {} post[:customer_vault] = "delete_customer" add_customer_vault_id(post, vault_id) commit(nil, nil, post) end |
- (Object) purchase(money, payment_source, options = {})
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 35 def purchase(money, payment_source, = {}) post = {} add_invoice(post, ) add_payment_source(post, payment_source, ) add_address(post, [:billing_address] || [:address]) add_address(post, [:shipping_address], "shipping") add_customer_data(post, ) add_currency(post, money, ) add_taxes(post, ) add_processor(post, ) commit('sale', money, post) end |
- (Object) refund(money, auth, options = {})
72 73 74 75 76 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 72 def refund(money, auth, = {}) post = {} add_transaction(post, auth) commit('refund', money, post) end |
- (Object) store(payment_source, options = {})
To match the other stored-value gateways, like TrustCommerce, store and unstore need to be defined
111 112 113 114 115 116 117 118 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 111 def store(payment_source, = {}) post = {} billing_id = .delete(:billing_id).to_s || true add_payment_source(post, payment_source, :store => billing_id) add_address(post, [:billing_address] || [:address]) add_customer_data(post, ) commit(nil, nil, post) end |
- (Object) update(vault_id, creditcard, options = {})
Update the values (such as CC expiration) stored at the gateway. The CC number must be supplied in the CreditCard object.
82 83 84 85 86 87 88 89 90 91 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 82 def update(vault_id, creditcard, = {}) post = {} post[:customer_vault] = "update_customer" add_customer_vault_id(post, vault_id) add_creditcard(post, creditcard, ) add_address(post, [:billing_address] || [:address]) add_customer_data(post, ) commit(nil, nil, post) end |
- (Object) void(authorization, options = {})
54 55 56 57 58 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 54 def void(, = {}) post ={} post[:transactionid] = commit('void', nil, post) end |