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::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
#add_field_to_post_if_present, #add_fields_to_post_if_present, #card_brand, card_brand, #generate_unique_id, inherited, #scrub, #supported_countries, supported_countries, supported_countries=, supports?, #supports_network_tokenization?, #supports_scrubbing?, #test?
Methods included from CreditCardFormatting
#expdate, #format, #strftime_yyyymm
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 |