genesis_ruby 0.1.5 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +28 -0
- data/Gemfile.lock +9 -11
- data/README.md +93 -3
- data/VERSION +1 -1
- data/lib/genesis_ruby/api/constants/i18n.rb +90 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/mpi_protocol_sub_versions.rb +43 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/travel_data/ancillary_charges_types.rb +43 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/wpf/reminder_channels.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions.rb +1 -5
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/mpi_attributes.rb +14 -4
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb +2 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes.rb +4 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb +166 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/car_rental_attributes.rb +119 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/hotel_rental_attributes.rb +77 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/reference_ticket_attributes.rb +75 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/travel_data/travel_attributes.rb +34 -0
- data/lib/genesis_ruby/api/mixins/requests/wpf_reminders_attributes.rb +59 -0
- data/lib/genesis_ruby/api/requests/financial/capture.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +3 -1
- data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +3 -1
- data/lib/genesis_ruby/api/requests/wpf/create.rb +70 -3
- data/lib/genesis_ruby/builders/xml.rb +6 -0
- data/lib/genesis_ruby/utils/options/reminder.rb +60 -0
- data/lib/genesis_ruby/utils/transactions/financial_types.rb +1 -1
- data/lib/genesis_ruby/utils/transactions/references/refundable_types.rb +1 -1
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/base.rb +33 -0
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/leg.rb +97 -0
- data/lib/genesis_ruby/utils/transactions/travel_data/airline_itinerary/tax.rb +42 -0
- data/lib/genesis_ruby/utils/transactions/wpf_types.rb +1 -1
- data/lib/genesis_ruby/version.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5629a8aa5e0635fa0106507b7ca62e605065007441fff2479c1ec390237d8382
|
4
|
+
data.tar.gz: c618d130f46775abfeda2cc340050c6cdb5492fcd97ba64a2bc0bafac5db086b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 592d0e476d4e7a0bb1920eef3c807ff420adb6c35e3bd32a6ad1bef6e7582ddc90d4b1b4d7d1998d9873865af22ded0c7bcacc2950331234705f1658a61a71f9
|
7
|
+
data.tar.gz: c3d712b3f128740ce84d32bad8302e030fc2826cb0f0b06cfaec1e26e2e96efe0ef2f271e6afe869b72b9db823f0724644dab4b3b30a1e6240008cc740617a8a
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
0.1.7
|
2
|
+
-----
|
3
|
+
**Features**:
|
4
|
+
|
5
|
+
* Removed GiroPay transaction type support through the Web Payment Form
|
6
|
+
* Added Protocol Sub Version parameter support part of the MPI attributes
|
7
|
+
* Added Level 3 Travel Data attributes support to the following transaction requests:
|
8
|
+
* Sale
|
9
|
+
* Sale 3D
|
10
|
+
* Authorize
|
11
|
+
* Authorize 3D
|
12
|
+
* Init Recurring Sale
|
13
|
+
* Init Recurring Sale 3D
|
14
|
+
* RecurringSale
|
15
|
+
* Capture
|
16
|
+
|
17
|
+
0.1.6
|
18
|
+
-----
|
19
|
+
**Features**:
|
20
|
+
|
21
|
+
* Added Web Payment Form `lifetime` validations with a maximum allowed value of 3 months in minutes (131487)
|
22
|
+
* Added Web Payment Form `lifetime` default value of 30 minutes
|
23
|
+
* Added Web Payment Form Reminders support
|
24
|
+
* Added Pay Later parameter support to the Web Payment Form
|
25
|
+
* Reminders will be sent to the Gateway only when `pay_later=true`
|
26
|
+
* Added Reminder Language parameter support to the Web Payment Form. It accepts only available WPF locales.
|
27
|
+
* Added validation for Web Payment Form `locale` attribute. It accepts only available WPF locales.
|
28
|
+
|
1
29
|
0.1.5
|
2
30
|
-----
|
3
31
|
**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.7)
|
5
5
|
net-http (~> 0.3.2)
|
6
6
|
nokogiri (~> 1.14)
|
7
7
|
|
@@ -12,7 +12,7 @@ GEM
|
|
12
12
|
public_suffix (>= 2.0.2, < 6.0)
|
13
13
|
ast (2.4.2)
|
14
14
|
base64 (0.2.0)
|
15
|
-
bigdecimal (3.1.
|
15
|
+
bigdecimal (3.1.7)
|
16
16
|
concurrent-ruby (1.2.3)
|
17
17
|
crack (1.0.0)
|
18
18
|
bigdecimal
|
@@ -34,19 +34,17 @@ GEM
|
|
34
34
|
httparty (0.21.0)
|
35
35
|
mini_mime (>= 1.0.0)
|
36
36
|
multi_xml (>= 0.5.2)
|
37
|
-
i18n (1.14.
|
37
|
+
i18n (1.14.4)
|
38
38
|
concurrent-ruby (~> 1.0)
|
39
39
|
json (2.7.1)
|
40
40
|
language_server-protocol (3.17.0.3)
|
41
41
|
mini_mime (1.1.5)
|
42
|
-
mini_portile2 (2.8.5)
|
43
42
|
multi_xml (0.6.0)
|
44
43
|
mustermann (3.0.0)
|
45
44
|
ruby2_keywords (~> 0.0.1)
|
46
45
|
net-http (0.3.2)
|
47
46
|
uri
|
48
|
-
nokogiri (1.
|
49
|
-
mini_portile2 (~> 2.8.2)
|
47
|
+
nokogiri (1.16.6-x86_64-darwin)
|
50
48
|
racc (~> 1.4)
|
51
49
|
octokit (7.2.0)
|
52
50
|
faraday (>= 1, < 3)
|
@@ -68,7 +66,7 @@ GEM
|
|
68
66
|
rubocop (>= 0.63.1, < 2.0)
|
69
67
|
public_suffix (5.0.4)
|
70
68
|
racc (1.7.3)
|
71
|
-
rack (2.2.
|
69
|
+
rack (2.2.9)
|
72
70
|
rack-protection (3.2.0)
|
73
71
|
base64 (>= 0.1.0)
|
74
72
|
rack (~> 2.2, >= 2.2.4)
|
@@ -91,7 +89,7 @@ GEM
|
|
91
89
|
rspec-support (3.13.1)
|
92
90
|
rspec_junit_formatter (0.6.0)
|
93
91
|
rspec-core (>= 2, < 4, != 2.12.0)
|
94
|
-
rubocop (1.
|
92
|
+
rubocop (1.62.1)
|
95
93
|
json (~> 2.3)
|
96
94
|
language_server-protocol (>= 3.17.0)
|
97
95
|
parallel (~> 1.10)
|
@@ -99,10 +97,10 @@ GEM
|
|
99
97
|
rainbow (>= 2.2.2, < 4.0)
|
100
98
|
regexp_parser (>= 1.8, < 3.0)
|
101
99
|
rexml (>= 3.2.5, < 4.0)
|
102
|
-
rubocop-ast (>= 1.
|
100
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
103
101
|
ruby-progressbar (~> 1.7)
|
104
102
|
unicode-display_width (>= 2.4.0, < 3.0)
|
105
|
-
rubocop-ast (1.31.
|
103
|
+
rubocop-ast (1.31.2)
|
106
104
|
parser (>= 3.3.0.4)
|
107
105
|
rubocop-capybara (2.20.0)
|
108
106
|
rubocop (~> 1.41)
|
@@ -111,7 +109,7 @@ GEM
|
|
111
109
|
rubocop-faker (1.1.0)
|
112
110
|
faker (>= 2.12.0)
|
113
111
|
rubocop (>= 0.82.0)
|
114
|
-
rubocop-rspec (2.27.
|
112
|
+
rubocop-rspec (2.27.1)
|
115
113
|
rubocop (~> 1.40)
|
116
114
|
rubocop-capybara (~> 2.17)
|
117
115
|
rubocop-factory_bot (~> 2.22)
|
data/README.md
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
|
2
|
-
|
3
|
-
|
2
|
+
Genesis Ruby
|
3
|
+
========
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/genesis_ruby.svg)](https://badge.fury.io/rb/genesis_ruby)
|
4
5
|
[![Software License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](LICENSE)
|
5
6
|
|
6
7
|
Ruby Client for Genesis Payment Processing Gateway
|
7
8
|
|
8
|
-
|
9
|
+
Overview
|
10
|
+
--------
|
9
11
|
|
10
12
|
Client Library for processing payments through Genesis Payment Processing Gateway. Its highly recommended to checkout "Genesis Payment Gateway API Documentation" first, in order to get an overview of Genesis's Payment Gateway API and functionality.
|
11
13
|
|
@@ -98,6 +100,11 @@ begin
|
|
98
100
|
# Other
|
99
101
|
request.lifetime = 30
|
100
102
|
request.web_payment_form_id = '987654321'
|
103
|
+
|
104
|
+
# Reminders
|
105
|
+
request.pay_later = true
|
106
|
+
request.add_reminder channel: 'email', after: 10
|
107
|
+
request.add_reminder channel: 'sms', after: 30
|
101
108
|
end.execute
|
102
109
|
|
103
110
|
puts genesis.response.response_object
|
@@ -480,6 +487,89 @@ request.recurring_type = GenesisRuby::Api::Constants::Transactions::Parameters::
|
|
480
487
|
```
|
481
488
|
</details>
|
482
489
|
|
490
|
+
#### Level 3 Travel Data
|
491
|
+
Level 3 travel data is supplied as optional data to the standard API request. If the supplied is valid travel data then the transaction will be processed as a travel transaction and will qualify for the travel Incentive rates. Otherwise the transaction will be processed normally as a regular transaction. Note that the travel data will be stored as part of the transaction in all cases.
|
492
|
+
|
493
|
+
<details>
|
494
|
+
<summary>Example Leg Data</summary>
|
495
|
+
|
496
|
+
```ruby
|
497
|
+
GenesisRuby::Utils::Transactions::TravelData::AirlineItinerary::Leg.new departure_date: '2034-12-31',
|
498
|
+
arrival_date: '2034-12-31',
|
499
|
+
carrier_code: 12,
|
500
|
+
service_class: 1,
|
501
|
+
origin_city: 'VAR',
|
502
|
+
destination_city: 'FRA',
|
503
|
+
stopover_code: 0,
|
504
|
+
fare_basis_code: 1,
|
505
|
+
flight_number: 'W1234',
|
506
|
+
departure_time: '11:37',
|
507
|
+
departure_time_segment: 'P'
|
508
|
+
```
|
509
|
+
|
510
|
+
</details>
|
511
|
+
|
512
|
+
<details>
|
513
|
+
<summary>Example Tax Data</summary>
|
514
|
+
|
515
|
+
```ruby
|
516
|
+
GenesisRuby::Utils::Transactions::TravelData::AirlineItinerary::Tax.new fee_type: 'type',
|
517
|
+
fee_amount: 0.99 # will converted automatically to minor format based on the currency
|
518
|
+
```
|
519
|
+
|
520
|
+
</details>
|
521
|
+
|
522
|
+
<details>
|
523
|
+
<summary>Example Level 3 Travel Data</summary>
|
524
|
+
|
525
|
+
```ruby
|
526
|
+
# Ticket attributes
|
527
|
+
request.travel_aid_ticket_number = '123456789012345'
|
528
|
+
request.travel_aid_passenger_name = 'Test Example'
|
529
|
+
request.travel_aid_customer_code = 1
|
530
|
+
request.travel_aid_issuing_carrier = 'AAAA'
|
531
|
+
request.travel_aid_total_fare = '0.99' # will converted automatically to minor format based on the currency
|
532
|
+
request.travel_aid_agency_name = 'Agency'
|
533
|
+
request.travel_aid_agency_code = 'AG001'
|
534
|
+
request.travel_aid_date_of_issue = '2018-02-01'
|
535
|
+
request.travel_aid_restricted_ticket_indicator = 1
|
536
|
+
request.travel_aid_confirmation_information = 'Confirmation'
|
537
|
+
|
538
|
+
request.add_travel_aid_leg leg
|
539
|
+
request.add_travel_aid_tax tax
|
540
|
+
|
541
|
+
# Car rental
|
542
|
+
request.travel_car_rental_purchase_identifier = '12478'
|
543
|
+
request.travel_car_rental_class_id = 3
|
544
|
+
request.travel_car_rental_pickup_date = '2034-12-31'
|
545
|
+
request.travel_car_rental_renter_name = 'John Smith'
|
546
|
+
request.travel_car_rental_return_city = 'Varna'
|
547
|
+
request.travel_car_rental_return_state = 'VAR'
|
548
|
+
request.travel_car_rental_return_country = 'BGR'
|
549
|
+
request.travel_car_rental_return_date = '2034-12-31'
|
550
|
+
request.travel_car_rental_renter_return_location_id = '12478'
|
551
|
+
request.travel_car_rental_customer_code = 1
|
552
|
+
request.travel_car_rental_extra_charges = 2
|
553
|
+
request.travel_car_rental_no_show_indicator = 1
|
554
|
+
|
555
|
+
# Hotel Rental attributes
|
556
|
+
request.travel_hotel_rental_purchase_identifier = '12478'
|
557
|
+
request.travel_hotel_rental_arrival_date = '2034-12-31'
|
558
|
+
request.travel_hotel_rental_departure_date = '2034-12-31'
|
559
|
+
request.travel_hotel_rental_customer_code = '12478'
|
560
|
+
request.travel_hotel_rental_no_show_indicator = 1
|
561
|
+
|
562
|
+
# Reference Ticket Attributes
|
563
|
+
request.travel_ac_ticket_reference_id = '8b7e3575e5605ea7e1895707a3e92837'
|
564
|
+
request.travel_ac_ticket_document_number = '1111'
|
565
|
+
request.travel_ac_issued_with_ticket_number = '12321'
|
566
|
+
|
567
|
+
# Ancillary Charges
|
568
|
+
request.travel_ac_type = 'BF'
|
569
|
+
request.travel_ac_sub_type = 'BG'
|
570
|
+
```
|
571
|
+
|
572
|
+
</details>
|
483
573
|
|
484
574
|
## Response
|
485
575
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.7
|
@@ -0,0 +1,90 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
# WPF localization constants
|
5
|
+
class I18n
|
6
|
+
|
7
|
+
extend Mixins::Constants::Common
|
8
|
+
|
9
|
+
# Arabic
|
10
|
+
AR = 'ar'.freeze
|
11
|
+
|
12
|
+
# Bulgarian
|
13
|
+
BG = 'bg'.freeze
|
14
|
+
|
15
|
+
# German
|
16
|
+
DE = 'de'.freeze
|
17
|
+
|
18
|
+
# English
|
19
|
+
EN = 'en'.freeze
|
20
|
+
|
21
|
+
# Spanish
|
22
|
+
ES = 'es'.freeze
|
23
|
+
|
24
|
+
# French
|
25
|
+
FR = 'fr'.freeze
|
26
|
+
|
27
|
+
# Hindu
|
28
|
+
HI = 'hi'.freeze
|
29
|
+
|
30
|
+
# Japanese
|
31
|
+
JA = 'ja'.freeze
|
32
|
+
|
33
|
+
# Icelandic
|
34
|
+
IS = 'is'.freeze
|
35
|
+
|
36
|
+
# Italian
|
37
|
+
IT = 'it'.freeze
|
38
|
+
|
39
|
+
# Dutch
|
40
|
+
NL = 'nl'.freeze
|
41
|
+
|
42
|
+
# Portuguese
|
43
|
+
PT = 'pt'.freeze
|
44
|
+
|
45
|
+
# Polish
|
46
|
+
PL = 'pl'.freeze
|
47
|
+
|
48
|
+
# Russian
|
49
|
+
RU = 'ru'.freeze
|
50
|
+
|
51
|
+
# Turkish
|
52
|
+
TR = 'tr'.freeze
|
53
|
+
|
54
|
+
# Mandarin Chinese
|
55
|
+
ZH = 'zh'.freeze
|
56
|
+
|
57
|
+
# Indonesian
|
58
|
+
ID = 'id'.freeze
|
59
|
+
|
60
|
+
# Malay
|
61
|
+
MS = 'ms'.freeze
|
62
|
+
|
63
|
+
# Thai
|
64
|
+
TH = 'th'.freeze
|
65
|
+
|
66
|
+
# Czech
|
67
|
+
CS = 'cs'.freeze
|
68
|
+
|
69
|
+
# Croatian
|
70
|
+
HR = 'hr'.freeze
|
71
|
+
|
72
|
+
# Slovenian
|
73
|
+
SL = 'sl'.freeze
|
74
|
+
|
75
|
+
# Finnish
|
76
|
+
FI = 'fi'.freeze
|
77
|
+
|
78
|
+
# Norwegian
|
79
|
+
NO = 'no'.freeze
|
80
|
+
|
81
|
+
# Danish
|
82
|
+
DA = 'da'.freeze
|
83
|
+
|
84
|
+
# Swedish
|
85
|
+
SV = 'sv'.freeze
|
86
|
+
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
# Mpi Protocol Versions allowed values
|
7
|
+
class MpiProtocolSubVersions
|
8
|
+
|
9
|
+
extend Mixins::Constants::Common
|
10
|
+
|
11
|
+
# Sub-protocol Version 1
|
12
|
+
PROTOCOL_SUB_VERSION_1 = 1
|
13
|
+
|
14
|
+
# Sub-protocol Version 2
|
15
|
+
PROTOCOL_SUB_VERSION_2 = 2
|
16
|
+
|
17
|
+
# Sub-protocol Version 3
|
18
|
+
PROTOCOL_SUB_VERSION_3 = 3
|
19
|
+
|
20
|
+
# Sub-protocol Version 4
|
21
|
+
PROTOCOL_SUB_VERSION_4 = 4
|
22
|
+
|
23
|
+
# Sub-protocol Version 5
|
24
|
+
PROTOCOL_SUB_VERSION_5 = 5
|
25
|
+
|
26
|
+
# Sub-protocol Version 6
|
27
|
+
PROTOCOL_SUB_VERSION_6 = 6
|
28
|
+
|
29
|
+
# Sub-protocol Version 7
|
30
|
+
PROTOCOL_SUB_VERSION_7 = 7
|
31
|
+
|
32
|
+
# Sub-protocol Version 8
|
33
|
+
PROTOCOL_SUB_VERSION_8 = 8
|
34
|
+
|
35
|
+
# Sub-protocol Version 9
|
36
|
+
PROTOCOL_SUB_VERSION_9 = 9
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/genesis_ruby/api/constants/transactions/parameters/travel_data/ancillary_charges_types.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
module TravelData
|
7
|
+
# Ancillary Charges Types
|
8
|
+
# Identify the Service Category Code for the primary type of service that has been provided
|
9
|
+
class AncillaryChargesTypes
|
10
|
+
|
11
|
+
extend Mixins::Constants::Common
|
12
|
+
|
13
|
+
BF = 'BF'.freeze
|
14
|
+
BG = 'BG'.freeze
|
15
|
+
CF = 'CF'.freeze
|
16
|
+
CG = 'CG'.freeze
|
17
|
+
CO = 'CO'.freeze
|
18
|
+
FF = 'FF'.freeze
|
19
|
+
GF = 'GF'.freeze
|
20
|
+
GT = 'GT'.freeze
|
21
|
+
IE = 'IE'.freeze
|
22
|
+
LG = 'LG'.freeze
|
23
|
+
MD = 'MD'.freeze
|
24
|
+
ML = 'ML'.freeze
|
25
|
+
OT = 'OT'.freeze
|
26
|
+
PA = 'PA'.freeze
|
27
|
+
PT = 'PT'.freeze
|
28
|
+
SA = 'SA'.freeze
|
29
|
+
SB = 'SB'.freeze
|
30
|
+
SF = 'SF'.freeze
|
31
|
+
ST = 'ST'.freeze
|
32
|
+
TS = 'TS'.freeze
|
33
|
+
UN = 'UN'.freeze
|
34
|
+
UP = 'UP'.freeze
|
35
|
+
WI = 'WI'.freeze
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module GenesisRuby
|
2
|
+
module Api
|
3
|
+
module Constants
|
4
|
+
module Transactions
|
5
|
+
module Parameters
|
6
|
+
module Wpf
|
7
|
+
# Channel for sending WPF reminder. Valid values are ’email’ and ’sms’
|
8
|
+
class ReminderChannels
|
9
|
+
|
10
|
+
extend Mixins::Constants::Common
|
11
|
+
|
12
|
+
# Channel email
|
13
|
+
EMAIL = 'email'.freeze
|
14
|
+
|
15
|
+
# Channel sms
|
16
|
+
SMS = 'sms'.freeze
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -115,10 +115,6 @@ module GenesisRuby
|
|
115
115
|
# They can also be refunded.
|
116
116
|
FASHIONCHEQUE = 'fashioncheque'.freeze
|
117
117
|
|
118
|
-
# GiroPay
|
119
|
-
# Direct PPRO transaction
|
120
|
-
GIROPAY = 'giropay'.freeze
|
121
|
-
|
122
118
|
# Google Pay allows shoppers to purchase with credit and debit cards linked to their Google account.
|
123
119
|
GOOGLE_PAY = 'google_pay'.freeze
|
124
120
|
|
@@ -260,7 +256,7 @@ module GenesisRuby
|
|
260
256
|
# PostFinance is an online banking provider in Switzerland
|
261
257
|
POST_FINANCE = 'post_finance'.freeze
|
262
258
|
|
263
|
-
# Supports payments via EPS, SafetyPay, TrustPay, ELV, Przelewy24
|
259
|
+
# Supports payments via EPS, SafetyPay, TrustPay, ELV, Przelewy24
|
264
260
|
PPRO = 'ppro'.freeze
|
265
261
|
|
266
262
|
# PSE (Pagos Seguros en Linea) is the preferred alternative payment solution in Colombia.
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'genesis_ruby/api/constants/transactions/parameters/mpi_protocol_versions'
|
2
|
+
require 'genesis_ruby/api/constants/transactions/parameters/mpi_protocol_sub_versions'
|
2
3
|
|
3
4
|
module GenesisRuby
|
4
5
|
module Api
|
@@ -9,9 +10,8 @@ module GenesisRuby
|
|
9
10
|
# Mixin Mpi Attributes
|
10
11
|
module MpiAttributes
|
11
12
|
|
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
|
13
|
+
attr_reader :mpi_threeds_challenge_indicator, :mpi_protocol_version, :mpi_protocol_sub_version
|
14
|
+
attr_accessor :mpi_cavv, :mpi_eci, :mpi_xid, :mpi_directory_server_id, :mpi_asc_transaction_id
|
15
15
|
|
16
16
|
# The used 3DS protocol version. Default is 1 if not supplied.
|
17
17
|
def mpi_protocol_version=(value)
|
@@ -31,6 +31,15 @@ module GenesisRuby
|
|
31
31
|
allowed_options attribute: __method__, allowed: allowed_indicators, value: value, allow_empty: true
|
32
32
|
end
|
33
33
|
|
34
|
+
# The used 3DSv2 authentication protocol.
|
35
|
+
def mpi_protocol_sub_version=(value)
|
36
|
+
allowed_options attribute: __method__,
|
37
|
+
allowed: GenesisRuby::Api::Constants::Transactions::Parameters::
|
38
|
+
MpiProtocolSubVersions.all,
|
39
|
+
value: value.to_i,
|
40
|
+
allow_empty: true
|
41
|
+
end
|
42
|
+
|
34
43
|
protected
|
35
44
|
|
36
45
|
# Mpi Attributes Structure
|
@@ -41,7 +50,8 @@ module GenesisRuby
|
|
41
50
|
protocol_version: mpi_protocol_version,
|
42
51
|
directory_server_id: mpi_directory_server_id,
|
43
52
|
acs_transaction_id: mpi_asc_transaction_id,
|
44
|
-
threeds_challenge_indicator: mpi_threeds_challenge_indicator
|
53
|
+
threeds_challenge_indicator: mpi_threeds_challenge_indicator,
|
54
|
+
protocol_sub_version: mpi_protocol_sub_version
|
45
55
|
}
|
46
56
|
end
|
47
57
|
|
data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_attributes.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'genesis_ruby/api/constants/transactions/parameters/managed_recurring/modes'
|
2
|
+
require 'genesis_ruby/api/constants/transactions/parameters/managed_recurring/intervals'
|
1
3
|
require 'genesis_ruby/api/mixins/requests/financial/cards/recurring/managed_recurring_indian_card_attributes'
|
2
4
|
|
3
5
|
module GenesisRuby
|
@@ -1,3 +1,7 @@
|
|
1
|
+
require 'genesis_ruby/api/constants/transactions/parameters/managed_recurring/payment_types'
|
2
|
+
require 'genesis_ruby/api/constants/transactions/parameters/managed_recurring/amount_types'
|
3
|
+
require 'genesis_ruby/api/constants/transactions/parameters/managed_recurring/frequencies'
|
4
|
+
|
1
5
|
module GenesisRuby
|
2
6
|
module Api
|
3
7
|
module Mixins
|