genesis_ruby 0.1.2 → 0.1.4
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 +4 -4
- data/CHANGELOG.md +26 -0
- data/Gemfile.lock +4 -1
- data/README.md +2 -0
- data/Rakefile +15 -3
- data/VERSION +1 -1
- data/genesis_ruby.gemspec +1 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/amount_types.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/frequencies.rb +56 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/intervals.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/modes.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/payment_types.rb +30 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_versions.rb +22 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/account_owner_attributes.rb +53 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb +54 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb +90 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes.rb +78 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/common_attributes.rb +1 -1
- data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +6 -2
- data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +4 -2
- data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +5 -1
- data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +4 -2
- data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +5 -1
- data/lib/genesis_ruby/api/requests/wpf/create.rb +3 -13
- data/lib/genesis_ruby/version.rb +1 -1
- metadata +26 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 02dff613f2499bed46dee4d66d10fb64ea987d663d14e1097bb6ab36a444336a
         | 
| 4 | 
            +
              data.tar.gz: bc89246c16d0b2e5b70dbd11c2b35421874ec749e0e6dd2926135850bf37faa7
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8eacfb3b669fee18642bbeadb3d291ee4e8fd18e45fd45486c954646f3dc7f1cc146321b64cfef6d8bdce9a91c58e13d6e3a4c4a44eb71154a366d54a58a5e6c
         | 
| 7 | 
            +
              data.tar.gz: 7d8eff36538c46f41671c90d71af6af9d8d432c52ddb2238a5b64699956be0a9eabf68fd19c52a03e2310738ce9eb6f918d1c4b1d12dd23c06265cb2c0d7cb2b
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,29 @@ | |
| 1 | 
            +
            0.1.4
         | 
| 2 | 
            +
            -----
         | 
| 3 | 
            +
            **Features**:
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * Added Account Owner attributes support to the following transaction requests:
         | 
| 6 | 
            +
              * Authorize
         | 
| 7 | 
            +
              * Authorize 3D
         | 
| 8 | 
            +
              * Sale
         | 
| 9 | 
            +
              * Sale 3D
         | 
| 10 | 
            +
              * Web Payment Form
         | 
| 11 | 
            +
            * Added MPI attributes support to the following transaction requests:
         | 
| 12 | 
            +
              * Authorize 3D
         | 
| 13 | 
            +
              * Sale 3D
         | 
| 14 | 
            +
            * Removed Recurring Type attribute from Web Payment Form transaction request
         | 
| 15 | 
            +
            * Added Managed Recurring attributes support to the following transaction requests:
         | 
| 16 | 
            +
              * Authorize
         | 
| 17 | 
            +
              * Authorize 3D
         | 
| 18 | 
            +
              * Sale
         | 
| 19 | 
            +
              * Sale 3D
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            0.1.3
         | 
| 22 | 
            +
            -----
         | 
| 23 | 
            +
            **Fixes**:
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            * Fixed 3DSv2 Method element name in the XML document
         | 
| 26 | 
            +
             | 
| 1 27 | 
             
            0.1.2
         | 
| 2 28 | 
             
            -----
         | 
