genesis_ruby 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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