tessitura_rest 1.2.7 → 1.2.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90ffb963c9467b1203beaa9b6093f891e9bf79ee134c7efc58d38427043b11ca
4
- data.tar.gz: bc8d23ef2d1e50ac3b23c15381d8da9d7af3d38217e507950116828d6ce76de0
3
+ metadata.gz: 1901164dcd7995a8ba886876dc5b7fa980735d1bd2905086eb2c4df41eabb80d
4
+ data.tar.gz: 8864e13f29025d57be84ccb3591e7c01e93fba6d6e70f4e4b8a17ac9e6d11455
5
5
  SHA512:
6
- metadata.gz: 226596a5293323d8ea0f258f3c1dab7ecc02f4d3365ee748bef566df33f08e93a54df3e2d87cff48f0b5a514fa225672be44fae288f93f4c2293af6854ef2b47
7
- data.tar.gz: cadb1830fd4197ffabd69364d8d99d293ca9c33040c4783e84d5dcc21c9d804a8e529a0f7832b913686af3f950ab8f7d200be5a8988efd22b0426da109d5a1bf
6
+ metadata.gz: 49f93e54b7c81a31c2a2ad5bab97f30ebf2568cb8f2d84ead203f7a7fa8148cc6098131e729d418dfc82f6d10c0251bfc4fff51053caa24a2e51a3431de06925
7
+ data.tar.gz: 51fab65616d9ae1066eb23fa6e91acf51a67f574620f729d8738bfd7dc20b97714fa58e7f860aad2d5f479a686a929a2632aad12522c0072ba09f8cec41349c4
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "tessitura"
3
+ require 'bundler/setup'
4
+ require 'tessitura'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "tessitura"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start
@@ -1,5 +1,5 @@
1
1
  module Email
2
- def send_login_credentials(template_id, email, profile_id, params = '', options = {})
2
+ def send_login_credentials(template_id, email, profile_id, _params = '', options = {})
3
3
  login_id = get_web_login(email, 1)
4
4
  return false if login_id.empty?
5
5
 
@@ -15,7 +15,7 @@ module Email
15
15
  post.success?
16
16
  end
17
17
 
18
- def send_order_confirmation(template_id, email, profile_id, order_id, params = '', options = {})
18
+ def send_order_confirmation(template_id, email, profile_id, order_id, _params = '', options = {})
19
19
  parameters =