| 3 29 | 
             
            **Features**:
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                genesis_ruby (0.1. | 
| 4 | 
            +
                genesis_ruby (0.1.4)
         | 
| 5 5 | 
             
                  net-http (~> 0.3.2)
         | 
| 6 6 | 
             
                  nokogiri (~> 1.14)
         | 
| 7 7 |  | 
| @@ -86,6 +86,8 @@ GEM | |
| 86 86 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 87 87 | 
             
                  rspec-support (~> 3.12.0)
         | 
| 88 88 | 
             
                rspec-support (3.12.1)
         | 
| 89 | 
            +
                rspec_junit_formatter (0.6.0)
         | 
| 90 | 
            +
                  rspec-core (>= 2, < 4, != 2.12.0)
         | 
| 89 91 | 
             
                rubocop (1.57.2)
         | 
| 90 92 | 
             
                  json (~> 2.3)
         | 
| 91 93 | 
             
                  language_server-protocol (>= 3.17.0)
         | 
| @@ -147,6 +149,7 @@ DEPENDENCIES | |
| 147 149 | 
             
              pronto-rubocop (~> 0.11)
         | 
| 148 150 | 
             
              rake (~> 13.0)
         | 
| 149 151 | 
             
              rspec (~> 3.0)
         | 
| 152 | 
            +
              rspec_junit_formatter (~> 0.6)
         | 
| 150 153 | 
             
              rubocop (~> 1.21)
         | 
| 151 154 | 
             
              rubocop-faker (~> 1.1)
         | 
| 152 155 | 
             
              rubocop-rspec (~> 2.13)
         | 
    
        data/README.md
    CHANGED
    
    | @@ -67,6 +67,8 @@ begin | |
| 67 67 | 
             
                request.add_transaction_type('authorize3d')
         | 
| 68 68 | 
             
                # Transaction Type with Customer Attribute 
         | 
| 69 69 | 
             
                request.add_transaction_type('sale3d', { bin: '420000' })
         | 
| 70 | 
            +
                # Transaction Type with Recurring V2
         | 
| 71 | 
            +
                request.add_transaction_type('sale3d', { recurring_type: GenesisRuby::Api::Constants::Transactions::Parameters::Recurring::Types::INITIAL })
         | 
| 70 72 |  | 
| 71 73 | 
             
                # Tokenization Attributes
         | 
| 72 74 | 
             
                request.consumer_id   = '123456789'
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -2,11 +2,23 @@ require 'bundler/gem_tasks' | |
| 2 2 | 
             
            require 'rspec/core/rake_task'
         | 
| 3 3 |  | 
| 4 4 | 
             
            RSpec::Core::RakeTask.new(:spec)
         | 
| 5 | 
            +
            RSpec::Core::RakeTask.new(:spec_junit) do |t|
         | 
| 6 | 
            +
              t.rspec_opts = ['--format RspecJunitFormatter', '--out rspec_report.xml']
         | 
| 7 | 
            +
              t.pattern    = '**/*_spec.rb'
         | 
| 8 | 
            +
            end
         | 
| 5 9 |  | 
| 6 10 | 
             
            require 'rubocop/rake_task'
         | 
| 7 11 |  | 
| 12 | 
            +
            RuboCop::RakeTask.new(:rubocop_default)
         | 
| 13 | 
            +
            RuboCop::RakeTask.new(:rubocop_progress) do |t|
         | 
| 14 | 
            +
              t.formatters = %w(progress)
         | 
| 15 | 
            +
              t.options    = %w(--out rubocop_report.txt)
         | 
| 16 | 
            +
            end
         | 
| 17 | 
            +
             | 
| 8 18 | 
             
            RuboCop::RakeTask.new
         | 
| 9 19 |  | 
| 10 | 
            -
            task default: | 
| 11 | 
            -
            task test: | 
| 12 | 
            -
            task styles: | 
| 20 | 
            +
            task default:        %w(spec rubocop_default)
         | 
| 21 | 
            +
            task test:           :spec
         | 
| 22 | 
            +
            task styles:         :rubocop_default
         | 
| 23 | 
            +
            task test_junit:     :spec_junit
         | 
| 24 | 
            +
            task style_progress: :rubocop_progress
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.1. | 
| 1 | 
            +
            0.1.4
         | 
    
        data/genesis_ruby.gemspec
    CHANGED
    
    | @@ -38,6 +38,7 @@ Gem::Specification.new do |spec| | |
| 38 38 | 
             
              spec.add_development_dependency 'pronto-rubocop', '~> 0.11'
         | 
| 39 39 | 
             
              spec.add_development_dependency 'rake', '~> 13.0'
         | 
| 40 40 | 
             
              spec.add_development_dependency 'rspec', '~> 3.0'
         | 
| 41 | 
            +
              spec.add_development_dependency 'rspec_junit_formatter', '~> 0.6'
         | 
| 41 42 | 
             
              spec.add_development_dependency 'rubocop', '~> 1.21'
         | 
| 42 43 | 
             
              spec.add_development_dependency 'rubocop-faker', '~> 1.1'
         | 
| 43 44 | 
             
              spec.add_development_dependency 'rubocop-rspec', '~> 2.13'
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            module GenesisRuby
         | 
| 2 | 
            +
              module Api
         | 
| 3 | 
            +
                module Constants
         | 
| 4 | 
            +
                  module Transactions
         | 
| 5 | 
            +
                    module Parameters
         | 
| 6 | 
            +
                      module ManagedRecurring
         | 
| 7 | 
            +
                        # Amount Type of the current recurring transaction. Values: fixed, max
         | 
| 8 | 
            +
                        class AmountTypes
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                          extend Mixins::Constants::Common
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                          # Amount Type FIXED
         | 
| 13 | 
            +
                          FIXED = 'fixed'.freeze
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                          # Amount Type MAX
         | 
| 16 | 
            +
                          MAX   = 'MAX'.freeze
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                        end
         | 
| 19 | 
            +
                      end
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
| @@ -0,0 +1,56 @@ | |
| 1 | 
            +
            module GenesisRuby
         | 
| 2 | 
            +
              module Api
         | 
| 3 | 
            +
                module Constants
         | 
| 4 | 
            +
                  module Transactions
         | 
| 5 | 
            +
                    module Parameters
         | 
| 6 | 
            +
                      module ManagedRecurring
         | 
| 7 | 
            +
                        # Frequencies of the Frequency of the subsequent transactions.
         | 
| 8 | 
            +
                        # Values: daily, twice_weekly, weekly, ten_days, fortnightly, monthly, every_two_months, trimester,
         | 
| 9 | 
            +
                        # quarterly, twice_yearly, annually, unscheduled
         | 
| 10 | 
            +
                        class Frequencies
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                          extend Mixins::Constants::Common
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                          # Frequency DAILY
         | 
| 15 | 
            +
                          DAILY            = 'daily'.freeze
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                          # Frequency TWICE_WEEKLY
         | 
| 18 | 
            +
                          TWICE_WEEKLY     = 'twice_weekly'.freeze
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                          # Frequency WEEKLY
         | 
| 21 | 
            +
                          WEEKLY           = 'weekly'.freeze
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                          # Frequency TEN DAYS
         | 
| 24 | 
            +
                          TEN_DAYS         = 'ten_days'.freeze
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                          # Frequency FORTNIGHTLY
         | 
| 27 | 
            +
                          FORTNIGHTLY      = 'fortnightly'.freeze
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                          # Frequency MONTHLY
         | 
| 30 | 
            +
                          MONTHLY          = 'monthly'.freeze
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                          # Frequency EVERY TWO MONTHS
         | 
| 33 | 
            +
                          EVERY_TWO_MONTHS = 'every_two_months'.freeze
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                          # Frequency TRIMESTER
         | 
| 36 | 
            +
                          TRIMESTER        = 'trimester'.freeze
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                          # Frequency QUARTERLY
         | 
| 39 | 
            +
                          QUARTERLY        = 'quarterly'.freeze
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                          # Frequency TWICE YEARLY
         | 
| 42 | 
            +
                          TWICE_YEARLY     = 'twice_yearly'.freeze
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                          # Frequency ANNUALLY
         | 
| 45 | 
            +
                          ANNUALLY         = 'annually'.freeze
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                          # Frequency UNSCHEDULED
         | 
| 48 | 
            +
                          UNSCHEDULED      = 'unscheduled'.freeze
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                        end
         | 
| 51 | 
            +
                      end
         | 
| 52 | 
            +
                    end
         | 
| 53 | 
            +
                  end
         | 
| 54 | 
            +
                end
         | 
| 55 | 
            +
              end
         | 
| 56 | 
            +
            end
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            module GenesisRuby
         | 
| 2 | 
            +
              module Api
         | 
| 3 | 
            +
                module Constants
         | 
| 4 | 
            +
                  module Transactions
         | 
| 5 | 
            +
                    module Parameters
         | 
| 6 | 
            +
                      module ManagedRecurring
         | 
| 7 | 
            +
                        # The interval type for the period: days or months. The default value is days
         | 
| 8 | 
            +
                        class Intervals
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                          extend Mixins::Constants::Common
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                          # Interval DAYS
         | 
| 13 | 
            +
                          DAYS   = 'days'.freeze
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                          # Interval MONTHS
         | 
| 16 | 
            +
                          MONTHS = 'months'.freeze
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                        end
         | 
| 19 | 
            +
                      end
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            module GenesisRuby
         | 
| 2 | 
            +
              module Api
         | 
| 3 | 
            +
                module Constants
         | 
| 4 | 
            +
                  module Transactions
         | 
| 5 | 
            +
                    module Parameters
         | 
| 6 | 
            +
                      module ManagedRecurring
         | 
| 7 | 
            +
                        # Modes indicates whether merchant will manage manual or automatic recurring transactions
         | 
| 8 | 
            +
                        class Modes
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                          extend Mixins::Constants::Common
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                          # Mode AUTOMATIC
         | 
| 13 | 
            +
                          AUTOMATIC = 'automatic'.freeze
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                          # Mode MANUAL
         | 
| 16 | 
            +
                          MANUAL    = 'manual'.freeze
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                        end
         | 
| 19 | 
            +
                      end
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
    
        data/lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/payment_types.rb
    ADDED
    
    | @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            module GenesisRuby
         | 
| 2 | 
            +
              module Api
         | 
| 3 | 
            +
                module Constants
         | 
| 4 | 
            +
                  module Transactions
         | 
| 5 | 
            +
                    module Parameters
         | 
| 6 | 
            +
                      module ManagedRecurring
         | 
| 7 | 
            +
                        # Payment Type of the current recurring transaction. Values: initial, subsequent, modification, cancellation
         | 
| 8 | 
            +
                        class PaymentTypes
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                          extend Mixins::Constants::Common
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                          # Payment Type INITIAL
         | 
| 13 | 
            +
                          INITIAL      = 'initial'.freeze
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                          # Payment Type SUBSEQUENT
         | 
| 16 | 
            +
                          SUBSEQUENT   = 'subsequent'.freeze
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                          # Payment Type MODIFICATION
         | 
| 19 | 
            +
                          MODIFICATION = 'modification'.freeze
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                          # Payment Type CANCELLATION
         | 
| 22 | 
            +
                          CANCELLATION = 'cancellation'.freeze
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                        end
         | 
| 25 | 
            +
                      end
         | 
| 26 | 
            +
                    end
         | 
| 27 | 
            +
                  end
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
            end
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            module GenesisRuby
         | 
| 2 | 
            +
              module Api
         | 
| 3 | 
            +
                module Constants
         | 
| 4 | 
            +
                  module Transactions
         | 
| 5 | 
            +
                    module Parameters
         | 
| 6 | 
            +
                      # Mpi Protocol Versions allowed values
         | 
| 7 | 
            +
                      class MpiProtocolVersions
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                        extend Mixins::Constants::Common
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                        # 3DSv1, Type of Protocol Version - 1
         | 
| 12 | 
            +
                        PROTOCOL_VERSION_1 = 1
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                        # 3DSv2, Type of Protocol Version - 2
         | 
| 15 | 
            +
                        PROTOCOL_VERSION_2 = 2
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                      end
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
            end
         | 
| @@ -0,0 +1,53 @@ | |
| 1 | 
            +
            module GenesisRuby
         | 
| 2 | 
            +
              module Api
         | 
| 3 | 
            +
                module Mixins
         | 
| 4 | 
            +
                  module Requests
         | 
| 5 | 
            +
                    module Financial
         | 
| 6 | 
            +
                      module Cards
         | 
| 7 | 
            +
                        # Account Owner Attributes mixin
         | 
| 8 | 
            +
                        module AccountOwnerAttributes
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                          ACCOUNT_NAME_LENGTH = 35
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                          attr_reader :account_first_name, :account_middle_name, :account_last_name
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                          # Account owner's first name.
         | 
| 15 | 
            +
                          def account_first_name=(value)
         | 
| 16 | 
            +
                            account_accessor __method__, value
         | 
| 17 | 
            +
                          end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                          # Account owner's middle name.
         | 
| 20 | 
            +
                          def account_middle_name=(value)
         | 
| 21 | 
            +
                            account_accessor __method__, value
         | 
| 22 | 
            +
                          end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                          # Account owner's last name.
         | 
| 25 | 
            +
                          def account_last_name=(value)
         | 
| 26 | 
            +
                            account_accessor __method__, value
         | 
| 27 | 
            +
                          end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                          protected
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                          # Tokenization Attributes Structure
         | 
| 32 | 
            +
                          def account_owner_attributes_structure
         | 
| 33 | 
            +
                            {
         | 
| 34 | 
            +
                              first_name:  account_first_name,
         | 
| 35 | 
            +
                              middle_name: account_middle_name,
         | 
| 36 | 
            +
                              last_name:   account_last_name
         | 
| 37 | 
            +
                            }
         | 
| 38 | 
            +
                          end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                          private
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                          # Account accessor common method
         | 
| 43 | 
            +
                          def account_accessor(method, value)
         | 
| 44 | 
            +
                            limited_string attribute: method, value: value.to_s, max: ACCOUNT_NAME_LENGTH
         | 
| 45 | 
            +
                          end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                        end
         | 
| 48 | 
            +
                      end
         | 
| 49 | 
            +
                    end
         | 
| 50 | 
            +
                  end
         | 
| 51 | 
            +
                end
         | 
| 52 | 
            +
              end
         | 
| 53 | 
            +
            end
         | 
| @@ -0,0 +1,54 @@ | |
| 1 | 
            +
            require 'genesis_ruby/api/constants/transactions/parameters/mpi_protocol_versions'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module GenesisRuby
         | 
| 4 | 
            +
              module Api
         | 
| 5 | 
            +
                module Mixins
         | 
| 6 | 
            +
                  module Requests
         | 
| 7 | 
            +
                    module Financial
         | 
| 8 | 
            +
                      module Cards
         | 
| 9 | 
            +
                        # Mixin Mpi Attributes
         | 
| 10 | 
            +
                        module MpiAttributes
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                          attr_reader :mpi_threeds_challenge_indicator, :mpi_protocol_version
         | 
| 13 | 
            +
                          attr_accessor :mpi_cavv, :mpi_eci, :mpi_xid, :mpi_directory_server_id,
         | 
| 14 | 
            +
                                        :mpi_asc_transaction_id
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                          # The used 3DS protocol version. Default is 1 if not supplied.
         | 
| 17 | 
            +
                          def mpi_protocol_version=(value)
         | 
| 18 | 
            +
                            allowed_options(
         | 
| 19 | 
            +
                              attribute:   __method__,
         | 
| 20 | 
            +
                              allowed:     GenesisRuby::Api::Constants::Transactions::Parameters::MpiProtocolVersions.all,
         | 
| 21 | 
            +
                              value:       value.to_i,
         | 
| 22 | 
            +
                              allow_empty: true
         | 
| 23 | 
            +
                            )
         | 
| 24 | 
            +
                          end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                          # Optional value for 3DS challenge indicator. Highly recommended to increase approve ratio.
         | 
| 27 | 
            +
                          def mpi_threeds_challenge_indicator=(value)
         | 
| 28 | 
            +
                            allowed_indicators = GenesisRuby::Api::Constants::Transactions::Parameters::Threeds::Version2::
         | 
| 29 | 
            +
                                Control::ChallengeIndicators.all
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                            allowed_options attribute: __method__, allowed: allowed_indicators, value: value, allow_empty: true
         | 
| 32 | 
            +
                          end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                          protected
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                          # Mpi Attributes Structure
         | 
| 37 | 
            +
                          def mpi_attributes_structure
         | 
| 38 | 
            +
                            {
         | 
| 39 | 
            +
                              eci:                         mpi_eci,
         | 
| 40 | 
            +
                              cavv:                        mpi_cavv,
         | 
| 41 | 
            +
                              protocol_version:            mpi_protocol_version,
         | 
| 42 | 
            +
                              directory_server_id:         mpi_directory_server_id,
         | 
| 43 | 
            +
                              acs_transaction_id:          mpi_asc_transaction_id,
         | 
| 44 | 
            +
                              threeds_challenge_indicator: mpi_threeds_challenge_indicator
         | 
| 45 | 
            +
                            }
         | 
| 46 | 
            +
                          end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                        end
         | 
| 49 | 
            +
                      end
         | 
| 50 | 
            +
                    end
         | 
| 51 | 
            +
                  end
         | 
| 52 | 
            +
                end
         | 
| 53 | 
            +
              end
         | 
| 54 | 
            +
            end
         | 
    
        data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb
    ADDED
    
    | @@ -0,0 +1,90 @@ | |
| 1 | 
            +
            require 'genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module GenesisRuby
         | 
| 4 | 
            +
              module Api
         | 
| 5 | 
            +
                module Mixins
         | 
| 6 | 
            +
                  module Requests
         | 
| 7 | 
            +
                    module Financial
         | 
| 8 | 
            +
                      module Cards
         | 
| 9 | 
            +
                        module Recurring
         | 
| 10 | 
            +
                          # Managed Recurring provides the option to automatically schedule recurring transactions for
         | 
| 11 | 
            +
                          # a specific day and time. Managed Recurring is available after additional configuration.
         | 
| 12 | 
            +
                          module ManagedRecurringAttributes
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                            include Recurring::ManagedRecurringIndianCardAttributes
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                            attr_reader :managed_recurring_mode, :managed_recurring_interval, :managed_recurring_time_of_day,
         | 
| 17 | 
            +
                                        :managed_recurring_period, :managed_recurring_max_count
         | 
| 18 | 
            +
                            attr_accessor :managed_recurring_amount
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                            # This indicates that the gateway will automatically manage the subsequent recurring transactions.
         | 
| 21 | 
            +
                            def managed_recurring_mode=(value)
         | 
| 22 | 
            +
                              allowed_options attribute: __method__,
         | 
| 23 | 
            +
                                              allowed:   GenesisRuby::Api::Constants::Transactions::Parameters::ManagedRecurring::
         | 
| 24 | 
            +
                                                  Modes.all,
         | 
| 25 | 
            +
                                              value:     value
         | 
| 26 | 
            +
                            end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                            # The interval type for the period: days or months. The default value is days
         | 
| 29 | 
            +
                            def managed_recurring_interval=(value)
         | 
| 30 | 
            +
                              allowed_options attribute:   __method__,
         | 
| 31 | 
            +
                                              allowed:     GenesisRuby::Api::Constants::Transactions::Parameters::ManagedRecurring::
         | 
| 32 | 
            +
                                                  Intervals.all,
         | 
| 33 | 
            +
                                              value:       value,
         | 
| 34 | 
            +
                                              allow_empty: true
         | 
| 35 | 
            +
                            end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                            # Specifies the date of the first recurring event in the future
         | 
| 38 | 
            +
                            # default value is date of creation + period.
         | 
| 39 | 
            +
                            def managed_recurring_first_date
         | 
| 40 | 
            +
                              @managed_recurring_first_date&.strftime(
         | 
| 41 | 
            +
                                GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_ISO_8601
         | 
| 42 | 
            +
                              )
         | 
| 43 | 
            +
                            end
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                            # Specifies the date of the first recurring event in the future
         | 
| 46 | 
            +
                            # default value is date of creation + period.
         | 
| 47 | 
            +
                            def managed_recurring_first_date=(value)
         | 
| 48 | 
            +
                              parse_date attribute: __method__, value: value, allow_empty: true
         | 
| 49 | 
            +
                            end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                            # Specifies the UTC hour in the day for the execution of the recurring transaction, default value 0
         | 
| 52 | 
            +
                            def managed_recurring_time_of_day=(value)
         | 
| 53 | 
            +
                              parse_int attribute: __method__, value: value, allow_empty: true
         | 
| 54 | 
            +
                            end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                            # Rebill period in days(30) or months(12).
         | 
| 57 | 
            +
                            def managed_recurring_period=(value)
         | 
| 58 | 
            +
                              parse_int attribute: __method__, value: value, allow_empty: true
         | 
| 59 | 
            +
                            end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                            # Maximum number of times a recurring will occur. Omit this parameter for unlimited recurring
         | 
| 62 | 
            +
                            def managed_recurring_max_count=(value)
         | 
| 63 | 
            +
                              parse_int attribute: __method__, value: value, allow_empty: true
         | 
| 64 | 
            +
                            end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                            protected
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                            # Managed Recurring attributes structure
         | 
| 69 | 
            +
                            def managed_recurring_attributes_structure
         | 
| 70 | 
            +
                              amount = managed_recurring_amount
         | 
| 71 | 
            +
             | 
| 72 | 
            +
                              {
         | 
| 73 | 
            +
                                mode:        managed_recurring_mode,
         | 
| 74 | 
            +
                                interval:    managed_recurring_interval,
         | 
| 75 | 
            +
                                first_date:  managed_recurring_first_date,
         | 
| 76 | 
            +
                                time_of_day: managed_recurring_time_of_day,
         | 
| 77 | 
            +
                                period:      managed_recurring_period,
         | 
| 78 | 
            +
                                amount:      amount.nil? ? nil : Utils::MoneyFormat.amount_to_exponent(amount, currency),
         | 
| 79 | 
            +
                                max_count:   managed_recurring_max_count
         | 
| 80 | 
            +
                              }.merge managed_recurring_indian_card_attributes_structure
         | 
| 81 | 
            +
                            end
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                          end
         | 
| 84 | 
            +
                        end
         | 
| 85 | 
            +
                      end
         | 
| 86 | 
            +
                    end
         | 
| 87 | 
            +
                  end
         | 
| 88 | 
            +
                end
         | 
| 89 | 
            +
              end
         | 
| 90 | 
            +
            end
         | 
| @@ -0,0 +1,78 @@ | |
| 1 | 
            +
            module GenesisRuby
         | 
| 2 | 
            +
              module Api
         | 
| 3 | 
            +
                module Mixins
         | 
| 4 | 
            +
                  module Requests
         | 
| 5 | 
            +
                    module Financial
         | 
| 6 | 
            +
                      module Cards
         | 
| 7 | 
            +
                        module Recurring
         | 
| 8 | 
            +
                          # Recurring transactions with cards issued in India are subject to special rules. Prior to requesting the
         | 
| 9 | 
            +
                          # recurring transaction, the merchant should register the recurring agreement as per the Reserve bank of
         | 
| 10 | 
            +
                          # India (RBI) regulations.
         | 
| 11 | 
            +
                          module ManagedRecurringIndianCardAttributes
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                            attr_reader :managed_recurring_payment_type, :managed_recurring_amount_type,
         | 
| 14 | 
            +
                                        :managed_recurring_frequency, :managed_recurring_validated
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                            attr_accessor :managed_recurring_registration_reference_number, :managed_recurring_max_amount
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                            # Payment Type of the current recurring transaction
         | 
| 19 | 
            +
                            def managed_recurring_payment_type=(value)
         | 
| 20 | 
            +
                              allowed_options attribute:   __method__,
         | 
| 21 | 
            +
                                              allowed:     GenesisRuby::Api::Constants::Transactions::Parameters::ManagedRecurring::
         | 
| 22 | 
            +
                                                PaymentTypes.all,
         | 
| 23 | 
            +
                                              value:       value.to_s,
         | 
| 24 | 
            +
                                              allow_empty: true
         | 
| 25 | 
            +
                            end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                            # Amount Type of the current recurring transaction
         | 
| 28 | 
            +
                            def managed_recurring_amount_type=(value)
         | 
| 29 | 
            +
                              allowed_options attribute:   __method__,
         | 
| 30 | 
            +
                                              allowed:     GenesisRuby::Api::Constants::Transactions::Parameters::ManagedRecurring::
         | 
| 31 | 
            +
                                                  AmountTypes.all,
         | 
| 32 | 
            +
                                              value:       value.to_s,
         | 
| 33 | 
            +
                                              allow_empty: true
         | 
| 34 | 
            +
                            end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                            # Frequencies of the Frequency of the subsequent transactions
         | 
| 37 | 
            +
                            def managed_recurring_frequency=(value)
         | 
| 38 | 
            +
                              allowed_options attribute:   __method__,
         | 
| 39 | 
            +
                                              allowed:     GenesisRuby::Api::Constants::Transactions::Parameters::ManagedRecurring::
         | 
| 40 | 
            +
                                                Frequencies.all,
         | 
| 41 | 
            +
                                              value:       value.to_s,
         | 
| 42 | 
            +
                                              allow_empty: true
         | 
| 43 | 
            +
                            end
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                            # Indicates if the current transaction is valid as per the registered agreement. Values: true, false
         | 
| 46 | 
            +
                            def managed_recurring_validated=(value)
         | 
| 47 | 
            +
                              allowed_options attribute:     __method__,
         | 
| 48 | 
            +
                                              allowed:       [true, false],
         | 
| 49 | 
            +
                                              value:         value,
         | 
| 50 | 
            +
                                              allow_empty:   true,
         | 
| 51 | 
            +
                                              error_message: 'Accepts only boolean values'
         | 
| 52 | 
            +
                            end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                            protected
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                            # Managed Recurring Indian Card attributes structure
         | 
| 57 | 
            +
                            def managed_recurring_indian_card_attributes_structure
         | 
| 58 | 
            +
                              max_amount = managed_recurring_max_amount
         | 
| 59 | 
            +
                              amount     = max_amount.nil? ? nil : Utils::MoneyFormat.amount_to_exponent(max_amount, currency)
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                              {
         | 
| 62 | 
            +
                                payment_type:                  managed_recurring_payment_type,
         | 
| 63 | 
            +
                                amount_type:                   managed_recurring_amount_type,
         | 
| 64 | 
            +
                                frequency:                     managed_recurring_frequency,
         | 
| 65 | 
            +
                                registration_reference_number: managed_recurring_registration_reference_number,
         | 
| 66 | 
            +
                                max_amount:                    amount,
         | 
| 67 | 
            +
                                validated:                     managed_recurring_validated || nil
         | 
| 68 | 
            +
                              }
         | 
| 69 | 
            +
                            end
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                          end
         | 
| 72 | 
            +
                        end
         | 
| 73 | 
            +
                      end
         | 
| 74 | 
            +
                    end
         | 
| 75 | 
            +
                  end
         | 
| 76 | 
            +
                end
         | 
| 77 | 
            +
              end
         | 
| 78 | 
            +
            end
         | 
| @@ -31,7 +31,7 @@ module GenesisRuby | |
| 31 31 | 
             
                            # Threeds V2 Web Payment Form Attributes
         | 
| 32 32 | 
             
                            def threeds_v2_common_attributes_structure
         | 
| 33 33 | 
             
                              {
         | 
| 34 | 
            -
                                 | 
| 34 | 
            +
                                threeds_method:      method_attributes,
         | 
| 35 35 | 
             
                                control:             control_attributes,
         | 
| 36 36 | 
             
                                purchase:            purchase_attributes,
         | 
| 37 37 | 
             
                                merchant_risk:       merchant_risk_attributes,
         | 
| @@ -6,15 +6,19 @@ module GenesisRuby | |
| 6 6 | 
             
                      # Base Class used for all transaction request containing Credit Card data
         | 
| 7 7 | 
             
                      class CreditCard < GenesisRuby::Api::Requests::Base::Financial
         | 
| 8 8 |  | 
| 9 | 
            -
                        include Mixins::Requests::Financial:: | 
| 9 | 
            +
                        include Mixins::Requests::Financial::Cards::AccountOwnerAttributes
         | 
| 10 10 | 
             
                        include Mixins::Requests::Financial::Cards::CreditCardAttributes
         | 
| 11 11 | 
             
                        include Mixins::Requests::Financial::Cards::TokenizationAttributes
         | 
| 12 | 
            +
                        include Mixins::Requests::Financial::PaymentAttributes
         | 
| 12 13 |  | 
| 13 14 | 
             
                        protected
         | 
| 14 15 |  | 
| 15 16 | 
             
                        # Credit Card attributes
         | 
| 16 17 | 
             
                        def payment_transaction_structure
         | 
| 17 | 
            -
                          payment_attributes_structure.merge | 
| 18 | 
            +
                          payment_attributes_structure.merge(
         | 
| 19 | 
            +
                            credit_card_attributes_structure, tokenization_attributes_structure,
         | 
| 20 | 
            +
                            { account_owner: account_owner_attributes_structure }
         | 
| 21 | 
            +
                          )
         | 
| 18 22 | 
             
                        end
         | 
| 19 23 |  | 
| 20 24 | 
             
                      end
         | 
| @@ -13,6 +13,7 @@ module GenesisRuby | |
| 13 13 | 
             
                        include Mixins::Requests::DocumentAttributes
         | 
| 14 14 | 
             
                        include Mixins::Requests::Financial::Business::BusinessAttributes
         | 
| 15 15 | 
             
                        include Mixins::Requests::Financial::Cards::FxRateAttributes
         | 
| 16 | 
            +
                        include Mixins::Requests::Financial::Cards::Recurring::ManagedRecurringAttributes
         | 
| 16 17 | 
             
                        include Mixins::Requests::Financial::Cards::Recurring::RecurringCategoryAttributes
         | 
| 17 18 | 
             
                        include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
         | 
| 18 19 | 
             
                        include Mixins::Requests::Financial::CryptoAttributes
         | 
| @@ -31,7 +32,7 @@ module GenesisRuby | |
| 31 32 | 
             
                          GenesisRuby::Api::Constants::Transactions::AUTHORIZE
         | 
| 32 33 | 
             
                        end
         | 
| 33 34 |  | 
| 34 | 
            -
                        def payment_transaction_structure # rubocop:disable Metrics/MethodLength
         | 
| 35 | 
            +
                        def payment_transaction_structure # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
         | 
| 35 36 | 
             
                          super.merge(
         | 
| 36 37 | 
             
                            gaming:                    gaming,
         | 
| 37 38 | 
             
                            moto:                      moto,
         | 
| @@ -48,7 +49,8 @@ module GenesisRuby | |
| 48 49 | 
             
                            business_attributes:       business_attributes_structure,
         | 
| 49 50 | 
             
                            recurring_type:            recurring_type,
         | 
| 50 51 | 
             
                            recurring_category:        recurring_category,
         | 
| 51 | 
            -
                            sca_params:                sca_attributes_structure
         | 
| 52 | 
            +
                            sca_params:                sca_attributes_structure,
         | 
| 53 | 
            +
                            managed_recurring:         managed_recurring_attributes_structure
         | 
| 52 54 | 
             
                          )
         | 
| 53 55 | 
             
                        end
         | 
| 54 56 |  | 
| @@ -14,6 +14,8 @@ module GenesisRuby | |
| 14 14 | 
             
                        include Mixins::Requests::Financial::AsyncAttributes
         | 
| 15 15 | 
             
                        include Mixins::Requests::Financial::Business::BusinessAttributes
         | 
| 16 16 | 
             
                        include Mixins::Requests::Financial::Cards::FxRateAttributes
         | 
| 17 | 
            +
                        include Mixins::Requests::Financial::Cards::MpiAttributes
         | 
| 18 | 
            +
                        include Mixins::Requests::Financial::Cards::Recurring::ManagedRecurringAttributes
         | 
| 17 19 | 
             
                        include Mixins::Requests::Financial::Cards::Recurring::RecurringCategoryAttributes
         | 
| 18 20 | 
             
                        include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
         | 
| 19 21 | 
             
                        include Mixins::Requests::Financial::CryptoAttributes
         | 
| @@ -58,13 +60,15 @@ module GenesisRuby | |
| 58 60 | 
             
                            fx_rate_id:                fx_rate_id,
         | 
| 59 61 | 
             
                            billing_address:           billing_address_parameters_structure,
         | 
| 60 62 | 
             
                            shipping_address:          shipping_address_parameters_structure,
         | 
| 63 | 
            +
                            mpi_params:                mpi_attributes_structure,
         | 
| 61 64 | 
             
                            risk_params:               risk_parameters_structure,
         | 
| 62 65 | 
             
                            dynamic_descriptor_params: dynamic_descriptor_structure,
         | 
| 63 66 | 
             
                            business_attributes:       business_attributes_structure,
         | 
| 64 67 | 
             
                            recurring_type:            recurring_type,
         | 
| 65 68 | 
             
                            recurring_category:        recurring_category,
         | 
| 66 69 | 
             
                            sca_params:                sca_attributes_structure,
         | 
| 67 | 
            -
                            threeds_v2_params:         threeds_v2_common_attributes_structure
         | 
| 70 | 
            +
                            threeds_v2_params:         threeds_v2_common_attributes_structure,
         | 
| 71 | 
            +
                            managed_recurring:         managed_recurring_attributes_structure
         | 
| 68 72 | 
             
                          )
         | 
| 69 73 | 
             
                        end
         | 
| 70 74 |  | 
| @@ -12,6 +12,7 @@ module GenesisRuby | |
| 12 12 | 
             
                        include Mixins::Requests::DocumentAttributes
         | 
| 13 13 | 
             
                        include Mixins::Requests::Financial::Business::BusinessAttributes
         | 
| 14 14 | 
             
                        include Mixins::Requests::Financial::Cards::FxRateAttributes
         | 
| 15 | 
            +
                        include Mixins::Requests::Financial::Cards::Recurring::ManagedRecurringAttributes
         | 
| 15 16 | 
             
                        include Mixins::Requests::Financial::Cards::Recurring::RecurringCategoryAttributes
         | 
| 16 17 | 
             
                        include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
         | 
| 17 18 | 
             
                        include Mixins::Requests::Financial::CryptoAttributes
         | 
| @@ -30,7 +31,7 @@ module GenesisRuby | |
| 30 31 | 
             
                          GenesisRuby::Api::Constants::Transactions::SALE
         | 
| 31 32 | 
             
                        end
         | 
| 32 33 |  | 
| 33 | 
            -
                        def payment_transaction_structure # rubocop:disable Metrics/MethodLength
         | 
| 34 | 
            +
                        def payment_transaction_structure # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
         | 
| 34 35 | 
             
                          super.merge(
         | 
| 35 36 | 
             
                            gaming:                    gaming,
         | 
| 36 37 | 
             
                            moto:                      moto,
         | 
| @@ -47,7 +48,8 @@ module GenesisRuby | |
| 47 48 | 
             
                            business_attributes:       business_attributes_structure,
         | 
| 48 49 | 
             
                            recurring_type:            recurring_type,
         | 
| 49 50 | 
             
                            recurring_category:        recurring_category,
         | 
| 50 | 
            -
                            sca_params:                sca_attributes_structure
         | 
| 51 | 
            +
                            sca_params:                sca_attributes_structure,
         | 
| 52 | 
            +
                            managed_recurring:         managed_recurring_attributes_structure
         | 
| 51 53 | 
             
                          )
         | 
| 52 54 | 
             
                        end
         | 
| 53 55 |  | 
| @@ -13,6 +13,8 @@ module GenesisRuby | |
| 13 13 | 
             
                        include Mixins::Requests::Financial::AsyncAttributes
         | 
| 14 14 | 
             
                        include Mixins::Requests::Financial::Business::BusinessAttributes
         | 
| 15 15 | 
             
                        include Mixins::Requests::Financial::Cards::FxRateAttributes
         | 
| 16 | 
            +
                        include Mixins::Requests::Financial::Cards::MpiAttributes
         | 
| 17 | 
            +
                        include Mixins::Requests::Financial::Cards::Recurring::ManagedRecurringAttributes
         | 
| 16 18 | 
             
                        include Mixins::Requests::Financial::Cards::Recurring::RecurringCategoryAttributes
         | 
| 17 19 | 
             
                        include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
         | 
| 18 20 | 
             
                        include Mixins::Requests::Financial::CryptoAttributes
         | 
| @@ -57,13 +59,15 @@ module GenesisRuby | |
| 57 59 | 
             
                            fx_rate_id:                fx_rate_id,
         | 
| 58 60 | 
             
                            billing_address:           billing_address_parameters_structure,
         | 
| 59 61 | 
             
                            shipping_address:          shipping_address_parameters_structure,
         | 
| 62 | 
            +
                            mpi_params:                mpi_attributes_structure,
         | 
| 60 63 | 
             
                            risk_params:               risk_parameters_structure,
         | 
| 61 64 | 
             
                            dynamic_descriptor_params: dynamic_descriptor_structure,
         | 
| 62 65 | 
             
                            business_attributes:       business_attributes_structure,
         | 
| 63 66 | 
             
                            recurring_type:            recurring_type,
         | 
| 64 67 | 
             
                            recurring_category:        recurring_category,
         | 
| 65 68 | 
             
                            sca_params:                sca_attributes_structure,
         | 
| 66 | 
            -
                            threeds_v2_params:         threeds_v2_common_attributes_structure
         | 
| 69 | 
            +
                            threeds_v2_params:         threeds_v2_common_attributes_structure,
         | 
| 70 | 
            +
                            managed_recurring:         managed_recurring_attributes_structure
         | 
| 67 71 | 
             
                          )
         | 
| 68 72 | 
             
                        end
         | 
| 69 73 |  | 
| @@ -15,7 +15,7 @@ module GenesisRuby | |
| 15 15 | 
             
                      include Mixins::Requests::Financial::NotificationAttributes
         | 
| 16 16 | 
             
                      include Mixins::Requests::Financial::PendingPaymentAttributes
         | 
| 17 17 | 
             
                      include Mixins::Requests::Financial::Threeds::Version2::WpfAttributes
         | 
| 18 | 
            -
                      include Mixins::Requests::Financial::Cards:: | 
| 18 | 
            +
                      include Mixins::Requests::Financial::Cards::AccountOwnerAttributes
         | 
| 19 19 | 
             
                      include Mixins::Requests::Financial::Cards::Recurring::RecurringCategoryAttributes
         | 
| 20 20 | 
             
                      include Mixins::Requests::Financial::DynamicDescriptorAttributes
         | 
| 21 21 | 
             
                      include Mixins::Requests::Financial::RiskAttributes
         | 
| @@ -60,16 +60,6 @@ module GenesisRuby | |
| 60 60 | 
             
                                        allow_empty: true
         | 
| 61 61 | 
             
                      end
         | 
| 62 62 |  | 
| 63 | 
            -
                      # Specifies the recurring type of transaction
         | 
| 64 | 
            -
                      def recurring_type=(value)
         | 
| 65 | 
            -
                        allowed_values = [
         | 
| 66 | 
            -
                          GenesisRuby::Api::Constants::Transactions::Parameters::Recurring::Types::INITIAL,
         | 
| 67 | 
            -
                          GenesisRuby::Api::Constants::Transactions::Parameters::Recurring::Types::MANAGED
         | 
| 68 | 
            -
                        ]
         | 
| 69 | 
            -
             | 
| 70 | 
            -
                        allowed_options attribute: __method__, allowed: allowed_values, value: value, allow_empty: true
         | 
| 71 | 
            -
                      end
         | 
| 72 | 
            -
             | 
| 73 63 | 
             
                      protected
         | 
| 74 64 |  | 
| 75 65 | 
             
                      # Load base configuration
         | 
| @@ -116,10 +106,10 @@ module GenesisRuby | |
| 116 106 | 
             
                            },
         | 
| 117 107 | 
             
                            threeds_v2_params:         threeds_v2_wpf_attributes_structure,
         | 
| 118 108 | 
             
                            web_payment_form_id:       web_payment_form_id,
         | 
| 119 | 
            -
                            recurring_type:            recurring_type,
         | 
| 120 109 | 
             
                            recurring_category:        recurring_category,
         | 
