activemerchant 1.77.0 → 1.78.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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +49 -0
  3. data/lib/active_merchant/billing/gateways/adyen.rb +75 -29
  4. data/lib/active_merchant/billing/gateways/barclaycard_smartpay.rb +1 -1
  5. data/lib/active_merchant/billing/gateways/blue_snap.rb +3 -8
  6. data/lib/active_merchant/billing/gateways/card_stream.rb +22 -1
  7. data/lib/active_merchant/billing/gateways/cenpos.rb +1 -1
  8. data/lib/active_merchant/billing/gateways/checkout_v2.rb +8 -1
  9. data/lib/active_merchant/billing/gateways/citrus_pay.rb +0 -1
  10. data/lib/active_merchant/billing/gateways/dibs.rb +0 -1
  11. data/lib/active_merchant/billing/gateways/first_pay.rb +0 -1
  12. data/lib/active_merchant/billing/gateways/global_collect.rb +11 -5
  13. data/lib/active_merchant/billing/gateways/global_transport.rb +0 -1
  14. data/lib/active_merchant/billing/gateways/litle.rb +93 -17
  15. data/lib/active_merchant/billing/gateways/mercado_pago.rb +2 -2
  16. data/lib/active_merchant/billing/gateways/merchant_warrior.rb +4 -4
  17. data/lib/active_merchant/billing/gateways/migs.rb +12 -0
  18. data/lib/active_merchant/billing/gateways/netbilling.rb +0 -1
  19. data/lib/active_merchant/billing/gateways/ogone.rb +0 -1
  20. data/lib/active_merchant/billing/gateways/optimal_payment.rb +11 -0
  21. data/lib/active_merchant/billing/gateways/orbital.rb +5 -3
  22. data/lib/active_merchant/billing/gateways/payeezy.rb +14 -24
  23. data/lib/active_merchant/billing/gateways/payflow.rb +15 -1
  24. data/lib/active_merchant/billing/gateways/paymentez.rb +21 -11
  25. data/lib/active_merchant/billing/gateways/paystation.rb +4 -1
  26. data/lib/active_merchant/billing/gateways/payu_latam.rb +7 -7
  27. data/lib/active_merchant/billing/gateways/psigate.rb +1 -1
  28. data/lib/active_merchant/billing/gateways/redsys.rb +5 -0
  29. data/lib/active_merchant/billing/gateways/secure_net.rb +11 -1
  30. data/lib/active_merchant/billing/gateways/spreedly_core.rb +12 -1
  31. data/lib/active_merchant/billing/gateways/stripe.rb +17 -6
  32. data/lib/active_merchant/billing/gateways/tns.rb +0 -1
  33. data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +39 -21
  34. data/lib/active_merchant/billing/gateways/worldpay.rb +1 -1
  35. data/lib/active_merchant/billing/gateways/worldpay_us.rb +12 -0
  36. data/lib/active_merchant/version.rb +1 -1
  37. data/lib/certs/cacert.pem +25 -0
  38. metadata +2 -2
@@ -75,7 +75,6 @@ module ActiveMerchant #:nodoc:
75
75
  commit(post)
76
76
  end
77
77
 
78
-
79
78
  def refund(money, authorization, options={})
80
79
  post = new_request
81
80
  add_amount(post, money, options)
@@ -85,6 +84,10 @@ module ActiveMerchant #:nodoc:
85
84
  commit(post)
86
85
  end
87
86
 
87
+ def verify(credit_card, options={})
88
+ authorize(0, credit_card, options)
89
+ end
90
+
88
91
  private
89
92
 
90
93
  def new_request
@@ -48,7 +48,7 @@ module ActiveMerchant #:nodoc:
48
48
  def capture(amount, authorization, options={})
49
49
  post = {}
50
50
 
51
- add_credentials(post, 'SUBMIT_TRANSACTION')
51
+ add_credentials(post, 'SUBMIT_TRANSACTION', options)
52
52
  add_transaction_elements(post, 'CAPTURE', options)
53
53
  add_reference(post, authorization)
54
54
 
@@ -58,7 +58,7 @@ module ActiveMerchant #:nodoc:
58
58
  def void(authorization, options={})
59
59
  post = {}
60
60
 
61
- add_credentials(post, 'SUBMIT_TRANSACTION')
61
+ add_credentials(post, 'SUBMIT_TRANSACTION', options)
62
62
  add_transaction_elements(post, 'VOID', options)
63
63
  add_reference(post, authorization)
64
64
 
@@ -68,7 +68,7 @@ module ActiveMerchant #:nodoc:
68
68
  def refund(amount, authorization, options={})
69
69
  post = {}
70
70
 
71
- add_credentials(post, 'SUBMIT_TRANSACTION')
71
+ add_credentials(post, 'SUBMIT_TRANSACTION', options)
72
72
  add_transaction_elements(post, 'REFUND', options)
73
73
  add_reference(post, authorization)
74
74
 
@@ -115,7 +115,7 @@ module ActiveMerchant #:nodoc:
115
115
  private
116
116
 
117
117
  def auth_or_sale(post, transaction_type, amount, payment_method, options)
118
- add_credentials(post, 'SUBMIT_TRANSACTION')
118
+ add_credentials(post, 'SUBMIT_TRANSACTION', options)
119
119
  add_transaction_elements(post, transaction_type, options)
120
120
  add_order(post, options)
121
121
  add_buyer(post, payment_method, options)
@@ -126,9 +126,9 @@ module ActiveMerchant #:nodoc:
126
126
  add_extra_parameters(post, options)
127
127
  end
128
128
 
129
- def add_credentials(post, command)
129
+ def add_credentials(post, command, options={})
130
130
  post[:test] = test? unless command == 'CREATE_TOKEN'
131
- post[:language] = 'en'
131
+ post[:language] = options[:language] || 'en'
132
132
  post[:command] = command
133
133
  merchant = {}
134
134
  merchant[:apiLogin] = @options[:api_login]
@@ -153,7 +153,7 @@ module ActiveMerchant #:nodoc:
153
153
  order[:partnerId] = options[:partner_id] if options[:partner_id]
154
154
  order[:referenceCode] = options[:order_id] || generate_unique_id
155
155
  order[:description] = options[:description] || 'Compra en ' + @options[:merchant_id]
156
- order[:language] = 'en'
156
+ order[:language] = options[:language] || 'en'
157
157
  order[:shippingAddress] = shipping_address_fields(options) if options[:shipping_address]
158
158
  post[:transaction][:order] = order
159
159
  end
@@ -35,7 +35,7 @@ module ActiveMerchant #:nodoc:
35
35
  # :email => 'jack@yahoo.com'
36
36
  # )
37
37
  class PsigateGateway < Gateway
38
- self.test_url = 'https://dev.psigate.com:7989/Messenger/XMLMessenger'
38
+ self.test_url = 'https://staging.psigate.com:17989/Messenger/XMLMessenger'
39
39
  self.live_url = 'https://secure.psigate.com:17934/Messenger/XMLMessenger'
40
40
 
41
41
  self.supported_cardtypes = [:visa, :master, :american_express]
@@ -56,6 +56,7 @@ module ActiveMerchant #:nodoc:
56
56
  "CAD" => '124',
57
57
  "CHF" => '756',
58
58
  "CLP" => '152',
59
+ "CNY" => '156',
59
60
  "COP" => '170',
60
61
  "CRC" => '188',
61
62
  "CZK" => '203',
@@ -65,7 +66,10 @@ module ActiveMerchant #:nodoc:
65
66
  "GBP" => '826',
66
67
  "GTQ" => '320',
67
68
  "HUF" => '348',
69
+ "IDR" => '360',
70
+ "INR" => '356',
68
71
  "JPY" => '392',
72
+ "KRW" => '410',
69
73
  "MYR" => '458',
70
74
  "MXN" => '484',
71
75
  "NOK" => '578',
@@ -77,6 +81,7 @@ module ActiveMerchant #:nodoc:
77
81
  "SEK" => '752',
78
82
  "SGD" => '702',
79
83
  "THB" => '764',
84
+ "TWD" => '901',
80
85
  "USD" => '840',
81
86
  "UYU" => '858'
82
87
  }
@@ -61,8 +61,19 @@ module ActiveMerchant #:nodoc:
61
61
  refund(money, authorization, options)
62
62
  end
63
63
 
64
+ def supports_scrubbing?
65
+ true
66
+ end
67
+
68
+ def scrub(transcript)
69
+ transcript.
70
+ gsub(%r((<CARDNUMBER>)\d+(</CARDNUMBER>))i, '\1[FILTERED]\2').
71
+ gsub(%r((<CARDCODE>)\d+(</CARDCODE>))i, '\1[FILTERED]\2').
72
+ gsub(%r((<SECUREKEY>).+(</SECUREKEY>))i, '\1[FILTERED]\2')
73
+ end
64
74
 
65
75
  private
76
+
66
77
  def commit(request)
67
78
  xml = build_request(request)