20
20
  {
21
21
  'TemplateId': template_id,
@@ -0,0 +1,12 @@
1
+ module PaymentComponent
2
+ def fetch_payment_component(amount, constituent = 0, options = {})
3
+ parameters =
4
+ {
5
+ 'Amount': amount,
6
+ 'ConstituentId': constituent,
7
+ }
8
+ options.merge!(basic_auth: @auth, headers: @headers)
9
+ options.merge!(:body => parameters)
10
+ self.class.post(base_api_endpoint('PaymentGateway/PaymentComponent'), options)
11
+ end
12
+ end
@@ -0,0 +1,28 @@
1
+ module PaymentGateway
2
+ def authorize_payment(amount, payload, payment_id, return_url, options = {})
3
+ parameters = {
4
+ 'Amount': amount,
5
+ 'Card': {
6
+ 'TessituraMerchantServicesData': payload,
7
+ },
8
+ 'PaymentId': payment_id,
9
+ 'ConstituentId': 0, # TODO
10
+ 'TransactionOrigin': 'webapi',
11
+ 'PaymentMethodId': 606,
12
+ 'ReturnUrl': return_url,
13
+ }
14
+ options.merge!(basic_auth: @auth, headers: @headers)
15
+ options.merge!(:body => parameters)
16
+ self.class.post(base_api_endpoint('PaymentGateway/Authorization/Authorize'), options)
17
+ end
18
+
19
+ def finalize_payment(payload, payment_id, options = {})
20
+ parameters = {
21
+ 'PaymentId': payment_id,
22
+ 'RedirectResult': payload,
23
+ }
24
+ options.merge!(basic_auth: @auth, headers: @headers)
25
+ options.merge!(:body => parameters)
26
+ self.class.post(base_api_endpoint('PaymentGateway/Authorization/Finalize'), options)
27
+ end
28
+ end
@@ -1,7 +1,16 @@
1
1
  module Payments
2
- def get_on_account_balance(current_user, payment_method_id, options = {})
2
+ def get_on_account_balance(_current_user, _payment_method_id, options = {})
3
3
  options.merge!(basic_auth: @auth, headers: @headers)
4
- response = self.class.get(base_api_endpoint("TXN/Payments/OnAccount?constituentId=#{current_user}&paymentMethodId=#{payment_method_id}"), options)
4
+ response = self.class.get(base_api_endpoint("TXN/Payments/OnAccount?constituentId=#{_current_user}&paymentMethodId=#{_payment_method_id}"), options)
5
5
  JSON.parse(response.body)
6
6
  end
7
+
8
+ def reserve_payment_id(options = {})
9
+ parameters = {
10
+ 'Increment': 1,
11
+ }
12
+ options.merge!(basic_auth: @auth, headers: @headers)
13
+ options.merge!(:body => parameters)
14
+ self.class.post(base_api_endpoint('TXN/Payments/ReserveIds'), options)
15
+ end
7
16
  end
@@ -1,3 +1,3 @@
1
1
  class TessituraRest
2
- VERSION = '1.2.7'.freeze
2
+ VERSION = '1.2.8'.freeze
3
3
  end
@@ -297,7 +297,24 @@ module Cart
297
297
  self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Checkout"), options)
298
298
  end
299
299
 
300
- def checkout_with_zip(session_key, name_on_card, credit_card_number, cvv_number, credit_card_type, expiration_month, expiration_year, zip_code, is_order_authorized, order_authorization_code, order_amount, allow_under_payment, options = {})
300
+ def checkout_with_tms(session_key, order_authorization_code, order_amount, allow_under_payment, payment_method_id, payment_reference, options = {})
301
+ parameters =
302
+ {
303
+ 'CreditCardType': payment_method_id,
304
+ 'Amount': order_amount,
305
+ 'AllowUnderPayment': allow_under_payment,
306
+ 'Authorize': false,
307
+ 'ECommerce': true,
308
+ 'AuthorizationCode': order_authorization_code,
309
+ 'PaymentReference': payment_reference,
310
+ }
311
+ options.merge!(basic_auth: @auth, headers: @headers)
312
+ options.merge!(:body => parameters.to_json, :headers => { 'Content-Type' => 'application/json' })
313
+ self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Checkout"), options)
314
+ end
315
+
316
+ def checkout_with_zip(session_key, name_on_card, credit_card_number, cvv_number, credit_card_type, expiration_month, expiration_year, zip_code, is_order_authorized, order_authorization_code, order_amount, allow_under_payment,
317
+ options = {})
301
318
  parameters =
302
319
  {
303
320
  'CreditCardOwner': name_on_card,
@@ -24,6 +24,8 @@ class TessituraRest
24
24
  include Orders
25
25
  include Package
26
26
  include Payments
27
+ include PaymentComponent
28
+ include PaymentGateway
27
29
  include PaymentPlanExtension
28
30
  include PerformanceExtension
29
31
  include PerformancePackageModeOfSales
@@ -41,7 +43,7 @@ class TessituraRest
41
43
  include WebContents
42
44
  include WebLogins
43
45
 
44
- def initialize(options = {})
46
+ def initialize(_options = {})
45
47
  @auth = { username: ENV.fetch('TESSITURA_USERNAME'),
46
48
  password: ENV.fetch('TESSITURA_PASSWORD') }
47
49
  @headers = { 'Accept': 'application/json' }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tessitura_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.7
4
+ version: 1.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brittany Martin, Danielle Greaves, Craig Donavin, Patrick FitzGerald
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-12 00:00:00.000000000 Z
11
+ date: 2023-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -144,6 +144,8 @@ files:
144
144
  - lib/tessitura_rest/diagnostics/diagnostics.rb
145
145
  - lib/tessitura_rest/finance/appeals.rb
146
146
  - lib/tessitura_rest/finance/gift_certificates.rb
147
+ - lib/tessitura_rest/payment_gateway/payment_component.rb
148
+ - lib/tessitura_rest/payment_gateway/payment_gateway.rb
147
149
  - lib/tessitura_rest/reference_data/billing_schedules.rb
148
150
  - lib/tessitura_rest/reference_data/countries.rb
149
151
  - lib/tessitura_rest/reference_data/sections.rb