| 121 110 | 
             
                            dynamic_descriptor_params: dynamic_descriptor_structure,
         | 
| 122 | 
            -
                            risk_params:               risk_parameters_structure
         | 
| 111 | 
            +
                            risk_params:               risk_parameters_structure,
         | 
| 112 | 
            +
                            account_owner:             account_owner_attributes_structure
         | 
| 123 113 | 
             
                          }
         | 
| 124 114 | 
             
                        }
         | 
| 125 115 | 
             
                      end
         | 
    
        data/lib/genesis_ruby/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: genesis_ruby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - emerchantpay Ltd.
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2024-01-19 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: net-http
         | 
| @@ -136,6 +136,20 @@ dependencies: | |
| 136 136 | 
             
                - - "~>"
         | 
| 137 137 | 
             
                  - !ruby/object:Gem::Version
         | 
| 138 138 | 
             
                    version: '3.0'
         | 
| 139 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 140 | 
            +
              name: rspec_junit_formatter
         | 
| 141 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 142 | 
            +
                requirements:
         | 
| 143 | 
            +
                - - "~>"
         | 
| 144 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 145 | 
            +
                    version: '0.6'
         | 
| 146 | 
            +
              type: :development
         | 
| 147 | 
            +
              prerelease: false
         | 
| 148 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 149 | 
            +
                requirements:
         | 
| 150 | 
            +
                - - "~>"
         | 
| 151 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 152 | 
            +
                    version: '0.6'
         | 
| 139 153 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 140 154 | 
             
              name: rubocop
         | 
| 141 155 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -230,6 +244,12 @@ files: | |
| 230 244 | 
             
            - lib/genesis_ruby/api/constants/states/state.rb
         | 
| 231 245 | 
             
            - lib/genesis_ruby/api/constants/transactions.rb
         | 
| 232 246 | 
             
            - lib/genesis_ruby/api/constants/transactions/parameters/business/payment_types.rb
         | 
| 247 | 
            +
            - lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/amount_types.rb
         | 
| 248 | 
            +
            - lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/frequencies.rb
         | 
| 249 | 
            +
            - lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/intervals.rb
         | 
| 250 | 
            +
            - lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/modes.rb
         | 
| 251 | 
            +
            - lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/payment_types.rb
         | 
| 252 | 
            +
            - lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_versions.rb
         | 
| 233 253 | 
             
            - lib/genesis_ruby/api/constants/transactions/parameters/recurring/categories.rb
         | 
| 234 254 | 
             
            - lib/genesis_ruby/api/constants/transactions/parameters/recurring/types.rb
         | 
| 235 255 | 
             
            - lib/genesis_ruby/api/constants/transactions/parameters/refund/bank_account_types.rb
         | 
| @@ -266,8 +286,12 @@ files: | |
| 266 286 | 
             
            - lib/genesis_ruby/api/mixins/requests/financial/business/furniture_attributes.rb
         | 
| 267 287 | 
             
            - lib/genesis_ruby/api/mixins/requests/financial/business/hotels_and_real_estate_rentals_attributes.rb
         | 
| 268 288 | 
             
            - lib/genesis_ruby/api/mixins/requests/financial/business/travel_agencies_attributes.rb
         | 
| 289 | 
            +
            - lib/genesis_ruby/api/mixins/requests/financial/cards/account_owner_attributes.rb
         | 
| 269 290 | 
             
            - lib/genesis_ruby/api/mixins/requests/financial/cards/credit_card_attributes.rb
         | 
| 270 291 | 
             
            - lib/genesis_ruby/api/mixins/requests/financial/cards/fx_rate_attributes.rb
         | 
| 292 | 
            +
            - lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb
         | 
| 293 | 
            +
            - lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb
         | 
| 294 | 
            +
            - lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes.rb
         | 
| 271 295 | 
             
            - lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_category_attributes.rb
         | 
| 272 296 | 
             
            - lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_type_attributes.rb
         | 
| 273 297 | 
             
            - lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_attributes.rb
         |