68
79
  url = test? ? self.test_url : self.live_url
@@ -255,4 +266,3 @@ module ActiveMerchant #:nodoc:
255
266
  end
256
267
  end
257
268
  end
258
-
@@ -106,6 +106,18 @@ module ActiveMerchant #:nodoc:
106
106
  commit("payment_methods/#{authorization}/redact.xml", '', :put)
107
107
  end
108
108
 
109
+ def supports_scrubbing?
110
+ true
111
+ end
112
+
113
+ def scrub(transcript)
114
+ transcript.
115
+ gsub(%r((Authorization: Basic )\w+), '\1[FILTERED]').
116
+ gsub(%r((<number>).+(</number>)), '\1[FILTERED]\2').
117
+ gsub(%r((<verification_value>).+(</verification_value>)), '\1[FILTERED]\2').
118
+ gsub(%r((<payment_method_token>).+(</payment_method_token>)), '\1[FILTERED]\2')
119
+ end
120
+
109
121
  private
110
122
 
111
123
  def save_card(retain, credit_card, options)
@@ -244,4 +256,3 @@ module ActiveMerchant #:nodoc:
244
256
  end
245
257
  end
246
258
  end
247
-
@@ -43,7 +43,8 @@ module ActiveMerchant #:nodoc:
43
43
  'call_issuer' => STANDARD_ERROR_CODE[:call_issuer],
44
44
  'processing_error' => STANDARD_ERROR_CODE[:processing_error],
45
45
  'incorrect_pin' => STANDARD_ERROR_CODE[:incorrect_pin],
46
- 'test_mode_live_card' => STANDARD_ERROR_CODE[:test_mode_live_card]
46
+ 'test_mode_live_card' => STANDARD_ERROR_CODE[:test_mode_live_card],
47
+ 'pickup_card' => STANDARD_ERROR_CODE[:pickup_card]
47
48
  }
48
49
 
49
50
  BANK_ACCOUNT_HOLDER_TYPE_MAPPING = {
@@ -127,6 +128,7 @@ module ActiveMerchant #:nodoc:
127
128
  else
128
129
  add_application_fee(post, options)
129
130
  add_amount(post, money, options)
131
+ add_exchange_rate(post, options)
130
132
  commit(:post, "charges/#{CGI.escape(authorization)}/capture", post, options)
131
133
  end
132
134
  end
@@ -149,10 +151,10 @@ module ActiveMerchant #:nodoc:
149
151
  MultiResponse.run(:first) do |r|
150
152
  r.process { commit(:post, "charges/#{CGI.escape(identification)}/refunds", post, options) }
151
153
 
152
- return r unless options[:refund_fee_amount]
153
-
154
- r.process { fetch_application_fee(identification, options) }
155
- r.process { refund_application_fee(options[:refund_fee_amount], application_fee_from_response(r.responses.last), options) }
154
+ if options[:refund_fee_amount] && options[:refund_fee_amount].to_s != '0'
155
+ r.process { fetch_application_fee(identification, options) }
156
+ r.process { refund_application_fee(options[:refund_fee_amount].to_i, application_fee_from_response(r.responses.last), options) }
157
+ end
156
158
  end
157
159
  end
158
160
 
@@ -319,6 +321,7 @@ module ActiveMerchant #:nodoc:
319
321
 
320
322
  add_metadata(post, options)
321
323
  add_application_fee(post, options)
324
+ add_exchange_rate(post, options)
322
325
  add_destination(post, options)
323
326
  post
324
327
  end
@@ -333,8 +336,16 @@ module ActiveMerchant #:nodoc:
333
336
  post[:application_fee] = options[:application_fee] if options[:application_fee]
334
337
  end
335
338
 
339
+ def add_exchange_rate(post, options)
340
+ post[:exchange_rate] = options[:exchange_rate] if options[:exchange_rate]
341
+ end
342
+
336
343
  def add_destination(post, options)
337
- post[:destination] = options[:destination] if options[:destination]
344
+ if options[:destination]
345
+ post[:destination] = {}
346
+ post[:destination][:account] = options[:destination]
347
+ post[:destination][:amount] = options[:destination_amount] if options[:destination_amount]
348
+ end
338
349
  end
339
350
 
340
351
  def add_expand_parameters(post, options)
@@ -16,7 +16,6 @@ module ActiveMerchant
16
16
  self.supported_countries = %w(AR AU BR FR DE HK MX NZ SG GB US)
17
17
  self.default_currency = 'USD'
18
18
  self.supported_cardtypes = [:visa, :master, :american_express, :discover, :diners_club, :jcb, :maestro, :laser]
19
- self.ssl_version = :TLSv1
20
19
 
21
20
  end
22
21
  end
@@ -16,7 +16,8 @@ module ActiveMerchant #:nodoc:
16
16
  :capture => 'cc:capture',
17
17
  :refund => 'cc:refund',
18
18
  :void => 'cc:void',
19
- :void_release => 'cc:void:release'
19
+ :void_release => 'cc:void:release',
20
+ :check_purchase => 'check:sale'
20
21
  }
