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,102 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# PartialSettleActionList Model.
|
|
8
|
+
class PartialSettleActionList < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Fully refund the payment. See [details](../payments-lifecycle/refund)
|
|
13
|
+
# @return [PaymentsActionRefund]
|
|
14
|
+
attr_accessor :refund_payment
|
|
15
|
+
|
|
16
|
+
# Partially refund the payment.
|
|
17
|
+
# @return [PaymentsActionPartialRefund]
|
|
18
|
+
attr_accessor :partially_refund_payment
|
|
19
|
+
|
|
20
|
+
# Partially settle the payment. See
|
|
21
|
+
# [details](../payments-lifecycle/partialsettle) including what to add in
|
|
22
|
+
# the request body.
|
|
23
|
+
# @return [PaymentsActionPartialSettle]
|
|
24
|
+
attr_accessor :partially_settle_payment
|
|
25
|
+
|
|
26
|
+
# Cancel the payment. See [details](../payments-lifecycle/cancel)
|
|
27
|
+
# @return [PaymentsActionCancel]
|
|
28
|
+
attr_accessor :cancel_payment
|
|
29
|
+
|
|
30
|
+
# A mapping from model property names to API property names.
|
|
31
|
+
def self.names
|
|
32
|
+
@_hash = {} if @_hash.nil?
|
|
33
|
+
@_hash['refund_payment'] = 'refundPayment'
|
|
34
|
+
@_hash['partially_refund_payment'] = 'partiallyRefundPayment'
|
|
35
|
+
@_hash['partially_settle_payment'] = 'partiallySettlePayment'
|
|
36
|
+
@_hash['cancel_payment'] = 'cancelPayment'
|
|
37
|
+
@_hash
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# An array for optional fields
|
|
41
|
+
def self.optionals
|
|
42
|
+
%w[
|
|
43
|
+
refund_payment
|
|
44
|
+
partially_refund_payment
|
|
45
|
+
partially_settle_payment
|
|
46
|
+
cancel_payment
|
|
47
|
+
]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# An array for nullable fields
|
|
51
|
+
def self.nullables
|
|
52
|
+
[]
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def initialize(refund_payment = SKIP, partially_refund_payment = SKIP,
|
|
56
|
+
partially_settle_payment = SKIP, cancel_payment = SKIP)
|
|
57
|
+
@refund_payment = refund_payment unless refund_payment == SKIP
|
|
58
|
+
@partially_refund_payment = partially_refund_payment unless partially_refund_payment == SKIP
|
|
59
|
+
@partially_settle_payment = partially_settle_payment unless partially_settle_payment == SKIP
|
|
60
|
+
@cancel_payment = cancel_payment unless cancel_payment == SKIP
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Creates an instance of the object from a hash.
|
|
64
|
+
def self.from_hash(hash)
|
|
65
|
+
return nil unless hash
|
|
66
|
+
|
|
67
|
+
# Extract variables from the hash.
|
|
68
|
+
refund_payment = PaymentsActionRefund.from_hash(hash['refundPayment']) if
|
|
69
|
+
hash['refundPayment']
|
|
70
|
+
if hash['partiallyRefundPayment']
|
|
71
|
+
partially_refund_payment = PaymentsActionPartialRefund.from_hash(hash['partiallyRefundPayment'])
|
|
72
|
+
end
|
|
73
|
+
if hash['partiallySettlePayment']
|
|
74
|
+
partially_settle_payment = PaymentsActionPartialSettle.from_hash(hash['partiallySettlePayment'])
|
|
75
|
+
end
|
|
76
|
+
cancel_payment = PaymentsActionCancel.from_hash(hash['cancelPayment']) if
|
|
77
|
+
hash['cancelPayment']
|
|
78
|
+
|
|
79
|
+
# Create object from extracted values.
|
|
80
|
+
PartialSettleActionList.new(refund_payment,
|
|
81
|
+
partially_refund_payment,
|
|
82
|
+
partially_settle_payment,
|
|
83
|
+
cancel_payment)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# Provides a human-readable string representation of the object.
|
|
87
|
+
def to_s
|
|
88
|
+
class_name = self.class.name.split('::').last
|
|
89
|
+
"<#{class_name} refund_payment: #{@refund_payment}, partially_refund_payment:"\
|
|
90
|
+
" #{@partially_refund_payment}, partially_settle_payment: #{@partially_settle_payment},"\
|
|
91
|
+
" cancel_payment: #{@cancel_payment}>"
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
95
|
+
def inspect
|
|
96
|
+
class_name = self.class.name.split('::').last
|
|
97
|
+
"<#{class_name} refund_payment: #{@refund_payment.inspect}, partially_refund_payment:"\
|
|
98
|
+
" #{@partially_refund_payment.inspect}, partially_settle_payment:"\
|
|
99
|
+
" #{@partially_settle_payment.inspect}, cancel_payment: #{@cancel_payment.inspect}>"
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# PartialSettleResponse Model.
|
|
8
|
+
class PartialSettleResponse < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [OutcomeEnum]
|
|
14
|
+
attr_accessor :outcome
|
|
15
|
+
|
|
16
|
+
# Return details about the status of the payment
|
|
17
|
+
# @return [PaymentsLink]
|
|
18
|
+
attr_accessor :links
|
|
19
|
+
|
|
20
|
+
# Return details about the status of the payment
|
|
21
|
+
# @return [PartialSettleActionList]
|
|
22
|
+
attr_accessor :actions
|
|
23
|
+
|
|
24
|
+
# A mapping from model property names to API property names.
|
|
25
|
+
def self.names
|
|
26
|
+
@_hash = {} if @_hash.nil?
|
|
27
|
+
@_hash['outcome'] = 'outcome'
|
|
28
|
+
@_hash['links'] = '_links'
|
|
29
|
+
@_hash['actions'] = '_actions'
|
|
30
|
+
@_hash
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# An array for optional fields
|
|
34
|
+
def self.optionals
|
|
35
|
+
%w[
|
|
36
|
+
outcome
|
|
37
|
+
links
|
|
38
|
+
actions
|
|
39
|
+
]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# An array for nullable fields
|
|
43
|
+
def self.nullables
|
|
44
|
+
[]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def initialize(outcome = SKIP, links = SKIP, actions = SKIP)
|
|
48
|
+
@outcome = outcome unless outcome == SKIP
|
|
49
|
+
@links = links unless links == SKIP
|
|
50
|
+
@actions = actions unless actions == SKIP
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Creates an instance of the object from a hash.
|
|
54
|
+
def self.from_hash(hash)
|
|
55
|
+
return nil unless hash
|
|
56
|
+
|
|
57
|
+
# Extract variables from the hash.
|
|
58
|
+
outcome = hash.key?('outcome') ? hash['outcome'] : SKIP
|
|
59
|
+
links = PaymentsLink.from_hash(hash['_links']) if hash['_links']
|
|
60
|
+
actions = PartialSettleActionList.from_hash(hash['_actions']) if hash['_actions']
|
|
61
|
+
|
|
62
|
+
# Create object from extracted values.
|
|
63
|
+
PartialSettleResponse.new(outcome,
|
|
64
|
+
links,
|
|
65
|
+
actions)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Provides a human-readable string representation of the object.
|
|
69
|
+
def to_s
|
|
70
|
+
class_name = self.class.name.split('::').last
|
|
71
|
+
"<#{class_name} outcome: #{@outcome}, links: #{@links}, actions: #{@actions}>"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
75
|
+
def inspect
|
|
76
|
+
class_name = self.class.name.split('::').last
|
|
77
|
+
"<#{class_name} outcome: #{@outcome.inspect}, links: #{@links.inspect}, actions:"\
|
|
78
|
+
" #{@actions.inspect}>"
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Payment Model.
|
|
8
|
+
class Payment < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Payment initial authorization time.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :timestamp
|
|
15
|
+
|
|
16
|
+
# Unique identifier generated by us for a single payment. Generated at
|
|
17
|
+
# authorization, and maintained through successive payment actions.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :payment_id
|
|
20
|
+
|
|
21
|
+
# A unique reference generated by you, used to identify a payment throughout
|
|
22
|
+
# its lifecycle.
|
|
23
|
+
# @return [String]
|
|
24
|
+
attr_accessor :transaction_reference
|
|
25
|
+
|
|
26
|
+
# An object that contains identification and further details of the
|
|
27
|
+
# merchant.
|
|
28
|
+
# @return [Narrative2]
|
|
29
|
+
attr_accessor :narrative
|
|
30
|
+
|
|
31
|
+
# An object that contains transaction type.
|
|
32
|
+
# @return [TransactionType1Enum]
|
|
33
|
+
attr_accessor :transaction_type
|
|
34
|
+
|
|
35
|
+
# An object that contains authorization type.
|
|
36
|
+
# @return [AuthorizationType1Enum]
|
|
37
|
+
attr_accessor :authorization_type
|
|
38
|
+
|
|
39
|
+
# Merchant entity name.
|
|
40
|
+
# @return [String]
|
|
41
|
+
attr_accessor :entity
|
|
42
|
+
|
|
43
|
+
# The last event received for the payment
|
|
44
|
+
# @return [LastEventEnum]
|
|
45
|
+
attr_accessor :last_event
|
|
46
|
+
|
|
47
|
+
# An object containing information returned by the card scheme.
|
|
48
|
+
# @return [Scheme]
|
|
49
|
+
attr_accessor :scheme
|
|
50
|
+
|
|
51
|
+
# An object containing information returned by the issuer.
|
|
52
|
+
# @return [Issuer1]
|
|
53
|
+
attr_accessor :issuer
|
|
54
|
+
|
|
55
|
+
# The payment instrument supplied in the authorization request.
|
|
56
|
+
# @return [PaymentInstrument4]
|
|
57
|
+
attr_accessor :payment_instrument
|
|
58
|
+
|
|
59
|
+
# An object that contains payment amount and currency.
|
|
60
|
+
# @return [Value4]
|
|
61
|
+
attr_accessor :value
|
|
62
|
+
|
|
63
|
+
# link to retrieveByPaymentId.
|
|
64
|
+
# @return [Links2]
|
|
65
|
+
attr_accessor :links
|
|
66
|
+
|
|
67
|
+
# A mapping from model property names to API property names.
|
|
68
|
+
def self.names
|
|
69
|
+
@_hash = {} if @_hash.nil?
|
|
70
|
+
@_hash['timestamp'] = 'timestamp'
|
|
71
|
+
@_hash['payment_id'] = 'paymentId'
|
|
72
|
+
@_hash['transaction_reference'] = 'transactionReference'
|
|
73
|
+
@_hash['narrative'] = 'narrative'
|
|
74
|
+
@_hash['transaction_type'] = 'transactionType'
|
|
75
|
+
@_hash['authorization_type'] = 'authorizationType'
|
|
76
|
+
@_hash['entity'] = 'entity'
|
|
77
|
+
@_hash['last_event'] = 'lastEvent'
|
|
78
|
+
@_hash['scheme'] = 'scheme'
|
|
79
|
+
@_hash['issuer'] = 'issuer'
|
|
80
|
+
@_hash['payment_instrument'] = 'paymentInstrument'
|
|
81
|
+
@_hash['value'] = 'value'
|
|
82
|
+
@_hash['links'] = '_links'
|
|
83
|
+
@_hash
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# An array for optional fields
|
|
87
|
+
def self.optionals
|
|
88
|
+
%w[
|
|
89
|
+
timestamp
|
|
90
|
+
payment_id
|
|
91
|
+
transaction_reference
|
|
92
|
+
narrative
|
|
93
|
+
transaction_type
|
|
94
|
+
authorization_type
|
|
95
|
+
entity
|
|
96
|
+
last_event
|
|
97
|
+
scheme
|
|
98
|
+
issuer
|
|
99
|
+
payment_instrument
|
|
100
|
+
value
|
|
101
|
+
links
|
|
102
|
+
]
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# An array for nullable fields
|
|
106
|
+
def self.nullables
|
|
107
|
+
[]
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def initialize(timestamp = SKIP, payment_id = SKIP,
|
|
111
|
+
transaction_reference = SKIP, narrative = SKIP,
|
|
112
|
+
transaction_type = SKIP, authorization_type = SKIP,
|
|
113
|
+
entity = SKIP, last_event = SKIP, scheme = SKIP,
|
|
114
|
+
issuer = SKIP, payment_instrument = SKIP, value = SKIP,
|
|
115
|
+
links = SKIP)
|
|
116
|
+
@timestamp = timestamp unless timestamp == SKIP
|
|
117
|
+
@payment_id = payment_id unless payment_id == SKIP
|
|
118
|
+
@transaction_reference = transaction_reference unless transaction_reference == SKIP
|
|
119
|
+
@narrative = narrative unless narrative == SKIP
|
|
120
|
+
@transaction_type = transaction_type unless transaction_type == SKIP
|
|
121
|
+
@authorization_type = authorization_type unless authorization_type == SKIP
|
|
122
|
+
@entity = entity unless entity == SKIP
|
|
123
|
+
@last_event = last_event unless last_event == SKIP
|
|
124
|
+
@scheme = scheme unless scheme == SKIP
|
|
125
|
+
@issuer = issuer unless issuer == SKIP
|
|
126
|
+
@payment_instrument = payment_instrument unless payment_instrument == SKIP
|
|
127
|
+
@value = value unless value == SKIP
|
|
128
|
+
@links = links unless links == SKIP
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# Creates an instance of the object from a hash.
|
|
132
|
+
def self.from_hash(hash)
|
|
133
|
+
return nil unless hash
|
|
134
|
+
|
|
135
|
+
# Extract variables from the hash.
|
|
136
|
+
timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
|
|
137
|
+
payment_id = hash.key?('paymentId') ? hash['paymentId'] : SKIP
|
|
138
|
+
transaction_reference =
|
|
139
|
+
hash.key?('transactionReference') ? hash['transactionReference'] : SKIP
|
|
140
|
+
narrative = Narrative2.from_hash(hash['narrative']) if hash['narrative']
|
|
141
|
+
transaction_type =
|
|
142
|
+
hash.key?('transactionType') ? hash['transactionType'] : SKIP
|
|
143
|
+
authorization_type =
|
|
144
|
+
hash.key?('authorizationType') ? hash['authorizationType'] : SKIP
|
|
145
|
+
entity = hash.key?('entity') ? hash['entity'] : SKIP
|
|
146
|
+
last_event = hash.key?('lastEvent') ? hash['lastEvent'] : SKIP
|
|
147
|
+
scheme = Scheme.from_hash(hash['scheme']) if hash['scheme']
|
|
148
|
+
issuer = Issuer1.from_hash(hash['issuer']) if hash['issuer']
|
|
149
|
+
payment_instrument = PaymentInstrument4.from_hash(hash['paymentInstrument']) if
|
|
150
|
+
hash['paymentInstrument']
|
|
151
|
+
value = Value4.from_hash(hash['value']) if hash['value']
|
|
152
|
+
links = Links2.from_hash(hash['_links']) if hash['_links']
|
|
153
|
+
|
|
154
|
+
# Create object from extracted values.
|
|
155
|
+
Payment.new(timestamp,
|
|
156
|
+
payment_id,
|
|
157
|
+
transaction_reference,
|
|
158
|
+
narrative,
|
|
159
|
+
transaction_type,
|
|
160
|
+
authorization_type,
|
|
161
|
+
entity,
|
|
162
|
+
last_event,
|
|
163
|
+
scheme,
|
|
164
|
+
issuer,
|
|
165
|
+
payment_instrument,
|
|
166
|
+
value,
|
|
167
|
+
links)
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Provides a human-readable string representation of the object.
|
|
171
|
+
def to_s
|
|
172
|
+
class_name = self.class.name.split('::').last
|
|
173
|
+
"<#{class_name} timestamp: #{@timestamp}, payment_id: #{@payment_id},"\
|
|
174
|
+
" transaction_reference: #{@transaction_reference}, narrative: #{@narrative},"\
|
|
175
|
+
" transaction_type: #{@transaction_type}, authorization_type: #{@authorization_type},"\
|
|
176
|
+
" entity: #{@entity}, last_event: #{@last_event}, scheme: #{@scheme}, issuer: #{@issuer},"\
|
|
177
|
+
" payment_instrument: #{@payment_instrument}, value: #{@value}, links: #{@links}>"
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
181
|
+
def inspect
|
|
182
|
+
class_name = self.class.name.split('::').last
|
|
183
|
+
"<#{class_name} timestamp: #{@timestamp.inspect}, payment_id: #{@payment_id.inspect},"\
|
|
184
|
+
" transaction_reference: #{@transaction_reference.inspect}, narrative:"\
|
|
185
|
+
" #{@narrative.inspect}, transaction_type: #{@transaction_type.inspect}, authorization_type:"\
|
|
186
|
+
" #{@authorization_type.inspect}, entity: #{@entity.inspect}, last_event:"\
|
|
187
|
+
" #{@last_event.inspect}, scheme: #{@scheme.inspect}, issuer: #{@issuer.inspect},"\
|
|
188
|
+
" payment_instrument: #{@payment_instrument.inspect}, value: #{@value.inspect}, links:"\
|
|
189
|
+
" #{@links.inspect}>"
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Payment1 Model.
|
|
8
|
+
class Payment1 < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The last event of a payment. Possible event values
|
|
13
|
+
# are:<ul><li>`Authorized`</li><li>`Refused`</li><li>`Sent for
|
|
14
|
+
# Cancellation`</li><li>`Sent for Refund`</li><li>`Sent for
|
|
15
|
+
# Settlement`</li><li>`Unknown`</li></ul>
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_accessor :last_event
|
|
18
|
+
|
|
19
|
+
# An object that contains information about the payment type.
|
|
20
|
+
# @return [PaymentInstrument6]
|
|
21
|
+
attr_accessor :payment_instrument
|
|
22
|
+
|
|
23
|
+
# An object that contains payment amount and currency.
|
|
24
|
+
# @return [Value4]
|
|
25
|
+
attr_accessor :value
|
|
26
|
+
|
|
27
|
+
# A mapping from model property names to API property names.
|
|
28
|
+
def self.names
|
|
29
|
+
@_hash = {} if @_hash.nil?
|
|
30
|
+
@_hash['last_event'] = 'lastEvent'
|
|
31
|
+
@_hash['payment_instrument'] = 'paymentInstrument'
|
|
32
|
+
@_hash['value'] = 'value'
|
|
33
|
+
@_hash
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for optional fields
|
|
37
|
+
def self.optionals
|
|
38
|
+
%w[
|
|
39
|
+
last_event
|
|
40
|
+
payment_instrument
|
|
41
|
+
value
|
|
42
|
+
]
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# An array for nullable fields
|
|
46
|
+
def self.nullables
|
|
47
|
+
[]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def initialize(last_event = SKIP, payment_instrument = SKIP, value = SKIP)
|
|
51
|
+
@last_event = last_event unless last_event == SKIP
|
|
52
|
+
@payment_instrument = payment_instrument unless payment_instrument == SKIP
|
|
53
|
+
@value = value unless value == SKIP
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Creates an instance of the object from a hash.
|
|
57
|
+
def self.from_hash(hash)
|
|
58
|
+
return nil unless hash
|
|
59
|
+
|
|
60
|
+
# Extract variables from the hash.
|
|
61
|
+
last_event = hash.key?('lastEvent') ? hash['lastEvent'] : SKIP
|
|
62
|
+
payment_instrument = PaymentInstrument6.from_hash(hash['paymentInstrument']) if
|
|
63
|
+
hash['paymentInstrument']
|
|
64
|
+
value = Value4.from_hash(hash['value']) if hash['value']
|
|
65
|
+
|
|
66
|
+
# Create object from extracted values.
|
|
67
|
+
Payment1.new(last_event,
|
|
68
|
+
payment_instrument,
|
|
69
|
+
value)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Provides a human-readable string representation of the object.
|
|
73
|
+
def to_s
|
|
74
|
+
class_name = self.class.name.split('::').last
|
|
75
|
+
"<#{class_name} last_event: #{@last_event}, payment_instrument: #{@payment_instrument},"\
|
|
76
|
+
" value: #{@value}>"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
80
|
+
def inspect
|
|
81
|
+
class_name = self.class.name.split('::').last
|
|
82
|
+
"<#{class_name} last_event: #{@last_event.inspect}, payment_instrument:"\
|
|
83
|
+
" #{@payment_instrument.inspect}, value: #{@value.inspect}>"
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# PaymentInstrument Model.
|
|
8
|
+
class PaymentInstrument < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :type
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['type'] = 'type'
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def self.optionals
|
|
25
|
+
%w[
|
|
26
|
+
type
|
|
27
|
+
]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# An array for nullable fields
|
|
31
|
+
def self.nullables
|
|
32
|
+
[]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def initialize(type = 'paymentInstrument')
|
|
36
|
+
@type = type unless type == SKIP
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Creates an instance of the object from a hash.
|
|
40
|
+
def self.from_hash(hash)
|
|
41
|
+
return nil unless hash
|
|
42
|
+
|
|
43
|
+
# Extract variables from the hash.
|
|
44
|
+
type = hash['type'] ||= 'paymentInstrument'
|
|
45
|
+
|
|
46
|
+
# Create object from extracted values.
|
|
47
|
+
PaymentInstrument.new(type)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Provides a human-readable string representation of the object.
|
|
51
|
+
def to_s
|
|
52
|
+
class_name = self.class.name.split('::').last
|
|
53
|
+
"<#{class_name} type: #{@type}>"
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
57
|
+
def inspect
|
|
58
|
+
class_name = self.class.name.split('::').last
|
|
59
|
+
"<#{class_name} type: #{@type.inspect}>"
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# The payment instrument supplied in the authorization request.
|
|
8
|
+
class PaymentInstrument4 < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The type of payment instrument supplied in the authorization request.
|
|
13
|
+
# @return [Type9Enum]
|
|
14
|
+
attr_accessor :type
|
|
15
|
+
|
|
16
|
+
# An object that contains information about the card used.
|
|
17
|
+
# @return [Card]
|
|
18
|
+
attr_accessor :card
|
|
19
|
+
|
|
20
|
+
# A mapping from model property names to API property names.
|
|
21
|
+
def self.names
|
|
22
|
+
@_hash = {} if @_hash.nil?
|
|
23
|
+
@_hash['type'] = 'type'
|
|
24
|
+
@_hash['card'] = 'card'
|
|
25
|
+
@_hash
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for optional fields
|
|
29
|
+
def self.optionals
|
|
30
|
+
%w[
|
|
31
|
+
type
|
|
32
|
+
card
|
|
33
|
+
]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for nullable fields
|
|
37
|
+
def self.nullables
|
|
38
|
+
[]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(type = SKIP, card = SKIP)
|
|
42
|
+
@type = type unless type == SKIP
|
|
43
|
+
@card = card unless card == SKIP
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Creates an instance of the object from a hash.
|
|
47
|
+
def self.from_hash(hash)
|
|
48
|
+
return nil unless hash
|
|
49
|
+
|
|
50
|
+
# Extract variables from the hash.
|
|
51
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
52
|
+
card = Card.from_hash(hash['card']) if hash['card']
|
|
53
|
+
|
|
54
|
+
# Create object from extracted values.
|
|
55
|
+
PaymentInstrument4.new(type,
|
|
56
|
+
card)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Validates an instance of the object from a given value.
|
|
60
|
+
# @param [PaymentInstrument4 | Hash] The value against the validation is performed.
|
|
61
|
+
def self.validate(value)
|
|
62
|
+
return true if value.instance_of? self
|
|
63
|
+
|
|
64
|
+
return false unless value.instance_of? Hash
|
|
65
|
+
|
|
66
|
+
true
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Provides a human-readable string representation of the object.
|
|
70
|
+
def to_s
|
|
71
|
+
class_name = self.class.name.split('::').last
|
|
72
|
+
"<#{class_name} type: #{@type}, card: #{@card}>"
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
76
|
+
def inspect
|
|
77
|
+
class_name = self.class.name.split('::').last
|
|
78
|
+
"<#{class_name} type: #{@type.inspect}, card: #{@card.inspect}>"
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# An object that contains information about the payment type.
|
|
8
|
+
class PaymentInstrument6 < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# An object that contains information about the payment type.
|
|
13
|
+
# @return [Type12Enum]
|
|
14
|
+
attr_accessor :type
|
|
15
|
+
|
|
16
|
+
# An object that contains information about the card used.
|
|
17
|
+
# @return [Card3]
|
|
18
|
+
attr_accessor :card
|
|
19
|
+
|
|
20
|
+
# A mapping from model property names to API property names.
|
|
21
|
+
def self.names
|
|
22
|
+
@_hash = {} if @_hash.nil?
|
|
23
|
+
@_hash['type'] = 'type'
|
|
24
|
+
@_hash['card'] = 'card'
|
|
25
|
+
@_hash
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for optional fields
|
|
29
|
+
def self.optionals
|
|
30
|
+
%w[
|
|
31
|
+
type
|
|
32
|
+
card
|
|
33
|
+
]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for nullable fields
|
|
37
|
+
def self.nullables
|
|
38
|
+
[]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(type = SKIP, card = SKIP)
|
|
42
|
+
@type = type unless type == SKIP
|
|
43
|
+
@card = card unless card == SKIP
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Creates an instance of the object from a hash.
|
|
47
|
+
def self.from_hash(hash)
|
|
48
|
+
return nil unless hash
|
|
49
|
+
|
|
50
|
+
# Extract variables from the hash.
|
|
51
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
52
|
+
card = Card3.from_hash(hash['card']) if hash['card']
|
|
53
|
+
|
|
54
|
+
# Create object from extracted values.
|
|
55
|
+
PaymentInstrument6.new(type,
|
|
56
|
+
card)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Provides a human-readable string representation of the object.
|
|
60
|
+
def to_s
|
|
61
|
+
class_name = self.class.name.split('::').last
|
|
62
|
+
"<#{class_name} type: #{@type}, card: #{@card}>"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
66
|
+
def inspect
|
|
67
|
+
class_name = self.class.name.split('::').last
|
|
68
|
+
"<#{class_name} type: #{@type.inspect}, card: #{@card.inspect}>"
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|