Class: ActiveMerchant::Billing::UsaEpayAdvancedGateway
- Inherits:
-
Gateway
- Object
- Gateway
- ActiveMerchant::Billing::UsaEpayAdvancedGateway
- Defined in:
- lib/active_merchant/billing/gateways/usa_epay_advanced.rb
Overview
USA ePay Advanced SOAP Interface
This class encapuslates USA ePay's Advanced SOAP Interface. The Advanced Soap Interface allows standard transactions, storing customer information, and recurring billing. Storing sensitive information on USA ePay's servers can help with PCI DSS compliance, since customer and card data do not need to be stored locally.
Make sure you have enabled this functionality for your account with USA ePay.
Information about the Advanced SOAP interface is available on the USA ePay wiki.
Login, Password, and Software ID
Please follow all of USA ePay's directions for acquiring all accounts and settings.
The value used for :login is the Key value found in the Merchant Console under Settings > Source Key. You will have to add this key in the USA ePay Merchant Console.
The value used for :password is the pin value also found and assigned in the Merchant Console under Settings > Source Key. The pin is required to use all but basic transactions in the SOAP interface. You will have to add the pin to your source key, as it defaults to none.
The value used for the :software_id is found in the Developer's Login under the Developers Center in your WSDL. It is the 8 character value in <soap:address> tag. A masked example: <soap:address location="www.usaepay.com/soap/gate/XXXXXXXX"/> It is also found in the link to your WSDL. This is required as every account has a different path SOAP requests are submitted to. Optionally, you can provide the entire urls via :live_url and :test_url, if your prefer.
Responses
-
#success? ??? true if transmitted and returned correctly
-
#message ??? response or fault message
-
#authorization ??? reference_number or nil
-
#params ??? hash of entire soap response contents
Address Options
-
:billing_address/:shipping_address ??? contains some extra options
-
:name ??? virtual attribute; will split to first and last name
-
:first_name
-
:last_name
-
:address1
-
:address2
-
:city
-
:state
-
:zip
-
:country
-
:phone
-
:email
-
:fax
-
:company
-
Support:
-
Questions: post to active_merchant google group
-
Feedback/fixes: matt (at) nearapogee (dot) com
Links:
Constant Summary
- API_VERSION =
"1.4"- TEST_URL_BASE =
:nodoc:
'https://sandbox.usaepay.com/soap/gate/'- LIVE_URL_BASE =
:nodoc:
'https://www.usaepay.com/soap/gate/'- FAILURE_MESSAGE =
:nodoc:
"Default Failure"- CUSTOMER_OPTIONS =
{ :id => [:string, 'CustomerID'], # merchant assigned number :notes => [:string, 'Notes'], :data => [:string, 'CustomData'], :url => [:string, 'URL'], # Recurring Billing :enabled => [:boolean, 'Enabled'], :schedule => [:string, 'Schedule'], :number_left => [:integer, 'NumLeft'], :currency => [:string, 'Currency'], :description => [:string, 'Description'], :order_id => [:string, 'OrderID'], :user => [:string, 'User'], :source => [:string, 'Source'], :send_receipt => [:boolean, 'SendReceipt'], :receipt_note => [:string, 'ReceiptNote'], # Point of Sale :price_tier => [:string, 'PriceTier'], :tax_class => [:string, 'TaxClass'], :lookup_code => [:string, 'LookupCode'] }
- ADDRESS_OPTIONS =
:nodoc:
{ :first_name => [:string, 'FirstName'], :last_name => [:string, 'LastName'], :address1 => [:string, 'Street'], :address2 => [:string, 'Street2'], :city => [:string, 'City'], :state => [:string, 'State'], :zip => [:string, 'Zip'], :country => [:string, 'Country'], :phone => [:string, 'Phone'], :email => [:string, 'Email'], :fax => [:string, 'Fax'], :company => [:string, 'Company'] }
- CUSTOMER_TRANSACTION_REQUEST_OPTIONS =
:nodoc:
{ :command => [:string, 'Command'], :ignore_duplicate => [:boolean, 'IgnoreDuplicate'], :client_ip => [:string, 'ClientIP'], :customer_receipt => [:boolean, 'CustReceipt'], :customer_email => [:boolean, 'CustReceiptEmail'], :customer_template => [:boolean, 'CustReceiptName'], :merchant_receipt => [:boolean, 'MerchReceipt'], :merchant_email => [:boolean, 'MerchReceiptEmail'], :merchant_template => [:boolean, 'MerchReceiptName'], :verification_value => [:boolean, 'isRecurring'], :software => [:string, 'Software'] }
- TRANSACTION_REQUEST_OBJECT_OPTIONS =
:nodoc:
{ :command => [:string, 'Command'], :ignore_duplicate => [:boolean, 'IgnoreDuplicate'], :authorization_code => [:string, 'AuthCode'], :reference_number => [:string, 'RefNum'], :account_holder => [:string, 'AccountHolder'], :client_ip => [:string, 'ClientIP'], :customer_id => [:string, 'CustomerID'], :customer_receipt => [:boolean, 'CustReceipt'], :customer_template => [:boolean, 'CustReceiptName'], :software => [:string, 'Software'] }
- TRANSACTION_DETAIL_OPTIONS =
:nodoc:
{ :invoice => [:string, 'Invoice'], :po_number => [:string, 'PONum'], :order_id => [:string, 'OrderID'], :clerk => [:string, 'Clerk'], :terminal => [:string, 'Terminal'], :table => [:string, 'Table'], :description => [:string, 'Description'], :comments => [:string, 'Comments'], :allow_partial_auth => [:boolean, 'AllowPartialAuth'], :currency => [:string, 'Currency'], :non_tax => [:boolean, 'NonTax'], }
- TRANSACTION_DETAIL_MONEY_OPTIONS =
:nodoc:
{ :amount => [:double, 'Amount'], :tax => [:double, 'Tax'], :tip => [:double, 'Tip'], :non_tax => [:boolean, 'NonTax'], :shipping => [:double, 'Shipping'], :discount => [:double, 'Discount'], :subtotal => [:double, 'Subtotal'] }
- CREDIT_CARD_DATA_OPTIONS =
:nodoc:
{ :magnetic_stripe => [:string, 'MagStripe'], :dukpt => [:string, 'DUKPT'], :signature => [:string, 'Signature'], :terminal_type => [:string, 'TermType'], :magnetic_support => [:string, 'MagSupport'], :xid => [:string, 'XID'], :cavv => [:string, 'CAVV'], :eci => [:integer, 'ECI'], :internal_card_authorization => [:boolean, 'InternalCardAduth'], :pares => [:string, 'Pares'] }
- CHECK_DATA_OPTIONS =
:nodoc:
{ :check_number => [:integer, 'CheckNumber'], :drivers_license => [:string, 'DriversLicense'], :drivers_license_state => [:string, 'DriversLicenseState'], :record_type => [:string, 'RecordType'], :aux_on_us => [:string, 'AuxOnUS'], :epc_code => [:string, 'EpcCode'], :front_image => [:string, 'FrontImage'], :back_image => [:string, 'BackImage'] }
- RECURRING_BILLING_OPTIONS =
:nodoc:
{ :schedule => [:string, 'Schedule'], :number_left => [:integer, 'NumLeft'], :enabled => [:boolean, 'Enabled'] }
- AVS_RESULTS =
:nodoc:
{ 'Y' => %w( YYY Y YYA YYD ), 'Z' => %w( NYZ Z ), 'A' => %w( YNA A YNY ), 'N' => %w( NNN N NN ), 'X' => %w( YYX X ), 'W' => %w( NYW W ), 'XXW' => %w( XXW ), 'XXU' => %w( XXU ), 'R' => %w( XXR R U E ), 'S' => %w( XXS S ), 'XXE' => %w( XXE ), 'G' => %w( XXG G C I ), 'B' => %w( YYG B M ), 'D' => %w( GGG D ), 'P' => %w( YGG P ) }.inject({}) do |map, (type, codes)| codes.each { |code| map[code] = type } map end
- AVS_CUSTOM_MESSAGES =
:nodoc:
{ 'XXW' => 'Card number not on file.', 'XXU' => 'Address information not verified for domestic transaction.', 'XXE' => 'Address verification not allowed for card type.' }
- TRANSACTION_METHODS =
[ :run_sale, :run_auth_only, :run_credit, :run_check_sale, :run_check_credit ]
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) add_customer(options = {})
Add a customer.
-
- (Object) add_customer_payment_method(options = {})
Add a payment method to a customer.
-
- (Object) authorize(money, creditcard, options = {})
Authorize an amount on a credit card or account.
-
- (Object) capture(money, identification, options = {})
Capture an authorized transaction.
-
- (Object) capture_transaction(options = {})
Capture an authorized transaction and move it into the current batch for settlement.
-
- (Object) credit(money, identification, options = {})
Credit a previous transaction.
-
- (Object) delete_customer(options = {})
Delete a customer.
-
- (Object) delete_customer_payment_method(options = {})
Delete one the payment methods beloning to a customer.
-
- (Object) disable_customer(options = {})
Disable a customer for recurring billing.
-
- (Object) enable_customer(options = {})
Enable a customer for recurring billing.
-
- (Object) get_account_details
Retrieve merchant account details.
-
- (Object) get_check_trace(options = {})
Check status of a check transaction.
-
- (Object) get_customer_payment_method(options = {})
Retrive one of the payment methods belonging to a customer.
-
- (Object) get_customer_payment_methods(options = {})
Retrive all of the payment methods belonging to a customer.
-
- (Object) get_transaction(options = {})
Retrieve details of a specified transaction.
-
- (Object) get_transaction_custom(options = {})
Check status of a transaction (custom).
-
- (Object) get_transaction_status(options = {})
Check status of a transaction.
-
- (UsaEpayAdvancedGateway) initialize(options = {})
constructor
Create a new gateway.
-
- (Object) override_transaction(options = {})
Override transaction flagged for mananager approval.
-
- (Object) post_auth(options = {})
Post an authorization code obtained offline.
-
- (Object) purchase(money, creditcard, options = {})
Make a purchase with a credit card.
-
- (Object) refund_transaction(options = {})
Refund transaction.
-
- (Object) run_customer_transaction(options = {})
Run a transaction for an existing customer in the database.
-
- (Object) run_quick_credit(options = {})
Run a credit based off of a past transaction.
-
- (Object) run_quick_sale(options = {})
Run a sale transaction based off of a past transaction.
-
- (Object) run_transaction(options = {})
Run a transaction.
-
- (Object) update_customer(options = {})
Update a customer by replacing all of the customer details..
-
- (Object) update_customer_payment_method(options = {})
Update a customer payment method.
-
- (Object) void(identification, options = {})
Void a previous transaction that has not been settled.
-
- (Object) void_transaction(options = {})
Void a transaction.
Methods inherited from Gateway
card_brand, #card_brand, inherited, supports?, #test?
Methods included from CreditCardFormatting
Constructor Details
- (UsaEpayAdvancedGateway) initialize(options = {})
Create a new gateway.
Required
-
At least the live_url OR the software_id must be present.
-
:software_id ??? 8 character software id
OR
-
:test_url ??? full url for testing
-
:live_url ??? full url for live/production
-
Optional
-
:soap_response ??? set to true to add :soap_response to the params hash containing the entire soap xml message
236 237 238 239 240 241 242 243 244 245 246 247 248 249 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 236 def initialize( = {}) requires! , :login, :password @options = if @options[:software_id] self.live_url = "#{LIVE_URL_BASE}#{@options[:software_id].to_s}" self.test_url = "#{TEST_URL_BASE}#{@options[:software_id].to_s}" else self.live_url = @options[:live_url].to_s self.test_url = @options[:test_url].to_s if @options[:test_url] end super end |
Instance Method Details
- (Object) add_customer(options = {})
Add a customer.
Options
-
:id ??? merchant assigned id
-
:notes ??? notes about customer
-
:data ??? base64 data about customer
-
:url ??? customer website
-
:billing_address ??? usual options
-
:payment_methods ??? array of payment method hashes.
-
:method ??? credit_card or check
-
:name ??? optional name/label for the method
-
:sort ??? optional integer value specifying the backup sort order, 0 is default
-
Recurring Options
-
:enabled ??? true enables recurring
-
:schedule ??? daily, weekly, bi-weekly (every two weeks), monthly, bi-monthly (every two months), quarterly, bi-annually (every six months), annually, first of month, last day of month
-
:number_left ??? number of payments left; -1 for unlimited
-
:next ??? date of next payment (Date/Time)
-
:amount ??? amount of recurring payment
-
:tax ??? tax portion of amount
-
:currency ??? numeric currency code
-
:description ??? description of transaction
-
:order_id ??? transaction order id
-
:user ??? merchant username assigned to transaction
-
:source ??? name of source key assigned to billing
-
:send_receipt ??? true to send client a receipt
-
:receipt_note ??? leave a note on the receipt
Point of Sale Options
-
:price_tier ??? name of customer price tier
-
:tax_class ??? tax class
-
:lookup_code ??? lookup code from customer/member id card; barcode or magnetic stripe; can be assigned by merchant; defaults to system assigned if blank
Response
-
#message ??? customer number assigned by gateway
332 333 334 335 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 332 def add_customer(={}) request = build_request(__method__, ) commit(__method__, request) end |
- (Object) add_customer_payment_method(options = {})
Add a payment method to a customer.
Required
-
:customer_number ??? number returned by add_customer response.message
-
:payment_method
-
:method ??? credit_card or check
-
:name ??? optional name/label for the method
-
:sort ??? an integer value specifying the backup sort order, 0 is default
-
Optional
-
:make_default ??? set true to make default
-
:verify ??? set true to run auth_only verification; throws fault if cannot verify
Response
-
#message ??? method_id of new customer payment method
393 394 395 396 397 398 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 393 def add_customer_payment_method(={}) requires! , :customer_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) authorize(money, creditcard, options = {})
Authorize an amount on a credit card or account.
Note: See run_transaction for additional options.
266 267 268 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 266 def (money, creditcard, ={}) run_auth_only(.merge!(:amount => money, :payment_method => creditcard)) end |
- (Object) capture(money, identification, options = {})
Capture an authorized transaction.
Note: See run_transaction for additional options.
274 275 276 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 274 def capture(money, identification, ={}) capture_transaction(.merge!(:amount => money, :reference_number => identification)) end |
- (Object) capture_transaction(options = {})
Capture an authorized transaction and move it into the current batch for settlement.
Note: Check with merchant bank for details/restrictions on differing amounts than the original authorization.
Required
-
:reference_number
Options
-
:amount ??? may be different than original amount; 0 will void authorization
Response
-
#message ??? transaction response hash
635 636 637 638 639 640 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 635 def capture_transaction(={}) requires! , :reference_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) credit(money, identification, options = {})
Credit a previous transaction.
Note: See run_transaction for additional options.
290 291 292 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 290 def credit(money, identification, ={}) refund_transaction(.merge!(:amount => money, :reference_number => identification)) end |
- (Object) delete_customer(options = {})
Delete a customer.
Required
-
:customer_number
470 471 472 473 474 475 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 470 def delete_customer(={}) requires! , :customer_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) delete_customer_payment_method(options = {})
Delete one the payment methods beloning to a customer
Required
-
:customer_number
-
:method_id
458 459 460 461 462 463 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 458 def delete_customer_payment_method(={}) requires! , :customer_number, :method_id request = build_request(__method__, ) commit(__method__, request) end |
- (Object) disable_customer(options = {})
Disable a customer for recurring billing.
Required
-
:customer_number
370 371 372 373 374 375 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 370 def disable_customer(={}) requires! , :customer_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) enable_customer(options = {})
Enable a customer for recurring billing.
Note: Customer does not need to have all recurring paramerters to succeed.
Required
-
:customer_number
358 359 360 361 362 363 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 358 def enable_customer(={}) requires! , :customer_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) get_account_details
Retrieve merchant account details
Response
-
#message ??? account hash
933 934 935 936 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 933 def get_account_details request = build_request(__method__) commit(__method__, request) end |
- (Object) get_check_trace(options = {})
Check status of a check transaction.
Required
-
:reference_number
Response
-
#message ??? check trace hash
919 920 921 922 923 924 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 919 def get_check_trace(={}) requires! , :reference_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) get_customer_payment_method(options = {})
Retrive one of the payment methods belonging to a customer
Required
-
:customer_number
-
:method_id
Response
-
#message ??? hash of payment method
424 425 426 427 428 429 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 424 def get_customer_payment_method(={}) requires! , :customer_number, :method_id request = build_request(__method__, ) commit(__method__, request) end |
- (Object) get_customer_payment_methods(options = {})
Retrive all of the payment methods belonging to a customer
Required
-
:customer_number
Response
-
#message ??? either a single hash or an array of hashes of payment methods
408 409 410 411 412 413 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 408 def get_customer_payment_methods(={}) requires! , :customer_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) get_transaction(options = {})
Retrieve details of a specified transaction.
Required
-
:reference_number
Response
-
#message ??? transaction hash
789 790 791 792 793 794 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 789 def get_transaction(={}) requires! , :reference_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) get_transaction_custom(options = {})
Check status of a transaction (custom).
Required
-
:reference_number
-
:fields ??? string array of fields to retrieve
-
Response.AuthCode
-
Response.AvsResult
-
Response.AvsResultCode
-
Response.BatchNum
-
Response.CardCodeResult
-
Response.CardCodeResultCode
-
Response.ConversionRate
-
Response.ConvertedAmount
-
Response.ConvertedAmountCurrency
-
Response.Error
-
Response.ErrorCode
-
Response.RefNum
-
Response.Result
-
Response.ResultCode
-
Response.Status
-
Response.StatusCode
-
CheckTrace.TrackingNum
-
CheckTrace.Effective
-
CheckTrace.Processed
-
CheckTrace.Settled
-
CheckTrace.Returned
-
CheckTrace.BankNote
-
DateTime
-
AccountHolder
-
Details.Invoice
-
Details.PoNum
-
Details.OrderID
-
Details.Clerk
-
Details.Terminal
-
Details.Table
-
Details.Description
-
Details.Amount
-
Details.Currency
-
Details.Tax
-
Details.Tip
-
Details.NonTax
-
Details.Shipping
-
Details.Discount
-
Details.Subtotal
-
CreditCardData.CardType
-
CreditCardData.CardNumber
-
CreditCardData.CardExpiration
-
CreditCardData.CardCode
-
CreditCardData.AvsStreet
-
CreditCardData.AvsZip
-
CreditCardData.CardPresent
-
CheckData.CheckNumber
-
CheckData.Routing
-
CheckData.Account
-
CheckData.SSN
-
CheckData.DriversLicense
-
CheckData.DriversLicenseState
-
CheckData.RecordType
-
User
-
Source
-
ServerIP
-
ClientIP
-
CustomerID
-
BillingAddress.FirstName
-
BillingAddress.LastName
-
BillingAddress.Company
-
BillingAddress.Street
-
BillingAddress.Street2
-
BillingAddress.City
-
BillingAddress.State
-
BillingAddress.Zip
-
BillingAddress.Country
-
BillingAddress.Phone
-
BillingAddress.Fax
-
BillingAddress.Email
-
ShippingAddress.FirstName
-
ShippingAddress.LastName
-
ShippingAddress.Company
-
ShippingAddress.Street
-
ShippingAddress.Street2
-
ShippingAddress.City
-
ShippingAddress.State
-
ShippingAddress.Zip
-
ShippingAddress.Country
-
ShippingAddress.Phone
-
ShippingAddress.Fax
-
ShippingAddress.Email
-
Response
-
#message ??? hash; keys are the field values
904 905 906 907 908 909 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 904 def get_transaction_custom(={}) requires! , :reference_number, :fields request = build_request(__method__, ) commit(__method__, request) end |
- (Object) get_transaction_status(options = {})
Check status of a transaction.
Required
-
:reference_number
Response
-
response.success ??? success of the referenced transaction
-
response.message ??? message of the referenced transaction
-
response.authorization ??? same as :reference_number in options
806 807 808 809 810 811 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 806 def get_transaction_status(={}) requires! , :reference_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) override_transaction(options = {})
Override transaction flagged for mananager approval.
Note: Checks only!
Required
-
:reference_number
Options
-
:reason
Response
-
#message ??? transaction response hash
691 692 693 694 695 696 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 691 def override_transaction(={}) requires! , :reference_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) post_auth(options = {})
Post an authorization code obtained offline.
Required
-
:authorization_code ??? obtained offline
Options
-
Same as run_transaction
Response
-
#message ??? transaction response hash
613 614 615 616 617 618 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 613 def post_auth(={}) requires! , :authorization_code request = build_request(__method__, ) commit(__method__, request) end |
- (Object) purchase(money, creditcard, options = {})
Make a purchase with a credit card. (Authorize and capture for settlement.)
Note: See run_transaction for additional options.
258 259 260 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 258 def purchase(money, creditcard, ={}) run_sale(.merge!(:amount => money, :payment_method => creditcard)) end |
- (Object) refund_transaction(options = {})
Refund transaction.
Note: Required after a transaction has been settled. Refunds both credit card and check transactions.
Required
-
:reference_number
-
:amount ??? amount to refund; 0 will refund original amount
Response
-
#message ??? transaction response hash
671 672 673 674 675 676 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 671 def refund_transaction(={}) requires! , :reference_number, :amount request = build_request(__method__, ) commit(__method__, request) end |
- (Object) run_customer_transaction(options = {})
Run a transaction for an existing customer in the database.
Required Options
-
:customer_number ??? gateway assigned identifier
-
:command ??? Sale, AuthOnly, Credit, Check, CheckCredit
-
:amount ??? total amount
Options
-
:method_id ??? which payment method to use, 0/nil/omitted for default method
-
:ignore_duplicate ??? true overrides duplicate transaction
-
:client_ip ??? client ip address
-
:customer_receipt ??? true, sends receipt to customer. active_merchant defaults to false
-
:customer_email ??? specify if different than customer record
-
:customer_template ??? name of template
-
:merchant_receipt ??? true, sends receipt to merchant. active_merchant defaults to false
-
:merchant_email ??? required if :merchant_receipt set to true
-
:merchant_template ??? name of template
-
:recurring ??? defaults to false *see documentation*
-
:verification_value ??? pci forbids storage of this value, only required for CVV2 validation
-
:software ??? active_merchant sets to required gateway option value
-
:line_items ??? XXX not implemented yet
-
:custom_fields ??? XXX not implemented yet
Transaction Options
-
:invoice ??? transaction invoice number; truncated to 10 characters; defaults to reference_number
-
:po_number ??? commercial purchase order number; upto 25 characters
-
:order_id ??? should be used to assign a unique id; upto 64 characters
-
:clerk ??? sales clerk
-
:terminal ??? terminal name
-
:table ??? table name/number
-
:description ??? description
-
:comments ??? comments
-
:allow_partial_auth ??? allow partial authorization if full amount is not available; defaults false
-
:currency ??? numeric currency code
-
:tax ??? tax portion of amount
-
:tip ??? tip portion of amount
-
:non_tax ??? true if transaction is non-taxable
-
:shipping ??? shipping portion of amount
-
:discount ??? amount of discount
-
:subtotal ??? amount of transaction before tax, tip, shipping, and discount are applied
Response
-
#message ??? transaction response hash
521 522 523 524 525 526 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 521 def run_customer_transaction(={}) requires! , :customer_number, :command, :amount request = build_request(__method__, ) commit(__method__, request) end |
- (Object) run_quick_credit(options = {})
Run a credit based off of a past transaction.
Transfers referenced transaction's payment method to this transaction. As of 6/2011, USA ePay blocks credit card numbers at 3 years.
Required
-
:reference_number ??? transaction to reference payment from
Transaction Options
-
:amount ??? total amount
-
:invoice ??? transaction invoice number; truncated to 10 characters; defaults to reference_number
-
:po_number ??? commercial purchase order number; upto 25 characters
-
:order_id ??? should be used to assign a unique id; upto 64 characters
-
:clerk ??? sales clerk
-
:terminal ??? terminal name
-
:table ??? table name/number
-
:description ??? description
-
:comments ??? comments
-
:allow_partial_auth ??? allow partial authorization if full amount is not available; defaults false
-
:currency ??? numeric currency code
-
:tax ??? tax portion of amount
-
:tip ??? tip portion of amount
-
:non_tax ??? true if transaction is non-taxable
-
:shipping ??? shipping portion of amount
-
:discount ??? amount of discount
-
:subtotal ??? amount of transaction before tax, tip, shipping, and discount are applied
Response
-
#message ??? transaction response hash
772 773 774 775 776 777 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 772 def run_quick_credit(={}) requires! , :reference_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) run_quick_sale(options = {})
Run a sale transaction based off of a past transaction.
Transfers referenced transaction's payment method to this transaction. As of 6/2011, USA ePay blocks credit card numbers at 3 years.
Required
-
:reference_number ??? transaction to reference payment from
-
:amount ??? total amount
Options
-
:authorize_only ??? set true if you just want to authorize
Transaction Options
-
:invoice ??? transaction invoice number; truncated to 10 characters; defaults to reference_number
-
:po_number ??? commercial purchase order number; upto 25 characters
-
:order_id ??? should be used to assign a unique id; upto 64 characters
-
:clerk ??? sales clerk
-
:terminal ??? terminal name
-
:table ??? table name/number
-
:description ??? description
-
:comments ??? comments
-
:allow_partial_auth ??? allow partial authorization if full amount is not available; defaults false
-
:currency ??? numeric currency code
-
:tax ??? tax portion of amount
-
:tip ??? tip portion of amount
-
:non_tax ??? true if transaction is non-taxable
-
:shipping ??? shipping portion of amount
-
:discount ??? amount of discount
-
:subtotal ??? amount of transaction before tax, tip, shipping, and discount are applied
Response
-
#message ??? transaction response hash
734 735 736 737 738 739 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 734 def run_quick_sale(={}) requires! , :reference_number, :amount request = build_request(__method__, ) commit(__method__, request) end |
- (Object) run_transaction(options = {})
Run a transaction.
Note: run_sale, run_auth_only, run_credit, run_check_sale, run_check_credit methods are also available. Each takes the same options as run_transaction, but the :command option is not required.
Recurring Note: If recurring options are included USA ePay will create a new customer record with the supplied information. The customer number will be returned in the response.
Options
-
:method ??? credit_card or check
-
:command ??? sale, credit, void, creditvoid, authonly, capture, postauth, check, checkcredit; defaults to sale; only required for run_transaction when other than sale
-
:reference_number ??? for the original transaction; obtained by sale or authonly
-
:authorization_code ??? required for postauth; obtained offline
-
:ignore_duplicate ??? set true if you want to override the duplicate tranaction handling
-
:account_holder ??? name of account holder
-
:customer_id ??? merchant assigned id
-
:customer_receipt ??? set true to email receipt to billing email address
-
:customer_template ??? name of template
-
:software ??? stamp merchant software version for tracking
-
:billing_address ??? see UsaEpayCimGateway documentation for all address fields
-
:shipping_address ??? see UsaEpayCimGateway documentation for all address fields
-
:recurring ??? used for recurring billing transactions
-
:schedule ??? disabled, daily, weekly, bi-weekly (every two weeks), monthly, bi-monthly (every two months), quarterly, bi-annually (every six months), annually
-
:next ??? date customer billed next (Date/Time)
-
:expire ??? date the recurring transactions end (Date/Time)
-
:number_left ??? transactions remaining in billing cycle
-
:amount ??? amount to be billed each recurring transaction
-
:enabled ??? states if currently active
-
-
:line_items ??? XXX not implemented yet
-
:custom_fields ??? XXX not implemented yet
Transaction Options
-
:amount ??? total amount
-
:invoice ??? transaction invoice number; truncated to 10 characters; defaults to reference_number
-
:po_number ??? commercial purchase order number; upto 25 characters
-
:order_id ??? should be used to assign a unique id; upto 64 characters
-
:clerk ??? sales clerk
-
:terminal ??? terminal name
-
:table ??? table name/number
-
:description ??? description
-
:comments ??? comments
-
:allow_partial_auth ??? allow partial authorization if full amount is not available; defaults false
-
:currency ??? numeric currency code
-
:tax ??? tax portion of amount
-
:tip ??? tip portion of amount
-
:non_tax ??? true if transaction is non-taxable
-
:shipping ??? shipping portion of amount
-
:discount ??? amount of discount
-
:subtotal ??? amount of transaction before tax, tip, shipping, and discount are applied
Response
-
#message ??? transaction response hash
585 586 587 588 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 585 def run_transaction(={}) request = build_request(__method__, ) commit(__method__, request) end |
- (Object) update_customer(options = {})
Update a customer by replacing all of the customer details..
Use quickUpdateCustomer to just update a few attributes.
Options
* Same as add_customer
344 345 346 347 348 349 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 344 def update_customer(={}) requires! , :customer_number request = build_request(__method__, ) commit(__method__, request) end |
- (Object) update_customer_payment_method(options = {})
Update a customer payment method.
Required
-
:method_id ??? method_id to update
Options
-
:method ??? credit_card or check
-
:name ??? optional name/label for the method
-
:sort ??? an integer value specifying the backup sort order, 0 is default
-
:verify ??? set true to run auth_only verification; throws fault if cannot verify
Response
-
#message ??? hash of payment method
445 446 447 448 449 450 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 445 def update_customer_payment_method(={}) requires! , :method_id request = build_request(__method__, ) commit(__method__, request) end |
- (Object) void(identification, options = {})
Void a previous transaction that has not been settled.
Note: See run_transaction for additional options.
282 283 284 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 282 def void(identification, ={}) void_transaction(.merge!(:reference_number => identification)) end |
- (Object) void_transaction(options = {})
Void a transaction.
Note: Can only be voided before being settled.
Required
-
:reference_number
Response
-
#message ??? transaction response hash
652 653 654 655 656 657 |
# File 'lib/active_merchant/billing/gateways/usa_epay_advanced.rb', line 652 def void_transaction(={}) requires! , :reference_number request = build_request(__method__, ) commit(__method__, request) end |