Class: MerbMerchant::Billing::PaymentExpressGateway
- Defined in:
- lib/merb_merchant/billing/gateways/payment_express.rb
Overview
In NZ DPS supports ANZ, Westpac, National Bank, ASB and BNZ. In Australia DPS supports ANZ, NAB, Westpac, CBA, St George and Bank of South Australia. The Maybank in Malaysia is supported and the Citibank for Singapore.
Constant Summary collapse
- URL =
'https://www.paymentexpress.com/pxpost.aspx'
- APPROVED =
'1'
- TRANSACTIONS =
{ :purchase => 'Purchase', :credit => 'Refund', :authorization => 'Auth', :capture => 'Complete', :validate => 'Validate' }
Constants inherited from Gateway
Constants included from PostsData
PostsData::MAX_RETRIES, PostsData::OPEN_TIMEOUT, PostsData::READ_TIMEOUT
Instance Attribute Summary
Attributes inherited from Gateway
Instance Method Summary collapse
-
#authorize(money, credit_card, options = {}) ⇒ Object
NOTE: Perhaps in options we allow a transaction note to be inserted Verifies that funds are available for the requested card and amount and reserves the specified amount.
-
#capture(money, identification, options = {}) ⇒ Object
Transfer pre-authorized funds immediately See: www.paymentexpress.com/technical_resources/ecommerce_nonhosted/pxpost.html#Authcomplete.
-
#credit(money, identification, options = {}) ⇒ Object
Refund funds to the card holder.
-
#initialize(options = {}) ⇒ PaymentExpressGateway
constructor
We require the DPS gateway username and password when the object is created.
-
#purchase(money, payment_source, options = {}) ⇒ Object
Funds are transferred immediately.
-
#store(credit_card, options = {}) ⇒ Object
initiates a “Validate” transcation to store card data on payment express servers returns a “token” that can be used to rebill this card see: www.paymentexpress.com/technical_resources/ecommerce_nonhosted/pxpost.html#Tokenbilling PaymentExpress does not support unstoring a stored card.
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 = {}) ⇒ PaymentExpressGateway
We require the DPS gateway username and password when the object is created.
37 38 39 40 41 42 43 |
# File 'lib/merb_merchant/billing/gateways/payment_express.rb', line 37 def initialize( = {}) # A DPS username and password must exist requires!(, :login, :password) # Make the options an instance variable @options = super end |
Instance Method Details
#authorize(money, credit_card, options = {}) ⇒ Object
NOTE: Perhaps in options we allow a transaction note to be inserted Verifies that funds are available for the requested card and amount and reserves the specified amount. See: www.paymentexpress.com/technical_resources/ecommerce_nonhosted/pxpost.html#Authcomplete
63 64 65 66 67 68 |
# File 'lib/merb_merchant/billing/gateways/payment_express.rb', line 63 def (money, credit_card, = {}) [:credit_card] = credit_card request = (money, ) commit(:authorization, request) end |
#capture(money, identification, options = {}) ⇒ Object
Transfer pre-authorized funds immediately See: www.paymentexpress.com/technical_resources/ecommerce_nonhosted/pxpost.html#Authcomplete
72 73 74 75 |
# File 'lib/merb_merchant/billing/gateways/payment_express.rb', line 72 def capture(money, identification, = {}) request = build_capture_or_credit_request(money, identification, ) commit(:capture, request) end |
#credit(money, identification, options = {}) ⇒ Object
Refund funds to the card holder
78 79 80 81 82 83 |
# File 'lib/merb_merchant/billing/gateways/payment_express.rb', line 78 def credit(money, identification, = {}) requires!(, :description) request = build_capture_or_credit_request(money, identification, ) commit(:credit, request) end |
#purchase(money, payment_source, options = {}) ⇒ Object
Funds are transferred immediately.
46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/merb_merchant/billing/gateways/payment_express.rb', line 46 def purchase(money, payment_source, = {}) credit_card = payment_source if payment_source.respond_to?(:number) if credit_card [:credit_card] = credit_card else [:token] = payment_source end request = (money, ) commit(:purchase, request) end |
#store(credit_card, options = {}) ⇒ Object
initiates a “Validate” transcation to store card data on payment express servers returns a “token” that can be used to rebill this card see: www.paymentexpress.com/technical_resources/ecommerce_nonhosted/pxpost.html#Tokenbilling PaymentExpress does not support unstoring a stored card.
91 92 93 94 |
# File 'lib/merb_merchant/billing/gateways/payment_express.rb', line 91 def store(credit_card, = {}) request = build_token_request(credit_card, ) commit(:validate, request) end |