activemerchant 1.56.0 → 1.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +42 -0
  3. data/lib/active_merchant/billing/gateways/authorize_net.rb +52 -21
  4. data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +1 -0
  5. data/lib/active_merchant/billing/gateways/barclaycard_smartpay.rb +243 -0
  6. data/lib/active_merchant/billing/gateways/bpoint.rb +1 -1
  7. data/lib/active_merchant/billing/gateways/braintree_blue.rb +11 -11
  8. data/lib/active_merchant/billing/gateways/bridge_pay.rb +37 -8
  9. data/lib/active_merchant/billing/gateways/card_stream.rb +36 -11
  10. data/lib/active_merchant/billing/gateways/checkout_v2.rb +3 -0
  11. data/lib/active_merchant/billing/gateways/clearhaus.rb +2 -2
  12. data/lib/active_merchant/billing/gateways/creditcall.rb +1 -1
  13. data/lib/active_merchant/billing/gateways/cyber_source.rb +12 -1
  14. data/lib/active_merchant/billing/gateways/element.rb +335 -0
  15. data/lib/active_merchant/billing/gateways/forte.rb +8 -0
  16. data/lib/active_merchant/billing/gateways/in_context_paypal_express.rb +15 -0
  17. data/lib/active_merchant/billing/gateways/litle.rb +1 -1
  18. data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +2 -1
  19. data/lib/active_merchant/billing/gateways/ncr_secure_pay.rb +165 -0
  20. data/lib/active_merchant/billing/gateways/payeezy.rb +54 -12
  21. data/lib/active_merchant/billing/gateways/sage.rb +379 -128
  22. data/lib/active_merchant/billing/gateways/stripe.rb +13 -3
  23. data/lib/active_merchant/billing/gateways/trans_first.rb +26 -6
  24. data/lib/active_merchant/billing/gateways/trans_first_transaction_express.rb +573 -0
  25. data/lib/active_merchant/billing/gateways/worldpay.rb +7 -0
  26. data/lib/active_merchant/billing/network_tokenization_credit_card.rb +11 -0
  27. data/lib/active_merchant/version.rb +1 -1
  28. metadata +7 -6
  29. data/lib/active_merchant/billing/gateways/sage/sage_bankcard.rb +0 -89
  30. data/lib/active_merchant/billing/gateways/sage/sage_core.rb +0 -115
  31. data/lib/active_merchant/billing/gateways/sage/sage_vault.rb +0 -149
  32. data/lib/active_merchant/billing/gateways/sage/sage_virtual_check.rb +0 -97
@@ -1,97 +0,0 @@
1
- require 'active_merchant/billing/gateways/sage/sage_core'
2
-
3
- module ActiveMerchant #:nodoc:
4
- module Billing #:nodoc:
5
- class SageVirtualCheckGateway < Gateway #:nodoc:
6
- include SageCore
7
- self.live_url = 'https://www.sagepayments.net/cgi-bin/eftVirtualCheck.dll?transaction'
8
- self.source = 'virtual_check'
9
-
10
- def purchase(money, credit_card, options = {})
11
- post = {}
12
- add_check(post, credit_card)
13
- add_check_customer_data(post, options)
14
- add_transaction_data(post, money, options)
15
- commit(:purchase, post)
16
- end
17
-
18
- def void(reference, options = {})
19
- post = {}
20
- add_reference(post, reference)
21
- commit(:void, post)
22
- end
23
-
24
- def credit(money, credit_card, options = {})
25
- post = {}
26
- add_check(post, credit_card)
27
- add_check_customer_data(post, options)
28
- add_transaction_data(post, money, options)
29
- commit(:credit, post)
30
- end
31
-
32
- private
33
- def add_check(post, check)
34
- post[:C_first_name] = check.first_name
35
- post[:C_last_name] = check.last_name
36
- post[:C_rte] = check.routing_number
37
- post[:C_acct] = check.account_number
38
- post[:C_check_number] = check.number
39
- post[:C_acct_type] = account_type(check)
40
- end
41
-
42
- def add_check_customer_data(post, options)
43
- # Required  Customer Type – (NACHA Transaction Class)
44
- # CCD for Commercial, Merchant Initiated
45
- # PPD for Personal, Merchant Initiated
46
- # WEB for Internet, Consumer Initiated
47
- # RCK for Returned Checks
48
- # ARC for Account Receivable Entry
49
- # TEL for TelephoneInitiated
50
- post[:C_customer_type] = "WEB"
51
-
52
- # Optional  10  Digit Originator  ID – Assigned  By for  each transaction  class  or  business  purpose. If  not provided, the default Originator ID for the specific  Customer Type will be applied. 
53
- post[:C_originator_id] = options[:originator_id]
54
-
55
- # Optional  Transaction Addenda
56
- post[:T_addenda] = options[:addenda]
57
-
58
- # Required  Check  Writer  Social  Security  Number  (  Numbers Only, No Dashes ) 
59
- post[:C_ssn] = options[:ssn].to_s.gsub(/[^\d]/, '')
60
-
61
- post[:C_dl_state_code] = options[:drivers_license_state]
62
- post[:C_dl_number] = options[:drivers_license_number]
63
- post[:C_dob] = format_birth_date(options[:date_of_birth])
64
- end
65
-
66
- def format_birth_date(date)
67
- date.respond_to?(:strftime) ? date.strftime("%m/%d/%Y") : date
68
- end
69
-
70
- # DDA for Checking
71
- # SAV for Savings 
72
- def account_type(check)
73
- case check.account_type
74
- when 'checking' then 'DDA'
75
- when 'savings' then 'SAV'
76
- else raise ArgumentError, "Unknown account type #{check.account_type}"
77
- end
78
- end
79
-
80
- def parse(data)
81
- response = {}
82
- response[:success] = data[1,1]
83
- response[:code] = data[2,6].strip
84
- response[:message] = data[8,32].strip
85
- response[:risk] = data[40, 2]
86
- response[:reference] = data[42, 10]
87
-
88
- extra_data = data[53...-1].split("\034")
89
- response[:order_number] = extra_data[0]
90
- response[:authentication_indicator] = extra_data[1]
91
- response[:authentication_disclosure] = extra_data[2]
92
- response
93
- end
94
- end
95
- end
96
- end
97
-