Class: ActiveMerchant::Billing::SmartPs
- Defined in:
- lib/active_merchant/billing/gateways/smart_ps.rb
Overview
:nodoc:
Direct Known Subclasses
Constant Summary
Constants inherited from Gateway
Gateway::CURRENCIES_WITHOUT_FRACTIONS, Gateway::DEBIT_CARDS
Instance Attribute Summary
Attributes inherited from Gateway
Instance Method Summary collapse
-
#amend(auth, options = {}) ⇒ Object
Amend an existing transaction.
-
#authorize(money, creditcard, options = {}) ⇒ Object
Pass :store => true in the options to store the payment info at the gateway and get a generated customer_vault_id in the response.
- #capture(money, authorization, options = {}) ⇒ Object
- #credit(money, payment_source, options = {}) ⇒ Object
- #delete(vault_id) ⇒ Object (also: #unstore)
-
#initialize(options = {}) ⇒ SmartPs
constructor
This is the base gateway for processors who use the smartPS processing system.
- #purchase(money, payment_source, options = {}) ⇒ Object
- #refund(auth, options = {}) ⇒ Object
-
#store(payment_source, options = {}) ⇒ Object
To match the other stored-value gateways, like TrustCommerce, store and unstore need to be defined.
-
#update(vault_id, creditcard, options = {}) ⇒ Object
Update the values (such as CC expiration) stored at the gateway.
- #void(authorization, 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 = {}) ⇒ SmartPs
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
#amend(auth, options = {}) ⇒ Object
Amend an existing transaction
92 93 94 95 96 97 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 92 def amend(auth, = {}) post = {} add_invoice(post, ) add_transaction(post, auth) commit('update', nil, post) end |
#authorize(money, creditcard, options = {}) ⇒ Object
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 |
# 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_processor(post, ) commit('auth', money, post) end |
#capture(money, authorization, options = {}) ⇒ Object
46 47 48 49 50 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 46 def capture(money, , = {}) post ={} post[:transactionid] = commit('capture', money, post) end |
#credit(money, payment_source, options = {}) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 58 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 |
#delete(vault_id) ⇒ Object Also known as: unstore
100 101 102 103 104 105 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 100 def delete(vault_id) post = {} post[:customer_vault] = "delete_customer" add_customer_vault_id(post, vault_id) commit(nil, nil, post) end |
#purchase(money, payment_source, options = {}) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 34 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_processor(post, ) commit('sale', money, post) end |
#refund(auth, options = {}) ⇒ Object
70 71 72 73 74 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 70 def refund(auth, = {}) post = {} add_transaction(post, auth) commit('refund', .delete(:amount), post) end |
#store(payment_source, options = {}) ⇒ Object
To match the other stored-value gateways, like TrustCommerce, store and unstore need to be defined
109 110 111 112 113 114 115 116 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 109 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 |
#update(vault_id, creditcard, options = {}) ⇒ Object
Update the values (such as CC expiration) stored at the gateway. The CC number must be supplied in the CreditCard object.
80 81 82 83 84 85 86 87 88 89 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 80 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 |
#void(authorization, options = {}) ⇒ Object
52 53 54 55 56 |
# File 'lib/active_merchant/billing/gateways/smart_ps.rb', line 52 def void(, = {}) post ={} post[:transactionid] = commit('void', nil, post) end |