nexio_activemerchant 0.2.0 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b04b87b2ac1b4c597f9317e421d181f22e5664d9086d1d4e257c65ab9dfb7a14
4
- data.tar.gz: 62d6982b454d32c4416127656b7505c8ab3b3395e93af51d584c7dfbeb0fae58
3
+ metadata.gz: 75aed4f978138206f5c7fc033bb0e0a81faf69dac593a26a68661a265de059b5
4
+ data.tar.gz: 97fc92fe19530378d0d86d9dc625310ac1de2db40dca87264a806c97facc0116
5
5
  SHA512:
6
- metadata.gz: b2fd9ba7715e2e9bed79bf6a3632ac483f7cb415b1854057137fa2d1f92c2fc9bd87b272af1d03df44eee8950b0c75e6e646527d256367eafe14aa3bdb67f0e9
7
- data.tar.gz: 8f51de8cba7f9acb2cb489c07363246e1e5abcc1a57e71dfd559e81dcc2e6b1c9d84c7e28fe96a4baa9c1a3c36163b4bec4d1c5051f3b65a378af36f41526337
6
+ metadata.gz: 8f2ab0d0573a9311d7f3753839f39fe9581aab93cf9e30711472edce47f8569365262dec46a09375607ea99f0d9fdbae287a42635bcf748885e836a8353830d3
7
+ data.tar.gz: 870d45d255eeb17b8ab5d84f80f06e8f05950fb32671ced3a14aa35d816131d85209b531c45a1d3e7523a9f649433d589de81344a74bd289510b0576e392623b
@@ -3,6 +3,8 @@
3
3
  module ActiveMerchant
4
4
  module Billing
5
5
  class EncryptedNexioCard < CreditCard
6
+ ALLOWED_CARD_BRANDS = %w(amex discover jcb mastercard visa).freeze
7
+
6
8
  attr_accessor :encrypted_number, :own_form, :one_time_token
7
9
 
8
10
  attr_reader :brand
@@ -18,8 +20,8 @@ module ActiveMerchant
18
20
 
19
21
  if empty?(brand)
20
22
  errors << [:brand, 'is required'] if own_form
21
- els
22
- errors << [:brand, 'is invalid'] unless self.class.card_companies.include?(brand)
23
+ elsif !ALLOWED_CARD_BRANDS.include?(brand)
24
+ errors << [:brand, 'is invalid']
23
25
  end
24
26
 
25
27
  errors << [:encrypted_number, 'is required'] if empty?(encrypted_number)
@@ -26,6 +26,7 @@ module ActiveMerchant
26
26
 
27
27
  def generate_token(options = {})
28
28
  post = build_payload(options)
29
+ post[:data][:allowedCardTypes] = %w(amex discover jcb mastercard visa)
29
30
  add_currency(post, options)
30
31
  add_order_data(post, options)
31
32
  add_card_data(post, options)
@@ -42,6 +43,7 @@ module ActiveMerchant
42
43
  post[:processingOptions][:verboseResponse] = true if test?
43
44
  post[:processingOptions][:customerRedirectUrl] = options[:three_d_callback_url] if options.key?(:three_d_callback_url)
44
45
  post[:processingOptions][:check3ds] = options[:three_d_secure]
46
+ post[:processingOptions][:paymentType] = options[:payment_type] if options.key?(:payment_type)
45
47
  add_invoice(post, money, options)
46
48
  add_payment(post, payment, options)
47
49
  add_order_data(post, options)
@@ -111,6 +113,11 @@ module ActiveMerchant
111
113
  commit('secret', { merchantId: options[:merchant_id].to_s }).params['secret']
112
114
  end
113
115
 
116
+ def get_transaction(id)
117
+ parse(ssl_get(action_url("/transaction/v3/paymentId/#{id}"), base_headers))
118
+ rescue ResponseError => e
119
+ end
120
+
114
121
  private
115
122
 
116
123
  def add_invoice(post, money, options)
@@ -119,7 +126,7 @@ module ActiveMerchant
119
126
  end
120
127
 
121
128
  def add_currency(post, options)
122
- post[:data][:currency] = options[:currency] || currency(money)
129
+ post[:data][:currency] = options[:currency] if options.key?(:currency)
123
130
  end
124
131
 
125
132
  def add_order_data(post, options)
@@ -234,8 +241,7 @@ module ActiveMerchant
234
241
  end
235
242
 
236
243
  def commit(action, parameters)
237
- payload = parse(ssl_post(commit_action_url(action, parameters), post_data(action, parameters),
238
- Authorization: "Basic #{options[:auth_token]}"))
244
+ payload = parse(ssl_post(commit_action_url(action, parameters), post_data(action, parameters), base_headers))
239
245
 
240
246
  Response.new(
241
247
  response_status(action, payload),
@@ -281,6 +287,10 @@ module ActiveMerchant
281
287
  else
282
288
  "/pay/v3/#{action}"
283
289
  end
290
+ action_url(path)
291
+ end
292
+
293
+ def action_url(path)
284
294
  "#{test? ? test_url : live_url}#{path}"
285
295
  end
286
296
 
@@ -299,6 +309,10 @@ module ActiveMerchant
299
309
  def build_payload(options)
300
310
  { data: { customer: {} } }.merge!(options.fetch(:payload, {}))
301
311
  end
312
+
313
+ def base_headers(custom = {})
314
+ { Authorization: "Basic #{options[:auth_token]}" }
315
+ end
302
316
  end
303
317
  end
304
318
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NexioActivemerchant
4
- VERSION = '0.2.0'
4
+ VERSION = '0.2.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexio_activemerchant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Whitespectre
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-02 00:00:00.000000000 Z
11
+ date: 2021-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant