genesis_ruby 0.1.9 → 0.2.0

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: 4b6a3bc808c8337039cad21fe38a3a45bee0cf9d4ccc9c1f60910d42b4e5f625
4
- data.tar.gz: e120729e9f6bb2434e5997951cd34b4eca9239474b85f695a55d865bc9c4d4b9
3
+ metadata.gz: d5d3d0e9a97a91f74ce48b4e8607d40362b6c1b7559480aaa8c6996a64077215
4
+ data.tar.gz: 156b75a8de3262f3cea5587b2f149307aada10b25c53b3e9710f1ccc8b8374db
5
5
  SHA512:
6
- metadata.gz: 4dbdef97fd80acf9e748d2e1279c8067522c0ba8091f53447f13c5c1c3e199fe3d0dd2344e1100db16170c33ea580c79755664f81c74fa7c63847723b68b622e
7
- data.tar.gz: 1131aedc74b6ed7f60948cdcc9b53c268317519c78d6be600fbbc2f6a62744368c627e914037d202bcaf0cf267d8c6a734e56e18a95b02f21430c539a62cf47c
6
+ metadata.gz: ee6d13886cf45ec36864c50dd6ce6f2803818bd990bbdccb9e25bd8209b96ed8b3885fd66d770a01e77105162cfec84c3a8b144ccdac5baf95d574aa608f1f51
7
+ data.tar.gz: 22b62855963c557566a2bf95e439f337234fd0039d182e7903f3bb89ff03b8947902cd6526643c2c5aa138c2f38f7294617ce2c1a74d3d364e4cab115f14a153
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ 0.2.0
2
+ -----
3
+ **Features**:
4
+
5
+ * Added Funding parameters support to the following transaction requests:
6
+ * Authorize
7
+ * Authorize 3D
8
+ * Sale
9
+ * Sale 3D
10
+ * Web Payment Form
11
+ * Added Dynamic Descriptor geo coordinates support
12
+ * Added POLI bank code and NZD currency support to Online Banking PayIn transaction request
13
+ * Added recurring type parameter support to Google Pay and Apple Pay transaction requests
14
+
1
15
  0.1.9
2
16
  -----
3
17
  **Features**:
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- genesis_ruby (0.1.9)
4
+ genesis_ruby (0.2.0)
5
5
  net-http (~> 0.3.2)
6
6
  nokogiri (~> 1.14)
7
7
 
@@ -135,7 +135,7 @@ GEM
135
135
  thor (1.3.2)
136
136
  tilt (2.4.0)
137
137
  unicode-display_width (2.6.0)
138
- uri (0.13.1)
138
+ uri (1.0.1)
139
139
  webmock (3.24.0)
140
140
  addressable (>= 2.8.0)
141
141
  crack (>= 0.3.2)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.9
1
+ 0.2.0
@@ -0,0 +1,45 @@
1
+ module GenesisRuby
2
+ module Api
3
+ module Constants
4
+ module Transactions
5
+ module Parameters
6
+ module Funding
7
+ # Business Application Identifier Types allowed values
8
+ class BusinessApplicationIdentifierTypes
9
+
10
+ extend Api::Mixins::Constants::Common
11
+
12
+ # Type FUNDS_DISBURSEMENT
13
+ FUNDS_DISBURSEMENT = 'funds_disbursement'.freeze
14
+
15
+ # Type PENSION_DISBURSEMENT
16
+ PENSION_DISBURSEMENT = 'pension_disbursement'.freeze
17
+
18
+ # Type ACCOUNT_TO_ACCOUNT
19
+ ACCOUNT_TO_ACCOUNT = 'account_to_account'.freeze
20
+
21
+ # Type BANK_INITIATED
22
+ BANK_INITIATED = 'bank_initiated'.freeze
23
+
24
+ # Type FUND_TRANSFER
25
+ FUND_TRANSFER = 'fund_transfer'.freeze
26
+
27
+ # Type PERSON_TO_PERSON
28
+ PERSON_TO_PERSON = 'person_to_person'.freeze
29
+
30
+ # Type PREPAID_CARD_LOAD
31
+ PREPAID_CARD_LOAD = 'prepaid_card_load'.freeze
32
+
33
+ # Type WALLET_TRANSFER
34
+ WALLET_TRANSFER = 'wallet_transfer'.freeze
35
+
36
+ # Type LIQUID_ASSETS
37
+ LIQUID_ASSETS = 'liquid_assets'.freeze
38
+
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,48 @@
1
+ module GenesisRuby
2
+ module Api
3
+ module Constants
4
+ module Transactions
5
+ module Parameters
6
+ module Funding
7
+ # Funding Identifier Types allowed values
8
+ class IdentifierTypes
9
+
10
+ extend Api::Mixins::Constants::Common
11
+
12
+ # Required MCCs - 4829, 6538, 6540
13
+ GENERAL_PERSON_TO_PERSON = 'general_person_to_person'.freeze
14
+
15
+ # Required MCCs - 4829
16
+ PERSON_TO_PERSON_CARD_ACCOUNT = 'person_to_person_card_account'.freeze
17
+
18
+ # Required MCCs - 4829, 6051, 6211, 6538, 6540, 7800, 7801, 7802, 7994, 7995, 9406
19
+ OWN_ACCOUNT = 'own_account'.freeze
20
+
21
+ # Required MCCs - 4829, 6538
22
+ OWN_CREDIT_CARD_BILL = 'own_credit_card_bill'.freeze
23
+
24
+ # Required MCCs - any
25
+ BUSINESS_DISBURSEMENT = 'business_disbursement'.freeze
26
+
27
+ # Required MCCs - any
28
+ GOVERNMENT_OR_NON_PROFIT_DISBURSEMENT = 'government_or_non_profit_disbursement'.freeze
29
+
30
+ # Required MCCs - any
31
+ RAPID_MERCHANT_SETTLEMENT = 'rapid_merchant_settlement'.freeze
32
+
33
+ # Required MCCs - any
34
+ GENERAL_BUSINESS_TO_BUSINESS = 'general_business_to_business'.freeze
35
+
36
+ # Required MCCs - any
37
+ OWN_STAGED_DIGITAL_WALLET_ACCOUNT = 'own_staged_digital_wallet_account'.freeze
38
+
39
+ # Required MCCs - any
40
+ OWN_DEBIT_OR_PREPAID_CARD_ACCOUNT = 'own_debit_or_prepaid_card_account'.freeze
41
+
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,45 @@
1
+ module GenesisRuby
2
+ module Api
3
+ module Constants
4
+ module Transactions
5
+ module Parameters
6
+ module Funding
7
+ # Funding Receiver Account Types allowed values
8
+ class ReceiverAccountTypes
9
+
10
+ extend Api::Mixins::Constants::Common
11
+
12
+ # Routing Transit Number and Bank Account Number
13
+ RTN_AND_BANK_ACCOUNT_NUMBER = 'rtn_and_bank_account_number'.freeze
14
+
15
+ # International Bank Account Number
16
+ IBAN = 'iban'.freeze
17
+
18
+ # Card Account
19
+ CARD_ACCOUNT = 'card_account'.freeze
20
+
21
+ # Electronic Mail
22
+ EMAIL = 'email'.freeze
23
+
24
+ # Phone Number
25
+ PHONE_NUMBER = 'phone_number'.freeze
26
+
27
+ # Bank Account Number and Business Identifier Code
28
+ BANK_ACCOUNT_NUMBER_AND_BIC = 'bank_account_number_and_bic'.freeze
29
+
30
+ # Wallet ID
31
+ WALLET_ID = 'wallet_id'.freeze
32
+
33
+ # Unique Identifier for Social Network Application
34
+ SOCIAL_NETWORK_ID = 'social_network_id'.freeze
35
+
36
+ # Any other type
37
+ OTHER = 'other'.freeze
38
+
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -100,6 +100,9 @@ module GenesisRuby
100
100
  ],
101
101
  GBP: [
102
102
  BankCodes::TRL
103
+ ],
104
+ NZD: [
105
+ BankCodes::POLI
103
106
  ]
104
107
  }.freeze
105
108
 
@@ -591,6 +591,9 @@ module GenesisRuby
591
591
  # Latipay
592
592
  PID = 'PID'.freeze
593
593
 
594
+ # Latipay
595
+ POLI = 'POLI'.freeze
596
+
594
597
  end
595
598
  end
596
599
  end
@@ -10,9 +10,10 @@ module GenesisRuby
10
10
  :dynamic_descriptor_sub_merchant_id, :dynamic_descriptor_merchant_country,
11
11
  :dynamic_descriptor_merchant_state, :dynamic_descriptor_merchant_zip_code,
12
12
  :dynamic_descriptor_merchant_address, :dynamic_descriptor_merchant_url,
13
- :dynamic_descriptor_merchant_phone, :dynamic_descriptor_merchant_service_city,
14
- :dynamic_descriptor_merchant_service_country, :dynamic_descriptor_merchant_service_state,
15
- :dynamic_descriptor_merchant_service_zip_code, :dynamic_descriptor_merchant_service_phone
13
+ :dynamic_descriptor_merchant_phone, :dynamic_descriptor_merchant_geo_coordinates,
14
+ :dynamic_descriptor_merchant_service_city, :dynamic_descriptor_merchant_service_country,
15
+ :dynamic_descriptor_merchant_service_state, :dynamic_descriptor_merchant_service_zip_code,
16
+ :dynamic_descriptor_merchant_service_phone, :dynamic_descriptor_merchant_service_geo_coordinates
16
17
 
17
18
  # Allows to dynamically override the charge descriptor
18
19
  def dynamic_descriptor_merchant_name=(value)
@@ -59,6 +60,12 @@ module GenesisRuby
59
60
  limited_string attribute: __method__, value: value.to_s.empty? ? nil : value.to_s, max: 16
60
61
  end
61
62
 
63
+ # Merchant geographic coordinates. Length of geographic coordinates is a range of 15-20 symbols.
64
+ # Latitude and Longitude separated by a comma. Example: `40.73061,-73.93524`
65
+ def dynamic_descriptor_merchant_geo_coordinates=(value)
66
+ limited_string attribute: __method__, value: value.to_s.empty? ? nil : value.to_s, min: 15, max: 20
67
+ end
68
+
62
69
  # Allows to dynamically override the merchant service city
63
70
  def dynamic_descriptor_merchant_service_city=(value)
64
71
  limited_string attribute: __method__, value: value.to_s.empty? ? nil : value.to_s, max: 13
@@ -84,25 +91,33 @@ module GenesisRuby
84
91
  limited_string attribute: __method__, value: value.to_s.empty? ? nil : value.to_s, max: 16
85
92
  end
86
93
 
94
+ # Merchant service geographic coordinates. Length of geographic coordinates is a range of 15-20 symbols.
95
+ # Latitude and Longitude separated by a comma. Example: `40.73061,-73.93524`
96
+ def dynamic_descriptor_merchant_service_geo_coordinates=(value)
97
+ limited_string attribute: __method__, value: value.to_s.empty? ? nil : value.to_s, min: 15, max: 20
98
+ end
99
+
87
100
  protected
88
101
 
89
102
  # Dynamic Descriptor Params structure
90
103
  def dynamic_descriptor_structure # rubocop:disable Metrics/MethodLength
91
104
  {
92
- merchant_name: dynamic_descriptor_merchant_name,
93
- merchant_city: dynamic_descriptor_merchant_city,
94
- sub_merchant_id: dynamic_descriptor_sub_merchant_id,
95
- merchant_country: dynamic_descriptor_merchant_country,
96
- merchant_state: dynamic_descriptor_merchant_state,
97
- merchant_zip_code: dynamic_descriptor_merchant_zip_code,
98
- merchant_address: dynamic_descriptor_merchant_address,
99
- merchant_url: dynamic_descriptor_merchant_url,
100
- merchant_phone: dynamic_descriptor_merchant_phone,
101
- merchant_service_city: dynamic_descriptor_merchant_service_city,
102
- merchant_service_country: dynamic_descriptor_merchant_service_country,
103
- merchant_service_state: dynamic_descriptor_merchant_service_state,
104
- merchant_service_zip_code: dynamic_descriptor_merchant_service_zip_code,
105
- merchant_service_phone: dynamic_descriptor_merchant_service_phone
105
+ merchant_name: dynamic_descriptor_merchant_name,
106
+ merchant_city: dynamic_descriptor_merchant_city,
107
+ sub_merchant_id: dynamic_descriptor_sub_merchant_id,
108
+ merchant_country: dynamic_descriptor_merchant_country,
109
+ merchant_state: dynamic_descriptor_merchant_state,
110
+ merchant_zip_code: dynamic_descriptor_merchant_zip_code,
111
+ merchant_address: dynamic_descriptor_merchant_address,
112
+ merchant_url: dynamic_descriptor_merchant_url,
113
+ merchant_phone: dynamic_descriptor_merchant_phone,
114
+ merchant_geo_coordinates: dynamic_descriptor_merchant_geo_coordinates,
115
+ merchant_service_city: dynamic_descriptor_merchant_service_city,
116
+ merchant_service_country: dynamic_descriptor_merchant_service_country,
117
+ merchant_service_state: dynamic_descriptor_merchant_service_state,
118
+ merchant_service_zip_code: dynamic_descriptor_merchant_service_zip_code,
119
+ merchant_service_phone: dynamic_descriptor_merchant_service_phone,
120
+ merchant_service_geo_coordinates: dynamic_descriptor_merchant_service_geo_coordinates
106
121
  }
107
122
  end
108
123
 
@@ -0,0 +1,65 @@
1
+ require 'genesis_ruby/api/constants/transactions/parameters/funding/business_application_identifier_types'
2
+ require 'genesis_ruby/api/constants/transactions/parameters/funding/identifier_types'
3
+ require 'genesis_ruby/api/constants/transactions/parameters/funding/receiver_account_types'
4
+
5
+ module GenesisRuby
6
+ module Api
7
+ module Mixins
8
+ module Requests
9
+ module Financial
10
+ # Mixin Funding Attributes
11
+ module FundingAttributes
12
+
13
+ attr_accessor :funding_identifier_type, :funding_business_application_identifier,
14
+ :funding_receiver_first_name, :funding_receiver_last_name, :funding_receiver_country,
15
+ :funding_receiver_account_number, :funding_receiver_account_number_type,
16
+ :funding_receiver_address, :funding_receiver_state, :funding_receiver_city,
17
+ :funding_sender_name, :funding_sender_reference_number, :funding_sender_country,
18
+ :funding_sender_address, :funding_sender_state, :funding_sender_city
19
+
20
+ protected
21
+
22
+ # Provide a hash with the funding attributes field allowed values
23
+ def funding_attributes_field_validations
24
+ {
25
+ funding_identifier_type: Api::Constants::Transactions::Parameters::Funding::
26
+ IdentifierTypes.all,
27
+ funding_business_application_identifier: Api::Constants::Transactions::Parameters::Funding::
28
+ BusinessApplicationIdentifierTypes.all,
29
+ funding_receiver_account_number_type: Api::Constants::Transactions::Parameters::Funding::
30
+ ReceiverAccountTypes.all
31
+ }
32
+ end
33
+
34
+ # Funding Attributes Structure
35
+ def funding_attributes_structure # rubocop:disable Metrics/MethodLength
36
+ {
37
+ identifier_type: funding_identifier_type,
38
+ business_application_identifier: funding_business_application_identifier,
39
+ receiver: {
40
+ first_name: funding_receiver_first_name,
41
+ last_name: funding_receiver_last_name,
42
+ country: funding_receiver_country,
43
+ account_number: funding_receiver_account_number,
44
+ account_number_type: funding_receiver_account_number_type,
45
+ address: funding_receiver_address,
46
+ state: funding_receiver_state,
47
+ city: funding_receiver_city
48
+ },
49
+ sender: {
50
+ name: funding_sender_name,
51
+ reference_number: funding_sender_reference_number,
52
+ country: funding_sender_country,
53
+ address: funding_sender_address,
54
+ state: funding_sender_state,
55
+ city: funding_sender_city
56
+ }
57
+ }
58
+ end
59
+
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -18,6 +18,7 @@ module GenesisRuby
18
18
  include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
19
19
  include Mixins::Requests::Financial::CryptoAttributes
20
20
  include Mixins::Requests::Financial::DynamicDescriptorAttributes
21
+ include Mixins::Requests::Financial::FundingAttributes
21
22
  include Mixins::Requests::Financial::GamingAttributes
22
23
  include Mixins::Requests::Financial::MotoAttributes
23
24
  include Mixins::Requests::Financial::ReferenceAttributes
@@ -36,7 +37,8 @@ module GenesisRuby
36
37
  def init_field_validations
37
38
  super
38
39
 
39
- field_values.merge! managed_recurring_field_values, recurring_type_field_values_validation_structure
40
+ field_values.merge! managed_recurring_field_values, recurring_type_field_values_validation_structure,
41
+ funding_attributes_field_validations
40
42
 
41
43
  field_value_dependencies.merge! required_tokenization_fields_conditional, required_cc_fields_conditional,
42
44
  required_recurring_managed_type_field_conditional
@@ -65,7 +67,8 @@ module GenesisRuby
65
67
  recurring_category: recurring_category,
66
68
  sca_params: sca_attributes_structure,
67
69
  managed_recurring: managed_recurring_attributes_structure,
68
- travel: travel_data_attributes_structure
70
+ travel: travel_data_attributes_structure,
71
+ funding: funding_attributes_structure
69
72
  )
70
73
  end
71
74
 
@@ -20,6 +20,7 @@ module GenesisRuby
20
20
  include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
21
21
  include Mixins::Requests::Financial::CryptoAttributes
22
22
  include Mixins::Requests::Financial::DynamicDescriptorAttributes
23
+ include Mixins::Requests::Financial::FundingAttributes
23
24
  include Mixins::Requests::Financial::GamingAttributes
24
25
  include Mixins::Requests::Financial::MotoAttributes
25
26
  include Mixins::Requests::Financial::NotificationAttributes
@@ -40,7 +41,8 @@ module GenesisRuby
40
41
  super
41
42
 
42
43
  field_values.merge! managed_recurring_field_values,
43
- recurring_type_initial_field_values_validation_structure, threeds_field_validations
44
+ recurring_type_initial_field_values_validation_structure, threeds_field_validations,
45
+ funding_attributes_field_validations
44
46
 
45
47
  field_value_dependencies.merge! required_tokenization_fields_conditional, required_cc_fields_conditional,
46
48
  required_recurring_managed_type_field_conditional,
@@ -78,7 +80,8 @@ module GenesisRuby
78
80
  sca_params: sca_attributes_structure,
79
81
  threeds_v2_params: threeds_v2_common_attributes_structure,
80
82
  managed_recurring: managed_recurring_attributes_structure,
81
- travel: travel_data_attributes_structure
83
+ travel: travel_data_attributes_structure,
84
+ funding: funding_attributes_structure
82
85
  )
83
86
  end
84
87
 
@@ -17,6 +17,7 @@ module GenesisRuby
17
17
  include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
18
18
  include Mixins::Requests::Financial::CryptoAttributes
19
19
  include Mixins::Requests::Financial::DynamicDescriptorAttributes
20
+ include Mixins::Requests::Financial::FundingAttributes
20
21
  include Mixins::Requests::Financial::GamingAttributes
21
22
  include Mixins::Requests::Financial::MotoAttributes
22
23
  include Mixins::Requests::Financial::ReferenceAttributes
@@ -35,7 +36,8 @@ module GenesisRuby
35
36
  def init_field_validations
36
37
  super
37
38
 
38
- field_values.merge! managed_recurring_field_values, recurring_type_field_values_validation_structure
39
+ field_values.merge! managed_recurring_field_values, recurring_type_field_values_validation_structure,
40
+ funding_attributes_field_validations
39
41
 
40
42
  field_value_dependencies.merge! required_tokenization_fields_conditional, required_cc_fields_conditional,
41
43
  required_recurring_managed_type_field_conditional
@@ -64,7 +66,8 @@ module GenesisRuby
64
66
  recurring_category: recurring_category,
65
67
  sca_params: sca_attributes_structure,
66
68
  managed_recurring: managed_recurring_attributes_structure,
67
- travel: travel_data_attributes_structure
69
+ travel: travel_data_attributes_structure,
70
+ funding: funding_attributes_structure
68
71
  )
69
72
  end
70
73
 
@@ -19,6 +19,7 @@ module GenesisRuby
19
19
  include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
20
20
  include Mixins::Requests::Financial::CryptoAttributes
21
21
  include Mixins::Requests::Financial::DynamicDescriptorAttributes
22
+ include Mixins::Requests::Financial::FundingAttributes
22
23
  include Mixins::Requests::Financial::GamingAttributes
23
24
  include Mixins::Requests::Financial::MotoAttributes
24
25
  include Mixins::Requests::Financial::NotificationAttributes
@@ -39,7 +40,8 @@ module GenesisRuby
39
40
  super
40
41
 
41
42
  field_values.merge! managed_recurring_field_values,
42
- recurring_type_initial_field_values_validation_structure, threeds_field_validations
43
+ recurring_type_initial_field_values_validation_structure, threeds_field_validations,
44
+ funding_attributes_field_validations
43
45
 
44
46
  field_value_dependencies.merge! required_tokenization_fields_conditional, required_cc_fields_conditional,
45
47
  required_recurring_managed_type_field_conditional,
@@ -77,7 +79,8 @@ module GenesisRuby
77
79
  sca_params: sca_attributes_structure,
78
80
  threeds_v2_params: threeds_v2_common_attributes_structure,
79
81
  managed_recurring: managed_recurring_attributes_structure,
80
- travel: travel_data_attributes_structure
82
+ travel: travel_data_attributes_structure,
83
+ funding: funding_attributes_structure
81
84
  )
82
85
  end
83
86
 
@@ -12,6 +12,7 @@ module GenesisRuby
12
12
  include Mixins::Requests::BirthDateAttributes
13
13
  include Mixins::Requests::DocumentAttributes
14
14
  include Mixins::Requests::Financial::Business::BusinessAttributes
15
+ include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
15
16
  include Mixins::Requests::Financial::CryptoAttributes
16
17
  include Mixins::Requests::Financial::DynamicDescriptorAttributes
17
18
  include Mixins::Requests::Financial::Mobile::ApplePayTokenAttributes
@@ -40,7 +41,8 @@ module GenesisRuby
40
41
 
41
42
  field_values.merge! currency: Api::Constants::Currencies::Iso4217.all.map(&:upcase),
42
43
  payment_subtype: Api::Constants::Transactions::Parameters::Mobile::ApplePay::
43
- PaymentSubtypes.all
44
+ PaymentSubtypes.all,
45
+ recurring_type: [Api::Constants::Transactions::Parameters::Recurring::Types::INITIAL]
44
46
  end
45
47
 
46
48
  # Apple Pay payment transaction structure
@@ -56,6 +58,7 @@ module GenesisRuby
56
58
  shipping_address: shipping_address_parameters_structure,
57
59
  document_id: document_id,
58
60
  crypto: crypto,
61
+ recurring_type: recurring_type,
59
62
  business_attributes: business_attributes_structure,
60
63
  dynamic_descriptor_params: dynamic_descriptor_structure
61
64
  }
@@ -15,6 +15,7 @@ module GenesisRuby
15
15
  include Mixins::Requests::DocumentAttributes
16
16
  include Mixins::Requests::Financial::AsyncAttributes
17
17
  include Mixins::Requests::Financial::Business::BusinessAttributes
18
+ include Mixins::Requests::Financial::Cards::Recurring::RecurringTypeAttributes
18
19
  include Mixins::Requests::Financial::DynamicDescriptorAttributes
19
20
  include Mixins::Requests::Financial::Mobile::GooglePayTokenAttributes
20
21
  include Mixins::Requests::Financial::NotificationAttributes
@@ -44,7 +45,8 @@ module GenesisRuby
44
45
 
45
46
  field_values.merge! currency: Constants::Currencies::Iso4217.all.map(&:upcase),
46
47
  payment_subtype: Constants::Transactions::Parameters::Mobile::GooglePay::
47
- PaymentSubtypes.all
48
+ PaymentSubtypes.all,
49
+ recurring_type: [Api::Constants::Transactions::Parameters::Recurring::Types::INITIAL]
48
50
  field_values.merge! threeds_field_validations
49
51
 
50
52
  field_value_dependencies.merge! threeds_field_conditional_validations
@@ -74,6 +76,7 @@ module GenesisRuby
74
76
  business_attributes: business_attributes_structure,
75
77
  dynamic_descriptor_params: dynamic_descriptor_structure,
76
78
  document_id: document_id,
79
+ recurring_type: recurring_type,
77
80
  threeds_v2_params: threeds_v2_common_attributes_structure
78
81
  }
79
82
  )
@@ -121,6 +121,10 @@ module GenesisRuby
121
121
  GBP: {
122
122
  bank_code: Api::Constants::Transactions::Parameters::OnlineBanking::BankCodeCurrencies
123
123
  .bank_codes_per_currency('GBP')
124
+ },
125
+ NZD: {
126
+ bank_code: Api::Constants::Transactions::Parameters::OnlineBanking::BankCodeCurrencies
127
+ .bank_codes_per_currency('NZD')
124
128
  }
125
129
  }
126
130
  }
@@ -10,17 +10,18 @@ module GenesisRuby
10
10
  # Web-Payment Form Request
11
11
  class Create < Request # rubocop:disable Metrics/ClassLength
12
12
 
13
- include Mixins::Requests::Financial::PaymentAttributes
14
13
  include Mixins::Requests::AddressInfoAttributes
15
14
  include Mixins::Requests::Financial::AsyncAttributes
16
- include Mixins::Requests::Financial::NotificationAttributes
17
- include Mixins::Requests::Financial::PendingPaymentAttributes
18
- include Mixins::Requests::Financial::Threeds::Version2::WpfAttributes
15
+ include Mixins::Requests::Financial::Business::BusinessAttributes
19
16
  include Mixins::Requests::Financial::Cards::AccountOwnerAttributes
20
17
  include Mixins::Requests::Financial::Cards::Recurring::RecurringCategoryAttributes
21
18
  include Mixins::Requests::Financial::DynamicDescriptorAttributes
19
+ include Mixins::Requests::Financial::FundingAttributes
20
+ include Mixins::Requests::Financial::NotificationAttributes
21
+ include Mixins::Requests::Financial::PaymentAttributes
22
+ include Mixins::Requests::Financial::PendingPaymentAttributes
22
23
  include Mixins::Requests::Financial::RiskAttributes
23
- include Mixins::Requests::Financial::Business::BusinessAttributes
24
+ include Mixins::Requests::Financial::Threeds::Version2::WpfAttributes
24
25
  include Mixins::Requests::WpfRemindersAttributes
25
26
 
26
27
  attr_reader :locale, :sca_preference, :sca_exemption
@@ -122,7 +123,8 @@ module GenesisRuby
122
123
 
123
124
  field_values.merge!(
124
125
  { currency: Api::Constants::Currencies::Iso4217.all.map(&:upcase) },
125
- threeds_field_validations
126
+ threeds_field_validations,
127
+ funding_attributes_field_validations
126
128
  )
127
129
  end
128
130
 
@@ -168,7 +170,8 @@ module GenesisRuby
168
170
  risk_params: risk_parameters_structure,
169
171
  account_owner: account_owner_attributes_structure,
170
172
  pay_later: pay_later,
171
- reminders: pay_later ? reminders_structure : []
173
+ reminders: pay_later ? reminders_structure : [],
174
+ funding: funding_attributes_structure
172
175
  }
173
176
  }
174
177
  end
@@ -1,5 +1,5 @@
1
1
  module GenesisRuby
2
2
 
3
- VERSION = '0.1.9'.freeze
3
+ VERSION = '0.2.0'.freeze
4
4
 
5
5
  end
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.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - emerchantpay Ltd.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-10-15 00:00:00.000000000 Z
11
+ date: 2024-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-http
@@ -248,6 +248,9 @@ files:
248
248
  - lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/company_types.rb
249
249
  - lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/genders.rb
250
250
  - lib/genesis_ruby/api/constants/transactions/parameters/cash_payments/marital_statuses.rb
251
+ - lib/genesis_ruby/api/constants/transactions/parameters/funding/business_application_identifier_types.rb
252
+ - lib/genesis_ruby/api/constants/transactions/parameters/funding/identifier_types.rb
253
+ - lib/genesis_ruby/api/constants/transactions/parameters/funding/receiver_account_types.rb
251
254
  - lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/amount_types.rb
252
255
  - lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/frequencies.rb
253
256
  - lib/genesis_ruby/api/constants/transactions/parameters/managed_recurring/intervals.rb
@@ -313,6 +316,7 @@ files:
313
316
  - lib/genesis_ruby/api/mixins/requests/financial/consumer_identifier_attributes.rb
314
317
  - lib/genesis_ruby/api/mixins/requests/financial/crypto_attributes.rb
315
318
  - lib/genesis_ruby/api/mixins/requests/financial/dynamic_descriptor_attributes.rb
319
+ - lib/genesis_ruby/api/mixins/requests/financial/funding_attributes.rb
316
320
  - lib/genesis_ruby/api/mixins/requests/financial/gaming_attributes.rb
317
321
  - lib/genesis_ruby/api/mixins/requests/financial/mobile/apple_pay_token_attributes.rb
318
322
  - lib/genesis_ruby/api/mixins/requests/financial/mobile/google_pay_token_attributes.rb
@@ -461,7 +465,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
461
465
  - !ruby/object:Gem::Version
462
466
  version: '0'
463
467
  requirements: []
464
- rubygems_version: 3.2.33
468
+ rubygems_version: 3.1.2
465
469
  signing_key:
466
470
  specification_version: 4
467
471
  summary: Ruby Client for Genesis Payment Processing Gateway