Class: ActiveMerchant::Billing::PayHubGateway
- Defined in:
- lib/active_merchant/billing/gateways/pay_hub.rb
Constant Summary collapse
- CVV_CODE_TRANSLATOR =
{ 'M' => 'CVV matches', 'N' => 'CVV does not match', 'P' => 'CVV not processed', 'S' => 'CVV should have been present', 'U' => 'CVV request unable to be processed by issuer' }
- AVS_CODE_TRANSLATOR =
{ '0' => "Approved, Address verification was not requested.", 'A' => "Approved, Address matches only.", 'B' => "Address Match. Street Address math for international transaction Postal Code not verified because of incompatible formats (Acquirer sent both street address and Postal Code)", 'C' => "Serv Unavailable. Street address and Postal Code not verified for international transaction because of incompatible formats (Acquirer sent both street and Postal Code).", 'D' => "Exact Match, Street Address and Postal Code match for international transaction.", 'F' => "Exact Match, Street Address and Postal Code match. Applies to UK only.", 'G' => "Ver Unavailable, Non-U.S. Issuer does not participate.", 'I' => "Ver Unavailable, Address information not verified for international transaction", 'M' => "Exact Match, Street Address and Postal Code match for international transaction", 'N' => "No - Address and ZIP Code does not match", 'P' => "Zip Match, Postal Codes match for international transaction Street address not verified because of incompatible formats (Acquirer sent both street address and Postal Code).", 'R' => "Retry - Issuer system unavailable", 'S' => "Serv Unavailable, Service not supported", 'U' => "Ver Unavailable, Address unavailable.", 'W' => "ZIP match - Nine character numeric ZIP match only.", 'X' => "Exact match, Address and nine-character ZIP match.", 'Y' => "Exact Match, Address and five character ZIP match.", 'Z' => "Zip Match, Five character numeric ZIP match only.", '1' => "Cardholder name and ZIP match AMEX only.", '2' => "Cardholder name, address, and ZIP match AMEX only.", '3' => "Cardholder name and address match AMEX only.", '4' => "Cardholder name match AMEX only.", '5' => "Cardholder name incorrect, ZIP match AMEX only.", '6' => "Cardholder name incorrect, address and ZIP match AMEX only.", '7' => "Cardholder name incorrect, address match AMEX only.", '8' => "Cardholder, all do not match AMEX only." }
- STANDARD_ERROR_CODE_MAPPING =
{ '14' => STANDARD_ERROR_CODE[:invalid_number], '80' => STANDARD_ERROR_CODE[:invalid_expiry_date], '82' => STANDARD_ERROR_CODE[:invalid_cvc], '54' => STANDARD_ERROR_CODE[:expired_card], '51' => STANDARD_ERROR_CODE[:card_declined], '05' => STANDARD_ERROR_CODE[:card_declined], '61' => STANDARD_ERROR_CODE[:card_declined], '62' => STANDARD_ERROR_CODE[:card_declined], '65' => STANDARD_ERROR_CODE[:card_declined], '93' => STANDARD_ERROR_CODE[:card_declined], '01' => STANDARD_ERROR_CODE[:call_issuer], '02' => STANDARD_ERROR_CODE[:call_issuer], '04' => STANDARD_ERROR_CODE[:pickup_card], '07' => STANDARD_ERROR_CODE[:pickup_card], '41' => STANDARD_ERROR_CODE[:pickup_card], '43' => STANDARD_ERROR_CODE[:pickup_card] }
Constants inherited from Gateway
Gateway::CREDIT_DEPRECATION_MESSAGE, Gateway::CURRENCIES_WITHOUT_FRACTIONS, Gateway::DEBIT_CARDS, Gateway::RECURRING_DEPRECATION_MESSAGE, Gateway::STANDARD_ERROR_CODE
Instance Attribute Summary
Attributes inherited from Gateway
Instance Method Summary collapse
- #authorize(amount, creditcard, options = {}) ⇒ Object
- #capture(amount, trans_id, options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ PayHubGateway
constructor
A new instance of PayHubGateway.
- #purchase(amount, creditcard, options = {}) ⇒ Object
- #refund(amount, trans_id, options = {}) ⇒ Object
-
#verify(creditcard, options = {}) ⇒ Object
No void, as PayHub’s void does not work on authorizations.
Methods inherited from Gateway
#card_brand, card_brand, #generate_unique_id, inherited, non_fractional_currency?, #scrub, supported_countries, #supported_countries, supported_countries=, supports?, #supports_network_tokenization?, #supports_scrubbing?, #test?
Methods included from CreditCardFormatting
Methods included from PostsData
included, #raw_ssl_request, #ssl_get, #ssl_post, #ssl_request
Constructor Details
#initialize(options = {}) ⇒ PayHubGateway
Returns a new instance of PayHubGateway.
69 70 71 72 73 |
# File 'lib/active_merchant/billing/gateways/pay_hub.rb', line 69 def initialize(={}) requires!(, :orgid, :username, :password, :tid) super end |
Instance Method Details
#authorize(amount, creditcard, options = {}) ⇒ Object
75 76 77 78 79 80 81 82 83 |
# File 'lib/active_merchant/billing/gateways/pay_hub.rb', line 75 def (amount, creditcard, = {}) post = setup_post('auth') add_creditcard(post, creditcard) add_amount(post, amount) add_address(post, ([:address] || [:billing_address])) add_customer_data(post, ) commit(post) end |
#capture(amount, trans_id, options = {}) ⇒ Object
107 108 109 110 111 112 113 114 |
# File 'lib/active_merchant/billing/gateways/pay_hub.rb', line 107 def capture(amount, trans_id, = {}) post = setup_post('capture') add_reference(post, trans_id) add_amount(post, amount) commit(post) end |
#purchase(amount, creditcard, options = {}) ⇒ Object
85 86 87 88 89 90 91 92 93 |
# File 'lib/active_merchant/billing/gateways/pay_hub.rb', line 85 def purchase(amount, creditcard, ={}) post = setup_post('sale') add_creditcard(post, creditcard) add_amount(post, amount) add_address(post, ([:address] || [:billing_address])) add_customer_data(post, ) commit(post) end |
#refund(amount, trans_id, options = {}) ⇒ Object
95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/active_merchant/billing/gateways/pay_hub.rb', line 95 def refund(amount, trans_id, ={}) # Attempt a void in case the transaction is unsettled post = setup_post('void') add_reference(post, trans_id) response = commit(post) return response if response.success? post = setup_post('refund') add_reference(post, trans_id) commit(post) end |
#verify(creditcard, options = {}) ⇒ Object
No void, as PayHub’s void does not work on authorizations
118 119 120 |
# File 'lib/active_merchant/billing/gateways/pay_hub.rb', line 118 def verify(creditcard, ={}) (100, creditcard, ) end |