21
22
 
22
23
  STANDARD_ERROR_CODE_MAPPING = {
@@ -48,7 +49,7 @@ module ActiveMerchant #:nodoc:
48
49
 
49
50
  add_amount(post, money)
50
51
  add_invoice(post, options)
51
- add_credit_card(post, credit_card)
52
+ add_payment(post, credit_card)
52
53
  unless credit_card.track_data.present?
53
54
  add_address(post, credit_card, options)
54
55
  add_customer_data(post, options)
@@ -59,20 +60,20 @@ module ActiveMerchant #:nodoc:
59
60
  commit(:authorization, post)
60
61
  end
61
62
 
62
- def purchase(money, credit_card, options = {})
63
+ def purchase(money, payment, options = {})
63
64
  post = {}
64
65
 
65
66
  add_amount(post, money)
66
67
  add_invoice(post, options)
67
- add_credit_card(post, credit_card)
68
- unless credit_card.track_data.present?
69
- add_address(post, credit_card, options)
68
+ add_payment(post, payment)
69
+ unless payment.respond_to?(:track_data) && payment.track_data.present?
70
+ add_address(post, payment, options)
70
71
  add_customer_data(post, options)
71
72
  end
72
73
  add_split_payments(post, options)
73
74
  add_test_mode(post, options)
74
75
 
75
- commit(:purchase, post)
76
+ payment.respond_to?(:routing_number) ? commit(:check_purchase, post) : commit(:purchase, post)
76
77
  end
77
78
 
78
79
  def capture(money, authorization, options = {})
@@ -106,6 +107,19 @@ module ActiveMerchant #:nodoc:
106
107
  commit(command, post)
107
108
  end
108
109
 
110
+ def supports_scrubbing?
111
+ true
112
+ end
113
+
114
+ def scrub(transcript)
115
+ transcript.
116
+ gsub(%r((&?UMcard=)\d*(&?))i, '\1[FILTERED]\2').
117
+ gsub(%r((&?UMcvv2=)\d*(&?))i, '\1[FILTERED]\2').
118
+ gsub(%r((&?UMmagstripe=)[^&]*)i, '\1[FILTERED]\2').
119
+ gsub(%r((&?UMaccount=)[^&]*)i, '\1[FILTERED]').
120
+ gsub(%r((&?UMkey=)[^&]*)i, '\1[FILTERED]')
121
+ end
122
+
109
123
  private
110
124
 
111
125
  def add_amount(post, money)
@@ -138,19 +152,19 @@ module ActiveMerchant #:nodoc:
138
152
  end
139
153
  end
140
154
 
141
- def add_address(post, credit_card, options)
155
+ def add_address(post, payment, options)
142
156
  billing_address = options[:billing_address] || options[:address]
143
157
 
144
- add_address_for_type(:billing, post, credit_card, billing_address) if billing_address
145
- add_address_for_type(:shipping, post, credit_card, options[:shipping_address]) if options[:shipping_address]
158
+ add_address_for_type(:billing, post, payment, billing_address) if billing_address
159
+ add_address_for_type(:shipping, post, payment, options[:shipping_address]) if options[:shipping_address]
146
160
  end
147
161
 
148
- def add_address_for_type(type, post, credit_card, address)
162
+ def add_address_for_type(type, post, payment, address)
149
163
  prefix = address_key_prefix(type)
150
164
  first_name, last_name = split_names(address[:name])
151
165
 
152
- post[address_key(prefix, 'fname')] = first_name.blank? && last_name.blank? ? credit_card.first_name : first_name
153
- post[address_key(prefix, 'lname')] = first_name.blank? && last_name.blank? ? credit_card.last_name : last_name
166
+ post[address_key(prefix, 'fname')] = first_name.blank? && last_name.blank? ? payment.first_name : first_name
167
+ post[address_key(prefix, 'lname')] = first_name.blank? && last_name.blank? ? payment.last_name : last_name
154
168
  post[address_key(prefix, 'company')] = address[:company] unless address[:company].blank?
155
169
  post[address_key(prefix, 'street')] = address[:address1] unless address[:address1].blank?
156
170
  post[address_key(prefix, 'street2')] = address[:address2] unless address[:address2].blank?
@@ -177,16 +191,20 @@ module ActiveMerchant #:nodoc:
177
191
  post[:description] = options[:description]
178
192
  end
179
193
 
180
- def add_credit_card(post, credit_card)
181
- if credit_card.track_data.present?
182
- post[:magstripe] = credit_card.track_data
194
+ def add_payment(post, payment)
195
+ if payment.respond_to?(:routing_number)
196
+ post[:account] = payment.account_number
197
+ post[:routing] = payment.routing_number
198
+ post[:name] = payment.name unless payment.name.blank?
199
+ elsif payment.respond_to?(:track_data) && payment.track_data.present?
200
+ post[:magstripe] = payment.track_data
183
201
  post[:cardpresent] = true
184
202
  else
185
- post[:card] = credit_card.number
186
- post[:cvv2] = credit_card.verification_value if credit_card.verification_value?
187
- post[:expir] = expdate(credit_card)
188
- post[:name] = credit_card.name unless credit_card.name.blank?
189
- post[:cardpresent] = true if credit_card.manual_entry
203
+ post[:card] = payment.number
204
+ post[:cvv2] = payment.verification_value if payment.verification_value?
205
+ post[:expir] = expdate(payment)
206
+ post[:name] = payment.name unless payment.name.blank?
207
+ post[:cardpresent] = true if payment.manual_entry
190
208
  end
191
209
  end
192
210
 
@@ -6,7 +6,7 @@ module ActiveMerchant #:nodoc:
6
6
 
7
7
  self.default_currency = 'GBP'
8
8
  self.money_format = :cents
9
- self.supported_countries = %w(HK GB AU AD BE CH CY CZ DE DK ES FI FR GI GR HU IE IL IT LI LU MC MT NL NO NZ PL PT SE SG SI SM TR UM VA)
9
+ self.supported_countries = %w(HK GB AU AD BE CH CY CZ DE DK ES FI FR GI GR HU IE IT LI LU MC MT NL NO NZ PL PT SE SG SI SM TR UM VA)
10
10
  self.supported_cardtypes = [:visa, :master, :american_express, :discover, :jcb, :maestro, :laser, :switch]
11
11
  self.currencies_without_fractions = %w(HUF IDR ISK JPY KRW)
12
12
  self.currencies_with_three_decimal_places = %w(BHD KWD OMR RSD TND)
@@ -72,6 +72,18 @@ module ActiveMerchant #:nodoc:
72
72
  end
73
73
  end
74
74
 
75
+ def supports_scrubbing?
76
+ true
77
+ end
78
+
79
+ def scrub(transcript)
80
+ transcript.
81
+ gsub(%r((&?merchantpin=)[^&]*)i, '\1[FILTERED]').
82
+ gsub(%r((&?ccnum=)[^&]*)i, '\1[FILTERED]').
83
+ gsub(%r((&?ckacct=)[^&]*)i, '\1[FILTERED]').
84
+ gsub(%r((&?cvv2=)[^&]*)i, '\1[FILTERED]')
85
+ end
86
+
75
87
  private
76
88
 
77
89
  def url(options)
@@ -1,3 +1,3 @@
1
1
  module ActiveMerchant
2
- VERSION = "1.77.0"
2
+ VERSION = "1.78.0"
3
3
  end
@@ -1454,6 +1454,31 @@ UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
1454
1454
  CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
1455
1455
  -----END CERTIFICATE-----
1456
1456
 
1457
+ DigiCert Global Root G2
1458
+ =======================
1459
+ -----BEGIN CERTIFICATE-----
1460
+ MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
1461
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
1462
+ d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
1463
+ MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
1464
+ MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
1465
+ b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
1466
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
1467
+ 2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
1468
+ 1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
1469
+ q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
1470
+ tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
1471
+ vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
1472
+ BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
1473
+ 5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
1474
+ 1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
1475
+ NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
1476
+ Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
1477
+ 8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
1478
+ pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
1479
+ MrY=
1480
+ -----END CERTIFICATE-----
1481
+
1457
1482
  DigiCert High Assurance EV Root CA
1458
1483
  ==================================
1459
1484
  -----BEGIN CERTIFICATE-----
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activemerchant
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.77.0
4
+ version: 1.78.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Luetke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-31 00:00:00.000000000 Z
11
+ date: 2018-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport