hamza-payments-query-sdk 1.0.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 +7 -0
- data/LICENSE +28 -0
- data/README.md +136 -0
- data/lib/payments/api_helper.rb +10 -0
- data/lib/payments/client.rb +78 -0
- data/lib/payments/configuration.rb +145 -0
- data/lib/payments/controllers/base_controller.rb +60 -0
- data/lib/payments/controllers/m3_ds_actions_controller.rb +97 -0
- data/lib/payments/controllers/manage_payments_controller.rb +272 -0
- data/lib/payments/controllers/payment_controller.rb +51 -0
- data/lib/payments/controllers/payment_queries_controller.rb +134 -0
- data/lib/payments/exceptions/api_exception.rb +21 -0
- data/lib/payments/exceptions/error_response_exception.rb +51 -0
- data/lib/payments/exceptions/header_error_response_exception.rb +58 -0
- data/lib/payments/exceptions/pq_querybydaterange400_response_exception.rb +51 -0
- data/lib/payments/exceptions/pq_querybypaymentid404_response_error_exception.rb +51 -0
- data/lib/payments/exceptions/pq_queryhistoricalpayments400_response_exception.rb +51 -0
- data/lib/payments/exceptions/validation_error_response_exception.rb +58 -0
- data/lib/payments/http/auth/basic_auth.rb +50 -0
- data/lib/payments/http/http_call_back.rb +10 -0
- data/lib/payments/http/http_method_enum.rb +10 -0
- data/lib/payments/http/http_request.rb +10 -0
- data/lib/payments/http/http_response.rb +10 -0
- data/lib/payments/http/proxy_settings.rb +13 -0
- data/lib/payments/models/accept_enum.rb +21 -0
- data/lib/payments/models/account_history.rb +110 -0
- data/lib/payments/models/account_updater_message1_enum.rb +44 -0
- data/lib/payments/models/account_updater_message_enum.rb +41 -0
- data/lib/payments/models/advice.rb +62 -0
- data/lib/payments/models/applepay_payments_instruction.rb +151 -0
- data/lib/payments/models/authentication.rb +161 -0
- data/lib/payments/models/authorization_action_list.rb +90 -0
- data/lib/payments/models/authorization_failed.rb +103 -0
- data/lib/payments/models/authorization_refused.rb +124 -0
- data/lib/payments/models/authorization_requested.rb +94 -0
- data/lib/payments/models/authorization_succeeded.rb +104 -0
- data/lib/payments/models/authorization_timed_out.rb +94 -0
- data/lib/payments/models/authorization_type1_enum.rb +23 -0
- data/lib/payments/models/authorization_type_enum.rb +23 -0
- data/lib/payments/models/avs_not_matched_enum.rb +25 -0
- data/lib/payments/models/base_model.rb +110 -0
- data/lib/payments/models/billing_address.rb +147 -0
- data/lib/payments/models/browser_color_depth_enum.rb +41 -0
- data/lib/payments/models/cancel_response.rb +71 -0
- data/lib/payments/models/cancellation.rb +88 -0
- data/lib/payments/models/cancellation_failed.rb +94 -0
- data/lib/payments/models/cancellation_request_submitted.rb +94 -0
- data/lib/payments/models/cancellation_requested.rb +94 -0
- data/lib/payments/models/cancellation_timed_out.rb +94 -0
- data/lib/payments/models/card.rb +159 -0
- data/lib/payments/models/card1.rb +106 -0
- data/lib/payments/models/card3.rb +72 -0
- data/lib/payments/models/card_authorized_payment_response.rb +195 -0
- data/lib/payments/models/card_payment_instrument.rb +76 -0
- data/lib/payments/models/card_payments_instruction.rb +164 -0
- data/lib/payments/models/category_enum.rb +23 -0
- data/lib/payments/models/challenge.rb +100 -0
- data/lib/payments/models/challenge_info.rb +91 -0
- data/lib/payments/models/challenge_response201.rb +75 -0
- data/lib/payments/models/challenge_response202.rb +62 -0
- data/lib/payments/models/challenged_action_list.rb +65 -0
- data/lib/payments/models/challenged_response.rb +96 -0
- data/lib/payments/models/channel1_enum.rb +27 -0
- data/lib/payments/models/channel_enum.rb +24 -0
- data/lib/payments/models/conflict_payment_instrument.rb +104 -0
- data/lib/payments/models/content_type_enum.rb +20 -0
- data/lib/payments/models/custom.rb +241 -0
- data/lib/payments/models/customer.rb +146 -0
- data/lib/payments/models/customer_agreement.rb +120 -0
- data/lib/payments/models/cvc_not_matched_enum.rb +24 -0
- data/lib/payments/models/detail_enum.rb +23 -0
- data/lib/payments/models/device_data.rb +200 -0
- data/lib/payments/models/device_data_collection.rb +79 -0
- data/lib/payments/models/device_data_request.rb +71 -0
- data/lib/payments/models/device_data_required_action_list.rb +66 -0
- data/lib/payments/models/device_data_required_response.rb +89 -0
- data/lib/payments/models/device_data_response201.rb +95 -0
- data/lib/payments/models/embedded.rb +71 -0
- data/lib/payments/models/embedded1.rb +71 -0
- data/lib/payments/models/error.rb +81 -0
- data/lib/payments/models/exemption.rb +106 -0
- data/lib/payments/models/expiry_date.rb +90 -0
- data/lib/payments/models/expiry_date1.rb +84 -0
- data/lib/payments/models/fraud.rb +73 -0
- data/lib/payments/models/fraud_high_risk_response.rb +88 -0
- data/lib/payments/models/funding_type_enum.rb +32 -0
- data/lib/payments/models/googlepay_payments_instruction.rb +151 -0
- data/lib/payments/models/identifier_type_enum.rb +26 -0
- data/lib/payments/models/installment_plan.rb +76 -0
- data/lib/payments/models/installment_type_enum.rb +26 -0
- data/lib/payments/models/issuer.rb +63 -0
- data/lib/payments/models/issuer1.rb +76 -0
- data/lib/payments/models/issuer_response_enum.rb +23 -0
- data/lib/payments/models/last_event_enum.rb +95 -0
- data/lib/payments/models/links.rb +123 -0
- data/lib/payments/models/links1.rb +70 -0
- data/lib/payments/models/links2.rb +60 -0
- data/lib/payments/models/links3.rb +97 -0
- data/lib/payments/models/merchant.rb +88 -0
- data/lib/payments/models/message_enum.rb +34 -0
- data/lib/payments/models/method_enum.rb +38 -0
- data/lib/payments/models/mnext.rb +62 -0
- data/lib/payments/models/mself.rb +62 -0
- data/lib/payments/models/name_enum.rb +51 -0
- data/lib/payments/models/narrative.rb +86 -0
- data/lib/payments/models/narrative1.rb +87 -0
- data/lib/payments/models/narrative2.rb +71 -0
- data/lib/payments/models/number.rb +85 -0
- data/lib/payments/models/number3.rb +62 -0
- data/lib/payments/models/outcome16_enum.rb +21 -0
- data/lib/payments/models/outcome17_enum.rb +21 -0
- data/lib/payments/models/outcome6_enum.rb +42 -0
- data/lib/payments/models/outcome7_enum.rb +26 -0
- data/lib/payments/models/outcome_enum.rb +50 -0
- data/lib/payments/models/partial_refund_action_list.rb +64 -0
- data/lib/payments/models/partial_refund_response.rb +81 -0
- data/lib/payments/models/partial_settle_action_list.rb +102 -0
- data/lib/payments/models/partial_settle_response.rb +81 -0
- data/lib/payments/models/payment.rb +192 -0
- data/lib/payments/models/payment1.rb +86 -0
- data/lib/payments/models/payment_instrument.rb +62 -0
- data/lib/payments/models/payment_instrument4.rb +81 -0
- data/lib/payments/models/payment_instrument6.rb +71 -0
- data/lib/payments/models/payment_instrument7.rb +171 -0
- data/lib/payments/models/payment_refused_response.rb +187 -0
- data/lib/payments/models/payment_request.rb +96 -0
- data/lib/payments/models/payments_action_cancel.rb +71 -0
- data/lib/payments/models/payments_action_complete3ds_challenge.rb +72 -0
- data/lib/payments/models/payments_action_partial_refund.rb +71 -0
- data/lib/payments/models/payments_action_partial_settle.rb +73 -0
- data/lib/payments/models/payments_action_refund.rb +71 -0
- data/lib/payments/models/payments_action_settle.rb +71 -0
- data/lib/payments/models/payments_action_supply3ds_device_data.rb +73 -0
- data/lib/payments/models/payments_bank_account.rb +119 -0
- data/lib/payments/models/payments_cancel.rb +72 -0
- data/lib/payments/models/payments_card_account.rb +69 -0
- data/lib/payments/models/payments_card_on_file_customer_agreement.rb +85 -0
- data/lib/payments/models/payments_card_plain_payment_instrument.rb +149 -0
- data/lib/payments/models/payments_customer_agreement.rb +79 -0
- data/lib/payments/models/payments_email_account.rb +69 -0
- data/lib/payments/models/payments_events.rb +72 -0
- data/lib/payments/models/payments_exemption.rb +102 -0
- data/lib/payments/models/payments_fraud.rb +107 -0
- data/lib/payments/models/payments_funds_recipient.rb +139 -0
- data/lib/payments/models/payments_funds_sender.rb +120 -0
- data/lib/payments/models/payments_funds_transfer.rb +108 -0
- data/lib/payments/models/payments_gift_cards_purchase.rb +81 -0
- data/lib/payments/models/payments_installment_customer_agreement.rb +133 -0
- data/lib/payments/models/payments_instruction.rb +309 -0
- data/lib/payments/models/payments_link.rb +62 -0
- data/lib/payments/models/payments_network_token_payment_instrument.rb +126 -0
- data/lib/payments/models/payments_partial_refund_request.rb +68 -0
- data/lib/payments/models/payments_partial_settle.rb +72 -0
- data/lib/payments/models/payments_partial_settle_request.rb +81 -0
- data/lib/payments/models/payments_payment_facilitator.rb +88 -0
- data/lib/payments/models/payments_payment_instrument.rb +78 -0
- data/lib/payments/models/payments_phone_account.rb +69 -0
- data/lib/payments/models/payments_recipient.rb +110 -0
- data/lib/payments/models/payments_recipient_account.rb +81 -0
- data/lib/payments/models/payments_recipient_address.rb +72 -0
- data/lib/payments/models/payments_response.rb +69 -0
- data/lib/payments/models/payments_response202.rb +90 -0
- data/lib/payments/models/payments_response_payment_instrument.rb +158 -0
- data/lib/payments/models/payments_sequence.rb +69 -0
- data/lib/payments/models/payments_settle.rb +72 -0
- data/lib/payments/models/payments_shipping_address.rb +148 -0
- data/lib/payments/models/payments_social_network_account.rb +71 -0
- data/lib/payments/models/payments_sub_merchant.rb +108 -0
- data/lib/payments/models/payments_sub_merchant_address.rb +99 -0
- data/lib/payments/models/payments_subscription_customer_agreement.rb +106 -0
- data/lib/payments/models/payments_three_ds.rb +217 -0
- data/lib/payments/models/payments_transfer_address.rb +112 -0
- data/lib/payments/models/payments_unscheduled_customer_agreement.rb +87 -0
- data/lib/payments/models/payments_wallet_account.rb +70 -0
- data/lib/payments/models/placement_enum.rb +21 -0
- data/lib/payments/models/pq_querybydaterange200_response.rb +68 -0
- data/lib/payments/models/pq_querybypaymentid200_response.rb +230 -0
- data/lib/payments/models/pq_queryhistoricalpayments200_response.rb +72 -0
- data/lib/payments/models/preference_enum.rb +29 -0
- data/lib/payments/models/preferred_card_brand_enum.rb +51 -0
- data/lib/payments/models/purpose_enum.rb +78 -0
- data/lib/payments/models/query_action_list.rb +114 -0
- data/lib/payments/models/query_events_response.rb +71 -0
- data/lib/payments/models/reason_enum.rb +50 -0
- data/lib/payments/models/refund_failed.rb +94 -0
- data/lib/payments/models/refund_request_submitted.rb +94 -0
- data/lib/payments/models/refund_requested.rb +124 -0
- data/lib/payments/models/refund_response.rb +71 -0
- data/lib/payments/models/refund_timed_out.rb +94 -0
- data/lib/payments/models/result_enum.rb +29 -0
- data/lib/payments/models/reversal_failed.rb +94 -0
- data/lib/payments/models/reversal_request_submitted.rb +94 -0
- data/lib/payments/models/reversal_requested.rb +103 -0
- data/lib/payments/models/reversal_timed_out.rb +94 -0
- data/lib/payments/models/risk_enum.rb +29 -0
- data/lib/payments/models/risk_factor.rb +82 -0
- data/lib/payments/models/routing.rb +74 -0
- data/lib/payments/models/sale_failed.rb +103 -0
- data/lib/payments/models/sale_refused.rb +124 -0
- data/lib/payments/models/sale_requested.rb +94 -0
- data/lib/payments/models/sale_succeeded.rb +104 -0
- data/lib/payments/models/sale_timed_out.rb +94 -0
- data/lib/payments/models/scheme.rb +75 -0
- data/lib/payments/models/self1.rb +72 -0
- data/lib/payments/models/self2.rb +62 -0
- data/lib/payments/models/self3.rb +62 -0
- data/lib/payments/models/sent_for_cancellation_response.rb +185 -0
- data/lib/payments/models/sent_for_settlement_action_list.rb +76 -0
- data/lib/payments/models/sent_for_settlement_response.rb +195 -0
- data/lib/payments/models/session_payment_instrument.rb +119 -0
- data/lib/payments/models/settle_action_list.rb +76 -0
- data/lib/payments/models/settle_response.rb +81 -0
- data/lib/payments/models/settlement.rb +88 -0
- data/lib/payments/models/settlement_failed.rb +94 -0
- data/lib/payments/models/settlement_request_submitted.rb +94 -0
- data/lib/payments/models/settlement_requested.rb +125 -0
- data/lib/payments/models/settlement_timed_out.rb +94 -0
- data/lib/payments/models/shipping.rb +130 -0
- data/lib/payments/models/stored_card_usage1_enum.rb +24 -0
- data/lib/payments/models/stored_card_usage_enum.rb +24 -0
- data/lib/payments/models/time_frame_enum.rb +29 -0
- data/lib/payments/models/token.rb +168 -0
- data/lib/payments/models/token_creation.rb +95 -0
- data/lib/payments/models/token_payment_instrument.rb +118 -0
- data/lib/payments/models/token_response_conflicts.rb +90 -0
- data/lib/payments/models/transaction_history.rb +127 -0
- data/lib/payments/models/transaction_type1_enum.rb +26 -0
- data/lib/payments/models/transaction_type_enum.rb +26 -0
- data/lib/payments/models/type10_enum.rb +23 -0
- data/lib/payments/models/type12_enum.rb +35 -0
- data/lib/payments/models/type1_enum.rb +26 -0
- data/lib/payments/models/type2_enum.rb +23 -0
- data/lib/payments/models/type3_enum.rb +20 -0
- data/lib/payments/models/type4_enum.rb +20 -0
- data/lib/payments/models/type5_enum.rb +41 -0
- data/lib/payments/models/type6_enum.rb +29 -0
- data/lib/payments/models/type7_enum.rb +23 -0
- data/lib/payments/models/type8_enum.rb +23 -0
- data/lib/payments/models/type9_enum.rb +35 -0
- data/lib/payments/models/type_enum.rb +23 -0
- data/lib/payments/models/unsuccessful_authentication_response.rb +76 -0
- data/lib/payments/models/updated_payment_instrument.rb +159 -0
- data/lib/payments/models/updated_payment_instrument1.rb +93 -0
- data/lib/payments/models/user_type_enum.rb +35 -0
- data/lib/payments/models/value.rb +94 -0
- data/lib/payments/models/value1.rb +91 -0
- data/lib/payments/models/value2.rb +91 -0
- data/lib/payments/models/value3.rb +91 -0
- data/lib/payments/models/value4.rb +91 -0
- data/lib/payments/models/verification.rb +173 -0
- data/lib/payments/models/wallet_payment_instrument.rb +100 -0
- data/lib/payments/models/window_size_enum.rb +34 -0
- data/lib/payments/models/wp_api_version_enum.rb +20 -0
- data/lib/payments/utilities/date_time_helper.rb +11 -0
- data/lib/payments/utilities/file_wrapper.rb +28 -0
- data/lib/payments/utilities/union_type_lookup.rb +78 -0
- data/lib/payments.rb +280 -0
- data/test/controllers/controller_test_base.rb +29 -0
- data/test/controllers/test_payment_controller.rb +161 -0
- data/test/controllers/test_payment_queries_controller.rb +68 -0
- data/test/http_response_catcher.rb +19 -0
- metadata +374 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Shipping Model.
|
|
8
|
+
class Shipping < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The shipping method used.
|
|
13
|
+
# @return [MethodEnum]
|
|
14
|
+
attr_accessor :method
|
|
15
|
+
|
|
16
|
+
# The shipping method used.
|
|
17
|
+
# @return [TimeFrameEnum]
|
|
18
|
+
attr_accessor :time_frame
|
|
19
|
+
|
|
20
|
+
# The email address used for an electronic delivery.
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :email
|
|
23
|
+
|
|
24
|
+
# The phone number used for delivery.
|
|
25
|
+
# @return [String]
|
|
26
|
+
attr_accessor :phone
|
|
27
|
+
|
|
28
|
+
# First name used on the shipping address.
|
|
29
|
+
# @return [String]
|
|
30
|
+
attr_accessor :first_name
|
|
31
|
+
|
|
32
|
+
# Last name used on the shipping address.
|
|
33
|
+
# @return [String]
|
|
34
|
+
attr_accessor :last_name
|
|
35
|
+
|
|
36
|
+
# Last name used on the shipping address.
|
|
37
|
+
# @return [PaymentsShippingAddress]
|
|
38
|
+
attr_accessor :address
|
|
39
|
+
|
|
40
|
+
# A mapping from model property names to API property names.
|
|
41
|
+
def self.names
|
|
42
|
+
@_hash = {} if @_hash.nil?
|
|
43
|
+
@_hash['method'] = 'method'
|
|
44
|
+
@_hash['time_frame'] = 'timeFrame'
|
|
45
|
+
@_hash['email'] = 'email'
|
|
46
|
+
@_hash['phone'] = 'phone'
|
|
47
|
+
@_hash['first_name'] = 'firstName'
|
|
48
|
+
@_hash['last_name'] = 'lastName'
|
|
49
|
+
@_hash['address'] = 'address'
|
|
50
|
+
@_hash
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# An array for optional fields
|
|
54
|
+
def self.optionals
|
|
55
|
+
%w[
|
|
56
|
+
method
|
|
57
|
+
time_frame
|
|
58
|
+
email
|
|
59
|
+
phone
|
|
60
|
+
first_name
|
|
61
|
+
last_name
|
|
62
|
+
address
|
|
63
|
+
]
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# An array for nullable fields
|
|
67
|
+
def self.nullables
|
|
68
|
+
[]
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def initialize(method = SKIP, time_frame = SKIP, email = SKIP, phone = SKIP,
|
|
72
|
+
first_name = SKIP, last_name = SKIP, address = SKIP)
|
|
73
|
+
@method = method unless method == SKIP
|
|
74
|
+
@time_frame = time_frame unless time_frame == SKIP
|
|
75
|
+
@email = email unless email == SKIP
|
|
76
|
+
@phone = phone unless phone == SKIP
|
|
77
|
+
@first_name = first_name unless first_name == SKIP
|
|
78
|
+
@last_name = last_name unless last_name == SKIP
|
|
79
|
+
@address = address unless address == SKIP
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Creates an instance of the object from a hash.
|
|
83
|
+
def self.from_hash(hash)
|
|
84
|
+
return nil unless hash
|
|
85
|
+
|
|
86
|
+
# Extract variables from the hash.
|
|
87
|
+
method = hash.key?('method') ? hash['method'] : SKIP
|
|
88
|
+
time_frame = hash.key?('timeFrame') ? hash['timeFrame'] : SKIP
|
|
89
|
+
email = hash.key?('email') ? hash['email'] : SKIP
|
|
90
|
+
phone = hash.key?('phone') ? hash['phone'] : SKIP
|
|
91
|
+
first_name = hash.key?('firstName') ? hash['firstName'] : SKIP
|
|
92
|
+
last_name = hash.key?('lastName') ? hash['lastName'] : SKIP
|
|
93
|
+
address = PaymentsShippingAddress.from_hash(hash['address']) if hash['address']
|
|
94
|
+
|
|
95
|
+
# Create object from extracted values.
|
|
96
|
+
Shipping.new(method,
|
|
97
|
+
time_frame,
|
|
98
|
+
email,
|
|
99
|
+
phone,
|
|
100
|
+
first_name,
|
|
101
|
+
last_name,
|
|
102
|
+
address)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Validates an instance of the object from a given value.
|
|
106
|
+
# @param [Shipping | Hash] The value against the validation is performed.
|
|
107
|
+
def self.validate(value)
|
|
108
|
+
return true if value.instance_of? self
|
|
109
|
+
|
|
110
|
+
return false unless value.instance_of? Hash
|
|
111
|
+
|
|
112
|
+
true
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Provides a human-readable string representation of the object.
|
|
116
|
+
def to_s
|
|
117
|
+
class_name = self.class.name.split('::').last
|
|
118
|
+
"<#{class_name} method: #{@method}, time_frame: #{@time_frame}, email: #{@email}, phone:"\
|
|
119
|
+
" #{@phone}, first_name: #{@first_name}, last_name: #{@last_name}, address: #{@address}>"
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
123
|
+
def inspect
|
|
124
|
+
class_name = self.class.name.split('::').last
|
|
125
|
+
"<#{class_name} method: #{@method.inspect}, time_frame: #{@time_frame.inspect}, email:"\
|
|
126
|
+
" #{@email.inspect}, phone: #{@phone.inspect}, first_name: #{@first_name.inspect},"\
|
|
127
|
+
" last_name: #{@last_name.inspect}, address: #{@address.inspect}>"
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Set to `first` to store a card or `subsequent` to use a previously stored
|
|
8
|
+
# card. Mandatory for `merchant` installment type.
|
|
9
|
+
class StoredCardUsage1Enum
|
|
10
|
+
STORED_CARD_USAGE1_ENUM = [
|
|
11
|
+
# TODO: Write general description for FIRST
|
|
12
|
+
FIRST = 'first'.freeze,
|
|
13
|
+
|
|
14
|
+
# TODO: Write general description for SUBSEQUENT
|
|
15
|
+
SUBSEQUENT = 'subsequent'.freeze
|
|
16
|
+
].freeze
|
|
17
|
+
|
|
18
|
+
def self.validate(value)
|
|
19
|
+
return false if value.nil?
|
|
20
|
+
|
|
21
|
+
STORED_CARD_USAGE1_ENUM.include?(value)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Set to `first` to store a card or `subsequent` to use a previously stored
|
|
8
|
+
# card.
|
|
9
|
+
class StoredCardUsageEnum
|
|
10
|
+
STORED_CARD_USAGE_ENUM = [
|
|
11
|
+
# TODO: Write general description for FIRST
|
|
12
|
+
FIRST = 'first'.freeze,
|
|
13
|
+
|
|
14
|
+
# TODO: Write general description for SUBSEQUENT
|
|
15
|
+
SUBSEQUENT = 'subsequent'.freeze
|
|
16
|
+
].freeze
|
|
17
|
+
|
|
18
|
+
def self.validate(value)
|
|
19
|
+
return false if value.nil?
|
|
20
|
+
|
|
21
|
+
STORED_CARD_USAGE_ENUM.include?(value)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# TimeFrame.
|
|
8
|
+
class TimeFrameEnum
|
|
9
|
+
TIME_FRAME_ENUM = [
|
|
10
|
+
# TODO: Write general description for ELECTRONIC
|
|
11
|
+
ELECTRONIC = 'electronic'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for SAMEDAY
|
|
14
|
+
SAMEDAY = 'sameDay'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for NEXTDAY
|
|
17
|
+
NEXTDAY = 'nextDay'.freeze,
|
|
18
|
+
|
|
19
|
+
# TODO: Write general description for TWODAYSPLUS
|
|
20
|
+
TWODAYSPLUS = 'twoDaysPlus'.freeze
|
|
21
|
+
].freeze
|
|
22
|
+
|
|
23
|
+
def self.validate(value)
|
|
24
|
+
return false if value.nil?
|
|
25
|
+
|
|
26
|
+
TIME_FRAME_ENUM.include?(value)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Details of the token created
|
|
8
|
+
class Token < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :href
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for this method
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :token_id
|
|
19
|
+
|
|
20
|
+
# TODO: Write general description for this method
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :token_expiry_date_time
|
|
23
|
+
|
|
24
|
+
# TODO: Write general description for this method
|
|
25
|
+
# @return [String]
|
|
26
|
+
attr_accessor :card_number
|
|
27
|
+
|
|
28
|
+
# TODO: Write general description for this method
|
|
29
|
+
# @return [String]
|
|
30
|
+
attr_accessor :card_holder_name
|
|
31
|
+
|
|
32
|
+
# Contains your customer's card or token expiry date.
|
|
33
|
+
# @return [ExpiryDate]
|
|
34
|
+
attr_accessor :card_expiry
|
|
35
|
+
|
|
36
|
+
# Contains your customer's card or token expiry date.
|
|
37
|
+
# @return [String]
|
|
38
|
+
attr_accessor :bin
|
|
39
|
+
|
|
40
|
+
# Contains your customer's card or token expiry date.
|
|
41
|
+
# @return [String]
|
|
42
|
+
attr_accessor :funding_type
|
|
43
|
+
|
|
44
|
+
# Contains your customer's card or token expiry date.
|
|
45
|
+
# @return [String]
|
|
46
|
+
attr_accessor :country_code
|
|
47
|
+
|
|
48
|
+
# Contains your customer's card or token expiry date.
|
|
49
|
+
# @return [String]
|
|
50
|
+
attr_accessor :scheme_reference
|
|
51
|
+
|
|
52
|
+
# Contains your customer's card or token expiry date.
|
|
53
|
+
# @return [TokenResponseConflicts]
|
|
54
|
+
attr_accessor :conflicts
|
|
55
|
+
|
|
56
|
+
# A mapping from model property names to API property names.
|
|
57
|
+
def self.names
|
|
58
|
+
@_hash = {} if @_hash.nil?
|
|
59
|
+
@_hash['href'] = 'href'
|
|
60
|
+
@_hash['token_id'] = 'tokenId'
|
|
61
|
+
@_hash['token_expiry_date_time'] = 'tokenExpiryDateTime'
|
|
62
|
+
@_hash['card_number'] = 'cardNumber'
|
|
63
|
+
@_hash['card_holder_name'] = 'cardHolderName'
|
|
64
|
+
@_hash['card_expiry'] = 'cardExpiry'
|
|
65
|
+
@_hash['bin'] = 'bin'
|
|
66
|
+
@_hash['funding_type'] = 'fundingType'
|
|
67
|
+
@_hash['country_code'] = 'countryCode'
|
|
68
|
+
@_hash['scheme_reference'] = 'schemeReference'
|
|
69
|
+
@_hash['conflicts'] = 'conflicts'
|
|
70
|
+
@_hash
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# An array for optional fields
|
|
74
|
+
def self.optionals
|
|
75
|
+
%w[
|
|
76
|
+
href
|
|
77
|
+
token_id
|
|
78
|
+
token_expiry_date_time
|
|
79
|
+
card_number
|
|
80
|
+
card_holder_name
|
|
81
|
+
card_expiry
|
|
82
|
+
bin
|
|
83
|
+
funding_type
|
|
84
|
+
country_code
|
|
85
|
+
scheme_reference
|
|
86
|
+
conflicts
|
|
87
|
+
]
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# An array for nullable fields
|
|
91
|
+
def self.nullables
|
|
92
|
+
[]
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def initialize(href = SKIP, token_id = SKIP, token_expiry_date_time = SKIP,
|
|
96
|
+
card_number = SKIP, card_holder_name = SKIP,
|
|
97
|
+
card_expiry = SKIP, bin = SKIP, funding_type = SKIP,
|
|
98
|
+
country_code = SKIP, scheme_reference = SKIP,
|
|
99
|
+
conflicts = SKIP)
|
|
100
|
+
@href = href unless href == SKIP
|
|
101
|
+
@token_id = token_id unless token_id == SKIP
|
|
102
|
+
@token_expiry_date_time = token_expiry_date_time unless token_expiry_date_time == SKIP
|
|
103
|
+
@card_number = card_number unless card_number == SKIP
|
|
104
|
+
@card_holder_name = card_holder_name unless card_holder_name == SKIP
|
|
105
|
+
@card_expiry = card_expiry unless card_expiry == SKIP
|
|
106
|
+
@bin = bin unless bin == SKIP
|
|
107
|
+
@funding_type = funding_type unless funding_type == SKIP
|
|
108
|
+
@country_code = country_code unless country_code == SKIP
|
|
109
|
+
@scheme_reference = scheme_reference unless scheme_reference == SKIP
|
|
110
|
+
@conflicts = conflicts unless conflicts == SKIP
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Creates an instance of the object from a hash.
|
|
114
|
+
def self.from_hash(hash)
|
|
115
|
+
return nil unless hash
|
|
116
|
+
|
|
117
|
+
# Extract variables from the hash.
|
|
118
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
119
|
+
token_id = hash.key?('tokenId') ? hash['tokenId'] : SKIP
|
|
120
|
+
token_expiry_date_time =
|
|
121
|
+
hash.key?('tokenExpiryDateTime') ? hash['tokenExpiryDateTime'] : SKIP
|
|
122
|
+
card_number = hash.key?('cardNumber') ? hash['cardNumber'] : SKIP
|
|
123
|
+
card_holder_name =
|
|
124
|
+
hash.key?('cardHolderName') ? hash['cardHolderName'] : SKIP
|
|
125
|
+
card_expiry = ExpiryDate.from_hash(hash['cardExpiry']) if hash['cardExpiry']
|
|
126
|
+
bin = hash.key?('bin') ? hash['bin'] : SKIP
|
|
127
|
+
funding_type = hash.key?('fundingType') ? hash['fundingType'] : SKIP
|
|
128
|
+
country_code = hash.key?('countryCode') ? hash['countryCode'] : SKIP
|
|
129
|
+
scheme_reference =
|
|
130
|
+
hash.key?('schemeReference') ? hash['schemeReference'] : SKIP
|
|
131
|
+
conflicts = TokenResponseConflicts.from_hash(hash['conflicts']) if hash['conflicts']
|
|
132
|
+
|
|
133
|
+
# Create object from extracted values.
|
|
134
|
+
Token.new(href,
|
|
135
|
+
token_id,
|
|
136
|
+
token_expiry_date_time,
|
|
137
|
+
card_number,
|
|
138
|
+
card_holder_name,
|
|
139
|
+
card_expiry,
|
|
140
|
+
bin,
|
|
141
|
+
funding_type,
|
|
142
|
+
country_code,
|
|
143
|
+
scheme_reference,
|
|
144
|
+
conflicts)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Provides a human-readable string representation of the object.
|
|
148
|
+
def to_s
|
|
149
|
+
class_name = self.class.name.split('::').last
|
|
150
|
+
"<#{class_name} href: #{@href}, token_id: #{@token_id}, token_expiry_date_time:"\
|
|
151
|
+
" #{@token_expiry_date_time}, card_number: #{@card_number}, card_holder_name:"\
|
|
152
|
+
" #{@card_holder_name}, card_expiry: #{@card_expiry}, bin: #{@bin}, funding_type:"\
|
|
153
|
+
" #{@funding_type}, country_code: #{@country_code}, scheme_reference: #{@scheme_reference},"\
|
|
154
|
+
" conflicts: #{@conflicts}>"
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
158
|
+
def inspect
|
|
159
|
+
class_name = self.class.name.split('::').last
|
|
160
|
+
"<#{class_name} href: #{@href.inspect}, token_id: #{@token_id.inspect},"\
|
|
161
|
+
" token_expiry_date_time: #{@token_expiry_date_time.inspect}, card_number:"\
|
|
162
|
+
" #{@card_number.inspect}, card_holder_name: #{@card_holder_name.inspect}, card_expiry:"\
|
|
163
|
+
" #{@card_expiry.inspect}, bin: #{@bin.inspect}, funding_type: #{@funding_type.inspect},"\
|
|
164
|
+
" country_code: #{@country_code.inspect}, scheme_reference: #{@scheme_reference.inspect},"\
|
|
165
|
+
" conflicts: #{@conflicts.inspect}>"
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Use this object if you want to create a token after the payment. Can only be
|
|
8
|
+
# used with paymentInstrument.type: card/plain & checkout.
|
|
9
|
+
class TokenCreation < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for this method
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_reader :type
|
|
16
|
+
|
|
17
|
+
# A namespace is used to group up to 16 cards, e.g. for one customer. A card
|
|
18
|
+
# can exist in more than one namespace.
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_accessor :namespace
|
|
21
|
+
|
|
22
|
+
# A description of your token. If not supplied, a default description is
|
|
23
|
+
# created for you.
|
|
24
|
+
# @return [String]
|
|
25
|
+
attr_accessor :description
|
|
26
|
+
|
|
27
|
+
# A mapping from model property names to API property names.
|
|
28
|
+
def self.names
|
|
29
|
+
@_hash = {} if @_hash.nil?
|
|
30
|
+
@_hash['type'] = 'type'
|
|
31
|
+
@_hash['namespace'] = 'namespace'
|
|
32
|
+
@_hash['description'] = 'description'
|
|
33
|
+
@_hash
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for optional fields
|
|
37
|
+
def self.optionals
|
|
38
|
+
%w[
|
|
39
|
+
namespace
|
|
40
|
+
description
|
|
41
|
+
]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# An array for nullable fields
|
|
45
|
+
def self.nullables
|
|
46
|
+
[]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def initialize(namespace = SKIP, description = SKIP)
|
|
50
|
+
@type = 'worldpay'
|
|
51
|
+
@namespace = namespace unless namespace == SKIP
|
|
52
|
+
@description = description unless description == SKIP
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Creates an instance of the object from a hash.
|
|
56
|
+
def self.from_hash(hash)
|
|
57
|
+
return nil unless hash
|
|
58
|
+
|
|
59
|
+
# Extract variables from the hash.
|
|
60
|
+
namespace = hash.key?('namespace') ? hash['namespace'] : SKIP
|
|
61
|
+
description = hash.key?('description') ? hash['description'] : SKIP
|
|
62
|
+
|
|
63
|
+
# Create object from extracted values.
|
|
64
|
+
TokenCreation.new(namespace,
|
|
65
|
+
description)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Validates an instance of the object from a given value.
|
|
69
|
+
# @param [TokenCreation | Hash] The value against the validation is performed.
|
|
70
|
+
def self.validate(value)
|
|
71
|
+
if value.instance_of? self
|
|
72
|
+
return APIHelper.valid_type?(value.type,
|
|
73
|
+
->(val) { val.instance_of? String })
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
return false unless value.instance_of? Hash
|
|
77
|
+
|
|
78
|
+
APIHelper.valid_type?(value['type'],
|
|
79
|
+
->(val) { val.instance_of? String })
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Provides a human-readable string representation of the object.
|
|
83
|
+
def to_s
|
|
84
|
+
class_name = self.class.name.split('::').last
|
|
85
|
+
"<#{class_name} type: #{@type}, namespace: #{@namespace}, description: #{@description}>"
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
89
|
+
def inspect
|
|
90
|
+
class_name = self.class.name.split('::').last
|
|
91
|
+
"<#{class_name} type: #{@type.inspect}, namespace: #{@namespace.inspect}, description:"\
|
|
92
|
+
" #{@description.inspect}>"
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'payments_payment_instrument'
|
|
7
|
+
|
|
8
|
+
module Payments
|
|
9
|
+
# TokenPaymentInstrument Model.
|
|
10
|
+
class TokenPaymentInstrument < PaymentsPaymentInstrument
|
|
11
|
+
# An http address that contains your link to an Access Token.
|
|
12
|
+
# @return [String]
|
|
13
|
+
attr_accessor :href
|
|
14
|
+
|
|
15
|
+
# CVC is a unique set of 3 or 4 numbers on the back of the card. Our API
|
|
16
|
+
# checks to see if the CVC supplied matches the CVC held by the issuing
|
|
17
|
+
# bank.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :cvc
|
|
20
|
+
|
|
21
|
+
# Href to the Checkout session providing the Card Verification Code
|
|
22
|
+
# (CVC).__Note:__ Provide a value in `cvcSessionHref` or `cvc`, never both.
|
|
23
|
+
# @return [String]
|
|
24
|
+
attr_accessor :cvc_session_href
|
|
25
|
+
|
|
26
|
+
# An object containing specific routing preferences.
|
|
27
|
+
# @return [Routing]
|
|
28
|
+
attr_accessor :routing
|
|
29
|
+
|
|
30
|
+
# A mapping from model property names to API property names.
|
|
31
|
+
def self.names
|
|
32
|
+
@_hash = {} if @_hash.nil?
|
|
33
|
+
@_hash['href'] = 'href'
|
|
34
|
+
@_hash['cvc'] = 'cvc'
|
|
35
|
+
@_hash['cvc_session_href'] = 'cvcSessionHref'
|
|
36
|
+
@_hash['routing'] = 'routing'
|
|
37
|
+
@_hash = super().merge(@_hash)
|
|
38
|
+
@_hash
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# An array for optional fields
|
|
42
|
+
def self.optionals
|
|
43
|
+
_arr = %w[
|
|
44
|
+
cvc
|
|
45
|
+
cvc_session_href
|
|
46
|
+
routing
|
|
47
|
+
]
|
|
48
|
+
(_arr << super()).flatten!
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# An array for nullable fields
|
|
52
|
+
def self.nullables
|
|
53
|
+
_arr = []
|
|
54
|
+
(_arr << super()).flatten!
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def initialize(href = nil, cvc = SKIP, cvc_session_href = SKIP,
|
|
58
|
+
routing = SKIP, type = 'token')
|
|
59
|
+
@href = href
|
|
60
|
+
@cvc = cvc unless cvc == SKIP
|
|
61
|
+
@cvc_session_href = cvc_session_href unless cvc_session_href == SKIP
|
|
62
|
+
@routing = routing unless routing == SKIP
|
|
63
|
+
|
|
64
|
+
# Call the constructor of the base class
|
|
65
|
+
super(type)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Creates an instance of the object from a hash.
|
|
69
|
+
def self.from_hash(hash)
|
|
70
|
+
return nil unless hash
|
|
71
|
+
|
|
72
|
+
# Extract variables from the hash.
|
|
73
|
+
href = hash.key?('href') ? hash['href'] : nil
|
|
74
|
+
cvc = hash.key?('cvc') ? hash['cvc'] : SKIP
|
|
75
|
+
cvc_session_href =
|
|
76
|
+
hash.key?('cvcSessionHref') ? hash['cvcSessionHref'] : SKIP
|
|
77
|
+
routing = Routing.from_hash(hash['routing']) if hash['routing']
|
|
78
|
+
type = hash['type'] ||= 'token'
|
|
79
|
+
|
|
80
|
+
# Create object from extracted values.
|
|
81
|
+
TokenPaymentInstrument.new(href,
|
|
82
|
+
cvc,
|
|
83
|
+
cvc_session_href,
|
|
84
|
+
routing,
|
|
85
|
+
type)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Validates an instance of the object from a given value.
|
|
89
|
+
# @param [TokenPaymentInstrument | Hash] The value against the validation is performed.
|
|
90
|
+
def self.validate(value)
|
|
91
|
+
if value.instance_of? self
|
|
92
|
+
return APIHelper.valid_type?(value.href,
|
|
93
|
+
->(val) { val.instance_of? String })
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
return false unless value.instance_of? Hash
|
|
97
|
+
|
|
98
|
+
APIHelper.valid_type?(value['href'],
|
|
99
|
+
->(val) { val.instance_of? String })
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Provides a human-readable string representation of the object.
|
|
103
|
+
def to_s
|
|
104
|
+
class_name = self.class.name.split('::').last
|
|
105
|
+
super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
|
|
106
|
+
"<#{class_name} #{super_string}, href: #{@href}, cvc: #{@cvc}, cvc_session_href:"\
|
|
107
|
+
" #{@cvc_session_href}, routing: #{@routing}>"
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
111
|
+
def inspect
|
|
112
|
+
class_name = self.class.name.split('::').last
|
|
113
|
+
super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
|
|
114
|
+
"<#{class_name} #{super_string}, href: #{@href.inspect}, cvc: #{@cvc.inspect},"\
|
|
115
|
+
" cvc_session_href: #{@cvc_session_href.inspect}, routing: #{@routing.inspect}>"
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# TokenResponseConflicts Model.
|
|
8
|
+
class TokenResponseConflicts < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :conflicts_expiry_date_time
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for this method
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :scheme_reference
|
|
19
|
+
|
|
20
|
+
# TODO: Write general description for this method
|
|
21
|
+
# @return [ConflictPaymentInstrument]
|
|
22
|
+
attr_accessor :payment_instrument
|
|
23
|
+
|
|
24
|
+
# A mapping from model property names to API property names.
|
|
25
|
+
def self.names
|
|
26
|
+
@_hash = {} if @_hash.nil?
|
|
27
|
+
@_hash['conflicts_expiry_date_time'] = 'conflictsExpiryDateTime'
|
|
28
|
+
@_hash['scheme_reference'] = 'schemeReference'
|
|
29
|
+
@_hash['payment_instrument'] = 'paymentInstrument'
|
|
30
|
+
@_hash
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# An array for optional fields
|
|
34
|
+
def self.optionals
|
|
35
|
+
%w[
|
|
36
|
+
conflicts_expiry_date_time
|
|
37
|
+
scheme_reference
|
|
38
|
+
payment_instrument
|
|
39
|
+
]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# An array for nullable fields
|
|
43
|
+
def self.nullables
|
|
44
|
+
[]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def initialize(conflicts_expiry_date_time = SKIP, scheme_reference = SKIP,
|
|
48
|
+
payment_instrument = SKIP)
|
|
49
|
+
unless conflicts_expiry_date_time == SKIP
|
|
50
|
+
@conflicts_expiry_date_time =
|
|
51
|
+
conflicts_expiry_date_time
|
|
52
|
+
end
|
|
53
|
+
@scheme_reference = scheme_reference unless scheme_reference == SKIP
|
|
54
|
+
@payment_instrument = payment_instrument unless payment_instrument == SKIP
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Creates an instance of the object from a hash.
|
|
58
|
+
def self.from_hash(hash)
|
|
59
|
+
return nil unless hash
|
|
60
|
+
|
|
61
|
+
# Extract variables from the hash.
|
|
62
|
+
conflicts_expiry_date_time =
|
|
63
|
+
hash.key?('conflictsExpiryDateTime') ? hash['conflictsExpiryDateTime'] : SKIP
|
|
64
|
+
scheme_reference =
|
|
65
|
+
hash.key?('schemeReference') ? hash['schemeReference'] : SKIP
|
|
66
|
+
payment_instrument = ConflictPaymentInstrument.from_hash(hash['paymentInstrument']) if
|
|
67
|
+
hash['paymentInstrument']
|
|
68
|
+
|
|
69
|
+
# Create object from extracted values.
|
|
70
|
+
TokenResponseConflicts.new(conflicts_expiry_date_time,
|
|
71
|
+
scheme_reference,
|
|
72
|
+
payment_instrument)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Provides a human-readable string representation of the object.
|
|
76
|
+
def to_s
|
|
77
|
+
class_name = self.class.name.split('::').last
|
|
78
|
+
"<#{class_name} conflicts_expiry_date_time: #{@conflicts_expiry_date_time},"\
|
|
79
|
+
" scheme_reference: #{@scheme_reference}, payment_instrument: #{@payment_instrument}>"
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
83
|
+
def inspect
|
|
84
|
+
class_name = self.class.name.split('::').last
|
|
85
|
+
"<#{class_name} conflicts_expiry_date_time: #{@conflicts_expiry_date_time.inspect},"\
|
|
86
|
+
" scheme_reference: #{@scheme_reference.inspect}, payment_instrument:"\
|
|
87
|
+
" #{@payment_instrument.inspect}>"
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|