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,171 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# PaymentInstrument7 Model.
|
|
8
|
+
class PaymentInstrument7 < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The type of instrument.
|
|
13
|
+
# @return [Type3Enum]
|
|
14
|
+
attr_accessor :type
|
|
15
|
+
|
|
16
|
+
# Customer's card number.
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :card_number
|
|
19
|
+
|
|
20
|
+
# The name on your customer's card. Required if instruction.tokenCreation
|
|
21
|
+
# is present. However we recommend that you supply this to improve
|
|
22
|
+
# authentication rates.
|
|
23
|
+
# @return [String]
|
|
24
|
+
attr_accessor :card_holder_name
|
|
25
|
+
|
|
26
|
+
# Contains your customer's card or token expiry date.
|
|
27
|
+
# @return [ExpiryDate]
|
|
28
|
+
attr_accessor :expiry_date
|
|
29
|
+
|
|
30
|
+
# CVC is a unique set of 3 or 4 numbers on the back of the card. Our API
|
|
31
|
+
# checks to see if the CVC supplied matches the CVC held by the issuing
|
|
32
|
+
# bank.
|
|
33
|
+
# @return [String]
|
|
34
|
+
attr_accessor :cvc
|
|
35
|
+
|
|
36
|
+
# Contains the billing address information.
|
|
37
|
+
# @return [BillingAddress]
|
|
38
|
+
attr_accessor :billing_address
|
|
39
|
+
|
|
40
|
+
# An object containing specific routing preferences.
|
|
41
|
+
# @return [Routing]
|
|
42
|
+
attr_accessor :routing
|
|
43
|
+
|
|
44
|
+
# An http address that contains your Checkout session providing the card
|
|
45
|
+
# details.
|
|
46
|
+
# @return [String]
|
|
47
|
+
attr_accessor :session_href
|
|
48
|
+
|
|
49
|
+
# An http address that contains your link to an Access Token.
|
|
50
|
+
# @return [String]
|
|
51
|
+
attr_accessor :href
|
|
52
|
+
|
|
53
|
+
# Href to the Checkout session providing the Card Verification Code
|
|
54
|
+
# (CVC).__Note:__ Provide a value in `cvcSessionHref` or `cvc`, never both.
|
|
55
|
+
# @return [String]
|
|
56
|
+
attr_accessor :cvc_session_href
|
|
57
|
+
|
|
58
|
+
# Href to the Checkout session providing the Card Verification Code
|
|
59
|
+
# (CVC).__Note:__ Provide a value in `cvcSessionHref` or `cvc`, never both.
|
|
60
|
+
# @return [String]
|
|
61
|
+
attr_accessor :wallet_token
|
|
62
|
+
|
|
63
|
+
# A mapping from model property names to API property names.
|
|
64
|
+
def self.names
|
|
65
|
+
@_hash = {} if @_hash.nil?
|
|
66
|
+
@_hash['type'] = 'type'
|
|
67
|
+
@_hash['card_number'] = 'cardNumber'
|
|
68
|
+
@_hash['card_holder_name'] = 'cardHolderName'
|
|
69
|
+
@_hash['expiry_date'] = 'expiryDate'
|
|
70
|
+
@_hash['cvc'] = 'cvc'
|
|
71
|
+
@_hash['billing_address'] = 'billingAddress'
|
|
72
|
+
@_hash['routing'] = 'routing'
|
|
73
|
+
@_hash['session_href'] = 'sessionHref'
|
|
74
|
+
@_hash['href'] = 'href'
|
|
75
|
+
@_hash['cvc_session_href'] = 'cvcSessionHref'
|
|
76
|
+
@_hash['wallet_token'] = 'walletToken'
|
|
77
|
+
@_hash
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# An array for optional fields
|
|
81
|
+
def self.optionals
|
|
82
|
+
%w[
|
|
83
|
+
type
|
|
84
|
+
card_number
|
|
85
|
+
card_holder_name
|
|
86
|
+
expiry_date
|
|
87
|
+
cvc
|
|
88
|
+
billing_address
|
|
89
|
+
routing
|
|
90
|
+
session_href
|
|
91
|
+
href
|
|
92
|
+
cvc_session_href
|
|
93
|
+
wallet_token
|
|
94
|
+
]
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# An array for nullable fields
|
|
98
|
+
def self.nullables
|
|
99
|
+
[]
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def initialize(type = SKIP, card_number = SKIP, card_holder_name = SKIP,
|
|
103
|
+
expiry_date = SKIP, cvc = SKIP, billing_address = SKIP,
|
|
104
|
+
routing = SKIP, session_href = SKIP, href = SKIP,
|
|
105
|
+
cvc_session_href = SKIP, wallet_token = SKIP)
|
|
106
|
+
@type = type unless type == SKIP
|
|
107
|
+
@card_number = card_number unless card_number == SKIP
|
|
108
|
+
@card_holder_name = card_holder_name unless card_holder_name == SKIP
|
|
109
|
+
@expiry_date = expiry_date unless expiry_date == SKIP
|
|
110
|
+
@cvc = cvc unless cvc == SKIP
|
|
111
|
+
@billing_address = billing_address unless billing_address == SKIP
|
|
112
|
+
@routing = routing unless routing == SKIP
|
|
113
|
+
@session_href = session_href unless session_href == SKIP
|
|
114
|
+
@href = href unless href == SKIP
|
|
115
|
+
@cvc_session_href = cvc_session_href unless cvc_session_href == SKIP
|
|
116
|
+
@wallet_token = wallet_token unless wallet_token == SKIP
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Creates an instance of the object from a hash.
|
|
120
|
+
def self.from_hash(hash)
|
|
121
|
+
return nil unless hash
|
|
122
|
+
|
|
123
|
+
# Extract variables from the hash.
|
|
124
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
125
|
+
card_number = hash.key?('cardNumber') ? hash['cardNumber'] : SKIP
|
|
126
|
+
card_holder_name =
|
|
127
|
+
hash.key?('cardHolderName') ? hash['cardHolderName'] : SKIP
|
|
128
|
+
expiry_date = ExpiryDate.from_hash(hash['expiryDate']) if hash['expiryDate']
|
|
129
|
+
cvc = hash.key?('cvc') ? hash['cvc'] : SKIP
|
|
130
|
+
billing_address = BillingAddress.from_hash(hash['billingAddress']) if hash['billingAddress']
|
|
131
|
+
routing = Routing.from_hash(hash['routing']) if hash['routing']
|
|
132
|
+
session_href = hash.key?('sessionHref') ? hash['sessionHref'] : SKIP
|
|
133
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
134
|
+
cvc_session_href =
|
|
135
|
+
hash.key?('cvcSessionHref') ? hash['cvcSessionHref'] : SKIP
|
|
136
|
+
wallet_token = hash.key?('walletToken') ? hash['walletToken'] : SKIP
|
|
137
|
+
|
|
138
|
+
# Create object from extracted values.
|
|
139
|
+
PaymentInstrument7.new(type,
|
|
140
|
+
card_number,
|
|
141
|
+
card_holder_name,
|
|
142
|
+
expiry_date,
|
|
143
|
+
cvc,
|
|
144
|
+
billing_address,
|
|
145
|
+
routing,
|
|
146
|
+
session_href,
|
|
147
|
+
href,
|
|
148
|
+
cvc_session_href,
|
|
149
|
+
wallet_token)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
# Provides a human-readable string representation of the object.
|
|
153
|
+
def to_s
|
|
154
|
+
class_name = self.class.name.split('::').last
|
|
155
|
+
"<#{class_name} type: #{@type}, card_number: #{@card_number}, card_holder_name:"\
|
|
156
|
+
" #{@card_holder_name}, expiry_date: #{@expiry_date}, cvc: #{@cvc}, billing_address:"\
|
|
157
|
+
" #{@billing_address}, routing: #{@routing}, session_href: #{@session_href}, href: #{@href},"\
|
|
158
|
+
" cvc_session_href: #{@cvc_session_href}, wallet_token: #{@wallet_token}>"
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
162
|
+
def inspect
|
|
163
|
+
class_name = self.class.name.split('::').last
|
|
164
|
+
"<#{class_name} type: #{@type.inspect}, card_number: #{@card_number.inspect},"\
|
|
165
|
+
" card_holder_name: #{@card_holder_name.inspect}, expiry_date: #{@expiry_date.inspect}, cvc:"\
|
|
166
|
+
" #{@cvc.inspect}, billing_address: #{@billing_address.inspect}, routing:"\
|
|
167
|
+
" #{@routing.inspect}, session_href: #{@session_href.inspect}, href: #{@href.inspect},"\
|
|
168
|
+
" cvc_session_href: #{@cvc_session_href.inspect}, wallet_token: #{@wallet_token.inspect}>"
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'device_data_response201'
|
|
7
|
+
|
|
8
|
+
module Payments
|
|
9
|
+
# PaymentRefusedResponse Model.
|
|
10
|
+
class PaymentRefusedResponse < DeviceDataResponse201
|
|
11
|
+
# Additional context on the refusal.
|
|
12
|
+
# @return [String]
|
|
13
|
+
attr_accessor :refusal_description
|
|
14
|
+
|
|
15
|
+
# Response code for the request.
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_accessor :refusal_code
|
|
18
|
+
|
|
19
|
+
# Contains suggested next actions for this request.
|
|
20
|
+
# @return [Advice]
|
|
21
|
+
attr_accessor :advice
|
|
22
|
+
|
|
23
|
+
# Contains suggested next actions for this request.
|
|
24
|
+
# @return [PaymentsResponsePaymentInstrument]
|
|
25
|
+
attr_accessor :payment_instrument
|
|
26
|
+
|
|
27
|
+
# Details of the updated payment instrument.
|
|
28
|
+
# @return [UpdatedPaymentInstrument]
|
|
29
|
+
attr_accessor :updated_payment_instrument
|
|
30
|
+
|
|
31
|
+
# Any risk factors which have been identified for the authorization. This
|
|
32
|
+
# section will not appear if no risks are identified.
|
|
33
|
+
# @return [Array[RiskFactor]]
|
|
34
|
+
attr_accessor :risk_factors
|
|
35
|
+
|
|
36
|
+
# Details of the outcome of the Fraud assessment
|
|
37
|
+
# @return [Fraud]
|
|
38
|
+
attr_accessor :fraud
|
|
39
|
+
|
|
40
|
+
# Details of the outcome of the 3DS authentication
|
|
41
|
+
# @return [Verification]
|
|
42
|
+
attr_accessor :three_ds
|
|
43
|
+
|
|
44
|
+
# An object containing information about the exemption.
|
|
45
|
+
# @return [PaymentsExemption]
|
|
46
|
+
attr_accessor :exemption
|
|
47
|
+
|
|
48
|
+
# Details of the token created
|
|
49
|
+
# @return [Token]
|
|
50
|
+
attr_accessor :token
|
|
51
|
+
|
|
52
|
+
# A mapping from model property names to API property names.
|
|
53
|
+
def self.names
|
|
54
|
+
@_hash = {} if @_hash.nil?
|
|
55
|
+
@_hash['refusal_description'] = 'refusalDescription'
|
|
56
|
+
@_hash['refusal_code'] = 'refusalCode'
|
|
57
|
+
@_hash['advice'] = 'advice'
|
|
58
|
+
@_hash['payment_instrument'] = 'paymentInstrument'
|
|
59
|
+
@_hash['updated_payment_instrument'] = 'updatedPaymentInstrument'
|
|
60
|
+
@_hash['risk_factors'] = 'riskFactors'
|
|
61
|
+
@_hash['fraud'] = 'fraud'
|
|
62
|
+
@_hash['three_ds'] = 'threeDS'
|
|
63
|
+
@_hash['exemption'] = 'exemption'
|
|
64
|
+
@_hash['token'] = 'token'
|
|
65
|
+
@_hash = super().merge(@_hash)
|
|
66
|
+
@_hash
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# An array for optional fields
|
|
70
|
+
def self.optionals
|
|
71
|
+
_arr = %w[
|
|
72
|
+
refusal_description
|
|
73
|
+
refusal_code
|
|
74
|
+
advice
|
|
75
|
+
payment_instrument
|
|
76
|
+
updated_payment_instrument
|
|
77
|
+
risk_factors
|
|
78
|
+
fraud
|
|
79
|
+
three_ds
|
|
80
|
+
exemption
|
|
81
|
+
token
|
|
82
|
+
]
|
|
83
|
+
(_arr << super()).flatten!
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# An array for nullable fields
|
|
87
|
+
def self.nullables
|
|
88
|
+
_arr = []
|
|
89
|
+
(_arr << super()).flatten!
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def initialize(refusal_description = SKIP, refusal_code = SKIP,
|
|
93
|
+
advice = SKIP, payment_instrument = SKIP,
|
|
94
|
+
updated_payment_instrument = SKIP, risk_factors = SKIP,
|
|
95
|
+
fraud = SKIP, three_ds = SKIP, exemption = SKIP,
|
|
96
|
+
token = SKIP, outcome = 'refused',
|
|
97
|
+
transaction_reference = SKIP)
|
|
98
|
+
@refusal_description = refusal_description unless refusal_description == SKIP
|
|
99
|
+
@refusal_code = refusal_code unless refusal_code == SKIP
|
|
100
|
+
@advice = advice unless advice == SKIP
|
|
101
|
+
@payment_instrument = payment_instrument unless payment_instrument == SKIP
|
|
102
|
+
unless updated_payment_instrument == SKIP
|
|
103
|
+
@updated_payment_instrument =
|
|
104
|
+
updated_payment_instrument
|
|
105
|
+
end
|
|
106
|
+
@risk_factors = risk_factors unless risk_factors == SKIP
|
|
107
|
+
@fraud = fraud unless fraud == SKIP
|
|
108
|
+
@three_ds = three_ds unless three_ds == SKIP
|
|
109
|
+
@exemption = exemption unless exemption == SKIP
|
|
110
|
+
@token = token unless token == SKIP
|
|
111
|
+
|
|
112
|
+
# Call the constructor of the base class
|
|
113
|
+
super(outcome,
|
|
114
|
+
transaction_reference)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Creates an instance of the object from a hash.
|
|
118
|
+
def self.from_hash(hash)
|
|
119
|
+
return nil unless hash
|
|
120
|
+
|
|
121
|
+
# Extract variables from the hash.
|
|
122
|
+
refusal_description =
|
|
123
|
+
hash.key?('refusalDescription') ? hash['refusalDescription'] : SKIP
|
|
124
|
+
refusal_code = hash.key?('refusalCode') ? hash['refusalCode'] : SKIP
|
|
125
|
+
advice = Advice.from_hash(hash['advice']) if hash['advice']
|
|
126
|
+
payment_instrument = PaymentsResponsePaymentInstrument.from_hash(hash['paymentInstrument']) if
|
|
127
|
+
hash['paymentInstrument']
|
|
128
|
+
if hash['updatedPaymentInstrument']
|
|
129
|
+
updated_payment_instrument = UpdatedPaymentInstrument.from_hash(hash['updatedPaymentInstrument'])
|
|
130
|
+
end
|
|
131
|
+
# Parameter is an array, so we need to iterate through it
|
|
132
|
+
risk_factors = nil
|
|
133
|
+
unless hash['riskFactors'].nil?
|
|
134
|
+
risk_factors = []
|
|
135
|
+
hash['riskFactors'].each do |structure|
|
|
136
|
+
risk_factors << (RiskFactor.from_hash(structure) if structure)
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
risk_factors = SKIP unless hash.key?('riskFactors')
|
|
141
|
+
fraud = Fraud.from_hash(hash['fraud']) if hash['fraud']
|
|
142
|
+
three_ds = Verification.from_hash(hash['threeDS']) if hash['threeDS']
|
|
143
|
+
exemption = PaymentsExemption.from_hash(hash['exemption']) if hash['exemption']
|
|
144
|
+
token = Token.from_hash(hash['token']) if hash['token']
|
|
145
|
+
outcome = hash['outcome'] ||= 'refused'
|
|
146
|
+
transaction_reference =
|
|
147
|
+
hash.key?('transactionReference') ? hash['transactionReference'] : SKIP
|
|
148
|
+
|
|
149
|
+
# Create object from extracted values.
|
|
150
|
+
PaymentRefusedResponse.new(refusal_description,
|
|
151
|
+
refusal_code,
|
|
152
|
+
advice,
|
|
153
|
+
payment_instrument,
|
|
154
|
+
updated_payment_instrument,
|
|
155
|
+
risk_factors,
|
|
156
|
+
fraud,
|
|
157
|
+
three_ds,
|
|
158
|
+
exemption,
|
|
159
|
+
token,
|
|
160
|
+
outcome,
|
|
161
|
+
transaction_reference)
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Provides a human-readable string representation of the object.
|
|
165
|
+
def to_s
|
|
166
|
+
class_name = self.class.name.split('::').last
|
|
167
|
+
super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
|
|
168
|
+
"<#{class_name} #{super_string}, refusal_description: #{@refusal_description},"\
|
|
169
|
+
" refusal_code: #{@refusal_code}, advice: #{@advice}, payment_instrument:"\
|
|
170
|
+
" #{@payment_instrument}, updated_payment_instrument: #{@updated_payment_instrument},"\
|
|
171
|
+
" risk_factors: #{@risk_factors}, fraud: #{@fraud}, three_ds: #{@three_ds}, exemption:"\
|
|
172
|
+
" #{@exemption}, token: #{@token}>"
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
176
|
+
def inspect
|
|
177
|
+
class_name = self.class.name.split('::').last
|
|
178
|
+
super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
|
|
179
|
+
"<#{class_name} #{super_string}, refusal_description: #{@refusal_description.inspect},"\
|
|
180
|
+
" refusal_code: #{@refusal_code.inspect}, advice: #{@advice.inspect}, payment_instrument:"\
|
|
181
|
+
" #{@payment_instrument.inspect}, updated_payment_instrument:"\
|
|
182
|
+
" #{@updated_payment_instrument.inspect}, risk_factors: #{@risk_factors.inspect}, fraud:"\
|
|
183
|
+
" #{@fraud.inspect}, three_ds: #{@three_ds.inspect}, exemption: #{@exemption.inspect},"\
|
|
184
|
+
" token: #{@token.inspect}>"
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
end
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# PaymentRequest Model.
|
|
8
|
+
class PaymentRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# A unique reference generated by you that is used to identify a payment
|
|
13
|
+
# throughout its lifecycle.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :transaction_reference
|
|
16
|
+
|
|
17
|
+
# An object that contains information about the merchant.
|
|
18
|
+
# @return [Merchant]
|
|
19
|
+
attr_accessor :merchant
|
|
20
|
+
|
|
21
|
+
# An object that contains all information related to the payment and API
|
|
22
|
+
# configurations.
|
|
23
|
+
# @return [PaymentsInstruction]
|
|
24
|
+
attr_accessor :instruction
|
|
25
|
+
|
|
26
|
+
# Interaction between the cardholder and you. Supply a value of `ecom` to
|
|
27
|
+
# process an eCommerce authorization. Supply a value of `moto` to process an
|
|
28
|
+
# authorization as a [__Mail Order or Telephone
|
|
29
|
+
# Order__](/products/payments/enable-features/moto) transaction.
|
|
30
|
+
# __Note: 3DS authentication cannot be supplied for MOTO payments__.
|
|
31
|
+
# @return [Channel1Enum]
|
|
32
|
+
attr_accessor :channel
|
|
33
|
+
|
|
34
|
+
# A mapping from model property names to API property names.
|
|
35
|
+
def self.names
|
|
36
|
+
@_hash = {} if @_hash.nil?
|
|
37
|
+
@_hash['transaction_reference'] = 'transactionReference'
|
|
38
|
+
@_hash['merchant'] = 'merchant'
|
|
39
|
+
@_hash['instruction'] = 'instruction'
|
|
40
|
+
@_hash['channel'] = 'channel'
|
|
41
|
+
@_hash
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# An array for optional fields
|
|
45
|
+
def self.optionals
|
|
46
|
+
%w[
|
|
47
|
+
channel
|
|
48
|
+
]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# An array for nullable fields
|
|
52
|
+
def self.nullables
|
|
53
|
+
[]
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def initialize(transaction_reference = nil, merchant = nil,
|
|
57
|
+
instruction = nil, channel = SKIP)
|
|
58
|
+
@transaction_reference = transaction_reference
|
|
59
|
+
@merchant = merchant
|
|
60
|
+
@instruction = instruction
|
|
61
|
+
@channel = channel unless channel == SKIP
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Creates an instance of the object from a hash.
|
|
65
|
+
def self.from_hash(hash)
|
|
66
|
+
return nil unless hash
|
|
67
|
+
|
|
68
|
+
# Extract variables from the hash.
|
|
69
|
+
transaction_reference =
|
|
70
|
+
hash.key?('transactionReference') ? hash['transactionReference'] : nil
|
|
71
|
+
merchant = Merchant.from_hash(hash['merchant']) if hash['merchant']
|
|
72
|
+
instruction = PaymentsInstruction.from_hash(hash['instruction']) if hash['instruction']
|
|
73
|
+
channel = hash.key?('channel') ? hash['channel'] : SKIP
|
|
74
|
+
|
|
75
|
+
# Create object from extracted values.
|
|
76
|
+
PaymentRequest.new(transaction_reference,
|
|
77
|
+
merchant,
|
|
78
|
+
instruction,
|
|
79
|
+
channel)
|
|
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} transaction_reference: #{@transaction_reference}, merchant: #{@merchant},"\
|
|
86
|
+
" instruction: #{@instruction}, channel: #{@channel}>"
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
90
|
+
def inspect
|
|
91
|
+
class_name = self.class.name.split('::').last
|
|
92
|
+
"<#{class_name} transaction_reference: #{@transaction_reference.inspect}, merchant:"\
|
|
93
|
+
" #{@merchant.inspect}, instruction: #{@instruction.inspect}, channel: #{@channel.inspect}>"
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
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
|
+
# Cancel the payment. See [details](../payments-lifecycle/cancel)
|
|
8
|
+
class PaymentsActionCancel < 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 :method
|
|
19
|
+
|
|
20
|
+
# A mapping from model property names to API property names.
|
|
21
|
+
def self.names
|
|
22
|
+
@_hash = {} if @_hash.nil?
|
|
23
|
+
@_hash['href'] = 'href'
|
|
24
|
+
@_hash['method'] = 'method'
|
|
25
|
+
@_hash
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for optional fields
|
|
29
|
+
def self.optionals
|
|
30
|
+
%w[
|
|
31
|
+
href
|
|
32
|
+
method
|
|
33
|
+
]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for nullable fields
|
|
37
|
+
def self.nullables
|
|
38
|
+
[]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(href = SKIP, method = 'POST')
|
|
42
|
+
@href = href unless href == SKIP
|
|
43
|
+
@method = method unless method == 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
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
52
|
+
method = hash['method'] ||= 'POST'
|
|
53
|
+
|
|
54
|
+
# Create object from extracted values.
|
|
55
|
+
PaymentsActionCancel.new(href,
|
|
56
|
+
method)
|
|
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} href: #{@href}, method: #{@method}>"
|
|
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} href: #{@href.inspect}, method: #{@method.inspect}>"
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Resume the payment following the 3DS challenge being completed by the
|
|
8
|
+
# customer. See [details](../3ds-actions/complete3dschallenge)
|
|
9
|
+
class PaymentsActionComplete3dsChallenge < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for this method
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :href
|
|
16
|
+
|
|
17
|
+
# TODO: Write general description for this method
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :method
|
|
20
|
+
|
|
21
|
+
# A mapping from model property names to API property names.
|
|
22
|
+
def self.names
|
|
23
|
+
@_hash = {} if @_hash.nil?
|
|
24
|
+
@_hash['href'] = 'href'
|
|
25
|
+
@_hash['method'] = 'method'
|
|
26
|
+
@_hash
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# An array for optional fields
|
|
30
|
+
def self.optionals
|
|
31
|
+
%w[
|
|
32
|
+
href
|
|
33
|
+
method
|
|
34
|
+
]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# An array for nullable fields
|
|
38
|
+
def self.nullables
|
|
39
|
+
[]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def initialize(href = SKIP, method = 'POST')
|
|
43
|
+
@href = href unless href == SKIP
|
|
44
|
+
@method = method unless method == SKIP
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Creates an instance of the object from a hash.
|
|
48
|
+
def self.from_hash(hash)
|
|
49
|
+
return nil unless hash
|
|
50
|
+
|
|
51
|
+
# Extract variables from the hash.
|
|
52
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
53
|
+
method = hash['method'] ||= 'POST'
|
|
54
|
+
|
|
55
|
+
# Create object from extracted values.
|
|
56
|
+
PaymentsActionComplete3dsChallenge.new(href,
|
|
57
|
+
method)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Provides a human-readable string representation of the object.
|
|
61
|
+
def to_s
|
|
62
|
+
class_name = self.class.name.split('::').last
|
|
63
|
+
"<#{class_name} href: #{@href}, method: #{@method}>"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
67
|
+
def inspect
|
|
68
|
+
class_name = self.class.name.split('::').last
|
|
69
|
+
"<#{class_name} href: #{@href.inspect}, method: #{@method.inspect}>"
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
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
|
+
# Partially refund the payment.
|
|
8
|
+
class PaymentsActionPartialRefund < 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 :method
|
|
19
|
+
|
|
20
|
+
# A mapping from model property names to API property names.
|
|
21
|
+
def self.names
|
|
22
|
+
@_hash = {} if @_hash.nil?
|
|
23
|
+
@_hash['href'] = 'href'
|
|
24
|
+
@_hash['method'] = 'method'
|
|
25
|
+
@_hash
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for optional fields
|
|
29
|
+
def self.optionals
|
|
30
|
+
%w[
|
|
31
|
+
href
|
|
32
|
+
method
|
|
33
|
+
]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for nullable fields
|
|
37
|
+
def self.nullables
|
|
38
|
+
[]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(href = SKIP, method = 'POST')
|
|
42
|
+
@href = href unless href == SKIP
|
|
43
|
+
@method = method unless method == 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
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
52
|
+
method = hash['method'] ||= 'POST'
|
|
53
|
+
|
|
54
|
+
# Create object from extracted values.
|
|
55
|
+
PaymentsActionPartialRefund.new(href,
|
|
56
|
+
method)
|
|
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} href: #{@href}, method: #{@method}>"
|
|
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} href: #{@href.inspect}, method: #{@method.inspect}>"
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|