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,149 @@
|
|
|
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
|
+
# PaymentsCardPlainPaymentInstrument Model.
|
|
10
|
+
class PaymentsCardPlainPaymentInstrument < PaymentsPaymentInstrument
|
|
11
|
+
# Customer's card number.
|
|
12
|
+
# @return [String]
|
|
13
|
+
attr_accessor :card_number
|
|
14
|
+
|
|
15
|
+
# The name on your customer's card. Required if instruction.tokenCreation
|
|
16
|
+
# is present. However we recommend that you supply this to improve
|
|
17
|
+
# authentication rates.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :card_holder_name
|
|
20
|
+
|
|
21
|
+
# Contains your customer's card or token expiry date.
|
|
22
|
+
# @return [ExpiryDate]
|
|
23
|
+
attr_accessor :expiry_date
|
|
24
|
+
|
|
25
|
+
# CVC is a unique set of 3 or 4 numbers on the back of the card. Our API
|
|
26
|
+
# checks to see if the CVC supplied matches the CVC held by the issuing
|
|
27
|
+
# bank.
|
|
28
|
+
# @return [String]
|
|
29
|
+
attr_accessor :cvc
|
|
30
|
+
|
|
31
|
+
# Contains the billing address information.
|
|
32
|
+
# @return [BillingAddress]
|
|
33
|
+
attr_accessor :billing_address
|
|
34
|
+
|
|
35
|
+
# An object containing specific routing preferences.
|
|
36
|
+
# @return [Routing]
|
|
37
|
+
attr_accessor :routing
|
|
38
|
+
|
|
39
|
+
# A mapping from model property names to API property names.
|
|
40
|
+
def self.names
|
|
41
|
+
@_hash = {} if @_hash.nil?
|
|
42
|
+
@_hash['card_number'] = 'cardNumber'
|
|
43
|
+
@_hash['card_holder_name'] = 'cardHolderName'
|
|
44
|
+
@_hash['expiry_date'] = 'expiryDate'
|
|
45
|
+
@_hash['cvc'] = 'cvc'
|
|
46
|
+
@_hash['billing_address'] = 'billingAddress'
|
|
47
|
+
@_hash['routing'] = 'routing'
|
|
48
|
+
@_hash = super().merge(@_hash)
|
|
49
|
+
@_hash
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# An array for optional fields
|
|
53
|
+
def self.optionals
|
|
54
|
+
_arr = %w[
|
|
55
|
+
card_holder_name
|
|
56
|
+
cvc
|
|
57
|
+
billing_address
|
|
58
|
+
routing
|
|
59
|
+
]
|
|
60
|
+
(_arr << super()).flatten!
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# An array for nullable fields
|
|
64
|
+
def self.nullables
|
|
65
|
+
_arr = []
|
|
66
|
+
(_arr << super()).flatten!
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def initialize(card_number = nil, expiry_date = nil,
|
|
70
|
+
card_holder_name = SKIP, cvc = SKIP, billing_address = SKIP,
|
|
71
|
+
routing = SKIP, type = 'plain')
|
|
72
|
+
@card_number = card_number
|
|
73
|
+
@card_holder_name = card_holder_name unless card_holder_name == SKIP
|
|
74
|
+
@expiry_date = expiry_date
|
|
75
|
+
@cvc = cvc unless cvc == SKIP
|
|
76
|
+
@billing_address = billing_address unless billing_address == SKIP
|
|
77
|
+
@routing = routing unless routing == SKIP
|
|
78
|
+
|
|
79
|
+
# Call the constructor of the base class
|
|
80
|
+
super(type)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Creates an instance of the object from a hash.
|
|
84
|
+
def self.from_hash(hash)
|
|
85
|
+
return nil unless hash
|
|
86
|
+
|
|
87
|
+
# Extract variables from the hash.
|
|
88
|
+
card_number = hash.key?('cardNumber') ? hash['cardNumber'] : nil
|
|
89
|
+
expiry_date = ExpiryDate.from_hash(hash['expiryDate']) if hash['expiryDate']
|
|
90
|
+
card_holder_name =
|
|
91
|
+
hash.key?('cardHolderName') ? hash['cardHolderName'] : SKIP
|
|
92
|
+
cvc = hash.key?('cvc') ? hash['cvc'] : SKIP
|
|
93
|
+
billing_address = BillingAddress.from_hash(hash['billingAddress']) if hash['billingAddress']
|
|
94
|
+
routing = Routing.from_hash(hash['routing']) if hash['routing']
|
|
95
|
+
type = hash['type'] ||= 'plain'
|
|
96
|
+
|
|
97
|
+
# Create object from extracted values.
|
|
98
|
+
PaymentsCardPlainPaymentInstrument.new(card_number,
|
|
99
|
+
expiry_date,
|
|
100
|
+
card_holder_name,
|
|
101
|
+
cvc,
|
|
102
|
+
billing_address,
|
|
103
|
+
routing,
|
|
104
|
+
type)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Validates an instance of the object from a given value.
|
|
108
|
+
# @param [PaymentsCardPlainPaymentInstrument | Hash] The value against the validation is performed.
|
|
109
|
+
def self.validate(value)
|
|
110
|
+
if value.instance_of? self
|
|
111
|
+
return (
|
|
112
|
+
APIHelper.valid_type?(value.card_number,
|
|
113
|
+
->(val) { val.instance_of? String }) and
|
|
114
|
+
APIHelper.valid_type?(value.expiry_date,
|
|
115
|
+
->(val) { ExpiryDate.validate(val) },
|
|
116
|
+
is_model_hash: true)
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
return false unless value.instance_of? Hash
|
|
121
|
+
|
|
122
|
+
(
|
|
123
|
+
APIHelper.valid_type?(value['cardNumber'],
|
|
124
|
+
->(val) { val.instance_of? String }) and
|
|
125
|
+
APIHelper.valid_type?(value['expiryDate'],
|
|
126
|
+
->(val) { ExpiryDate.validate(val) },
|
|
127
|
+
is_model_hash: true)
|
|
128
|
+
)
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# Provides a human-readable string representation of the object.
|
|
132
|
+
def to_s
|
|
133
|
+
class_name = self.class.name.split('::').last
|
|
134
|
+
super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
|
|
135
|
+
"<#{class_name} #{super_string}, card_number: #{@card_number}, card_holder_name:"\
|
|
136
|
+
" #{@card_holder_name}, expiry_date: #{@expiry_date}, cvc: #{@cvc}, billing_address:"\
|
|
137
|
+
" #{@billing_address}, routing: #{@routing}>"
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
141
|
+
def inspect
|
|
142
|
+
class_name = self.class.name.split('::').last
|
|
143
|
+
super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
|
|
144
|
+
"<#{class_name} #{super_string}, card_number: #{@card_number.inspect}, card_holder_name:"\
|
|
145
|
+
" #{@card_holder_name.inspect}, expiry_date: #{@expiry_date.inspect}, cvc: #{@cvc.inspect},"\
|
|
146
|
+
" billing_address: #{@billing_address.inspect}, routing: #{@routing.inspect}>"
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Contains specific customer agreements for the transaction.
|
|
8
|
+
class PaymentsCustomerAgreement < 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
|
+
# Discriminators mapping.
|
|
17
|
+
def self.discriminators
|
|
18
|
+
if @_discriminators.nil?
|
|
19
|
+
@_discriminators = {}
|
|
20
|
+
@_discriminators['cardOnFile'] = PaymentsCardOnFileCustomerAgreement
|
|
21
|
+
@_discriminators['installment'] = PaymentsInstallmentCustomerAgreement
|
|
22
|
+
@_discriminators['subscription'] = PaymentsSubscriptionCustomerAgreement
|
|
23
|
+
@_discriminators['unscheduled'] = PaymentsUnscheduledCustomerAgreement
|
|
24
|
+
end
|
|
25
|
+
@_discriminators
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# A mapping from model property names to API property names.
|
|
29
|
+
def self.names
|
|
30
|
+
@_hash = {} if @_hash.nil?
|
|
31
|
+
@_hash['type'] = 'type'
|
|
32
|
+
@_hash
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# An array for optional fields
|
|
36
|
+
def self.optionals
|
|
37
|
+
%w[
|
|
38
|
+
type
|
|
39
|
+
]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# An array for nullable fields
|
|
43
|
+
def self.nullables
|
|
44
|
+
[]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def initialize(type = 'PaymentsCustomerAgreement')
|
|
48
|
+
@type = type unless type == SKIP
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Creates an instance of the object from a hash.
|
|
52
|
+
def self.from_hash(hash)
|
|
53
|
+
return nil unless hash
|
|
54
|
+
|
|
55
|
+
# Delegate unboxing to another function if a discriminator
|
|
56
|
+
# value for a child class is present.
|
|
57
|
+
unboxer = discriminators[hash['type']]
|
|
58
|
+
return unboxer.send(:from_hash, hash) if unboxer
|
|
59
|
+
|
|
60
|
+
# Extract variables from the hash.
|
|
61
|
+
type = hash['type'] ||= 'PaymentsCustomerAgreement'
|
|
62
|
+
|
|
63
|
+
# Create object from extracted values.
|
|
64
|
+
PaymentsCustomerAgreement.new(type)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Provides a human-readable string representation of the object.
|
|
68
|
+
def to_s
|
|
69
|
+
class_name = self.class.name.split('::').last
|
|
70
|
+
"<#{class_name} type: #{@type}>"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
74
|
+
def inspect
|
|
75
|
+
class_name = self.class.name.split('::').last
|
|
76
|
+
"<#{class_name} type: #{@type.inspect}>"
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'payments_recipient_account'
|
|
7
|
+
|
|
8
|
+
module Payments
|
|
9
|
+
# PaymentsEmailAccount Model.
|
|
10
|
+
class PaymentsEmailAccount < PaymentsRecipientAccount
|
|
11
|
+
# Recipient's email address.
|
|
12
|
+
# @return [String]
|
|
13
|
+
attr_accessor :email_address
|
|
14
|
+
|
|
15
|
+
# A mapping from model property names to API property names.
|
|
16
|
+
def self.names
|
|
17
|
+
@_hash = {} if @_hash.nil?
|
|
18
|
+
@_hash['email_address'] = 'emailAddress'
|
|
19
|
+
@_hash = super().merge(@_hash)
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def self.optionals
|
|
25
|
+
_arr = []
|
|
26
|
+
(_arr << super()).flatten!
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# An array for nullable fields
|
|
30
|
+
def self.nullables
|
|
31
|
+
_arr = []
|
|
32
|
+
(_arr << super()).flatten!
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def initialize(email_address = nil, type = 'email')
|
|
36
|
+
@email_address = email_address
|
|
37
|
+
|
|
38
|
+
# Call the constructor of the base class
|
|
39
|
+
super(type)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Creates an instance of the object from a hash.
|
|
43
|
+
def self.from_hash(hash)
|
|
44
|
+
return nil unless hash
|
|
45
|
+
|
|
46
|
+
# Extract variables from the hash.
|
|
47
|
+
email_address = hash.key?('emailAddress') ? hash['emailAddress'] : nil
|
|
48
|
+
type = hash['type'] ||= 'email'
|
|
49
|
+
|
|
50
|
+
# Create object from extracted values.
|
|
51
|
+
PaymentsEmailAccount.new(email_address,
|
|
52
|
+
type)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Provides a human-readable string representation of the object.
|
|
56
|
+
def to_s
|
|
57
|
+
class_name = self.class.name.split('::').last
|
|
58
|
+
super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
|
|
59
|
+
"<#{class_name} #{super_string}, email_address: #{@email_address}>"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
63
|
+
def inspect
|
|
64
|
+
class_name = self.class.name.split('::').last
|
|
65
|
+
super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
|
|
66
|
+
"<#{class_name} #{super_string}, email_address: #{@email_address.inspect}>"
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
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
|
+
# Next action links.
|
|
8
|
+
class PaymentsEvents < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Next action links.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :href
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['href'] = 'href'
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def self.optionals
|
|
25
|
+
%w[
|
|
26
|
+
href
|
|
27
|
+
]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# An array for nullable fields
|
|
31
|
+
def self.nullables
|
|
32
|
+
[]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def initialize(href = SKIP)
|
|
36
|
+
@href = href unless href == 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
|
+
href = hash.key?('href') ? hash['href'] : SKIP
|
|
45
|
+
|
|
46
|
+
# Create object from extracted values.
|
|
47
|
+
PaymentsEvents.new(href)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Validates an instance of the object from a given value.
|
|
51
|
+
# @param [PaymentsEvents | Hash] The value against the validation is performed.
|
|
52
|
+
def self.validate(value)
|
|
53
|
+
return true if value.instance_of? self
|
|
54
|
+
|
|
55
|
+
return false unless value.instance_of? Hash
|
|
56
|
+
|
|
57
|
+
true
|
|
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}>"
|
|
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}>"
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -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
|
+
# An object containing information about the exemption.
|
|
8
|
+
class PaymentsExemption < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Was an exemption returned by Worldpay's TRA assessment.
|
|
13
|
+
# @return [TrueClass | FalseClass]
|
|
14
|
+
attr_accessor :granted
|
|
15
|
+
|
|
16
|
+
# Indicates whether the exemption has been placed in a payment authorization
|
|
17
|
+
# request or 3DS authentication request.
|
|
18
|
+
# @return [PlacementEnum]
|
|
19
|
+
attr_accessor :placement
|
|
20
|
+
|
|
21
|
+
# The type of applied exemption.
|
|
22
|
+
# @return [Type2Enum]
|
|
23
|
+
attr_accessor :type
|
|
24
|
+
|
|
25
|
+
# The result of the exemption placement request.
|
|
26
|
+
# @return [ResultEnum]
|
|
27
|
+
attr_accessor :result
|
|
28
|
+
|
|
29
|
+
# The reason returned by the card issuer.
|
|
30
|
+
# @return [ReasonEnum]
|
|
31
|
+
attr_accessor :reason
|
|
32
|
+
|
|
33
|
+
# A mapping from model property names to API property names.
|
|
34
|
+
def self.names
|
|
35
|
+
@_hash = {} if @_hash.nil?
|
|
36
|
+
@_hash['granted'] = 'granted'
|
|
37
|
+
@_hash['placement'] = 'placement'
|
|
38
|
+
@_hash['type'] = 'type'
|
|
39
|
+
@_hash['result'] = 'result'
|
|
40
|
+
@_hash['reason'] = 'reason'
|
|
41
|
+
@_hash
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# An array for optional fields
|
|
45
|
+
def self.optionals
|
|
46
|
+
%w[
|
|
47
|
+
granted
|
|
48
|
+
placement
|
|
49
|
+
type
|
|
50
|
+
result
|
|
51
|
+
reason
|
|
52
|
+
]
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# An array for nullable fields
|
|
56
|
+
def self.nullables
|
|
57
|
+
[]
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def initialize(granted = SKIP, placement = SKIP, type = SKIP, result = SKIP,
|
|
61
|
+
reason = SKIP)
|
|
62
|
+
@granted = granted unless granted == SKIP
|
|
63
|
+
@placement = placement unless placement == SKIP
|
|
64
|
+
@type = type unless type == SKIP
|
|
65
|
+
@result = result unless result == SKIP
|
|
66
|
+
@reason = reason unless reason == SKIP
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Creates an instance of the object from a hash.
|
|
70
|
+
def self.from_hash(hash)
|
|
71
|
+
return nil unless hash
|
|
72
|
+
|
|
73
|
+
# Extract variables from the hash.
|
|
74
|
+
granted = hash.key?('granted') ? hash['granted'] : SKIP
|
|
75
|
+
placement = hash.key?('placement') ? hash['placement'] : SKIP
|
|
76
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
77
|
+
result = hash.key?('result') ? hash['result'] : SKIP
|
|
78
|
+
reason = hash.key?('reason') ? hash['reason'] : SKIP
|
|
79
|
+
|
|
80
|
+
# Create object from extracted values.
|
|
81
|
+
PaymentsExemption.new(granted,
|
|
82
|
+
placement,
|
|
83
|
+
type,
|
|
84
|
+
result,
|
|
85
|
+
reason)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Provides a human-readable string representation of the object.
|
|
89
|
+
def to_s
|
|
90
|
+
class_name = self.class.name.split('::').last
|
|
91
|
+
"<#{class_name} granted: #{@granted}, placement: #{@placement}, type: #{@type}, result:"\
|
|
92
|
+
" #{@result}, reason: #{@reason}>"
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
96
|
+
def inspect
|
|
97
|
+
class_name = self.class.name.split('::').last
|
|
98
|
+
"<#{class_name} granted: #{@granted.inspect}, placement: #{@placement.inspect}, type:"\
|
|
99
|
+
" #{@type.inspect}, result: #{@result.inspect}, reason: #{@reason.inspect}>"
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# payments
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Payments
|
|
7
|
+
# Fraud assessment to detect potential fraud and prevent the transaction from
|
|
8
|
+
# proceeding. Read more on how to set it up under our [__Fraud
|
|
9
|
+
# Assessment__](/products/payments/enable-features/fraud-assessment) guide.
|
|
10
|
+
class PaymentsFraud < BaseModel
|
|
11
|
+
SKIP = Object.new
|
|
12
|
+
private_constant :SKIP
|
|
13
|
+
|
|
14
|
+
# Enable a FraudSight risk assessment
|
|
15
|
+
# @return [String]
|
|
16
|
+
attr_reader :type
|
|
17
|
+
|
|
18
|
+
# Perform the Fraud assessment but do not act on the outcome.
|
|
19
|
+
# Normally used for the initial launch while the data model is
|
|
20
|
+
# maturing.
|
|
21
|
+
# @return [TrueClass | FalseClass]
|
|
22
|
+
attr_accessor :silent_mode
|
|
23
|
+
|
|
24
|
+
# Device fingerprint provided by Threatmetrix.
|
|
25
|
+
# @return [String]
|
|
26
|
+
attr_accessor :tmx_session_id
|
|
27
|
+
|
|
28
|
+
# Additional values specific to your order that can be used to create manual
|
|
29
|
+
# fraud rules.
|
|
30
|
+
# @return [Custom]
|
|
31
|
+
attr_accessor :custom
|
|
32
|
+
|
|
33
|
+
# A mapping from model property names to API property names.
|
|
34
|
+
def self.names
|
|
35
|
+
@_hash = {} if @_hash.nil?
|
|
36
|
+
@_hash['type'] = 'type'
|
|
37
|
+
@_hash['silent_mode'] = 'silentMode'
|
|
38
|
+
@_hash['tmx_session_id'] = 'tmxSessionId'
|
|
39
|
+
@_hash['custom'] = 'custom'
|
|
40
|
+
@_hash
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# An array for optional fields
|
|
44
|
+
def self.optionals
|
|
45
|
+
%w[
|
|
46
|
+
silent_mode
|
|
47
|
+
tmx_session_id
|
|
48
|
+
custom
|
|
49
|
+
]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# An array for nullable fields
|
|
53
|
+
def self.nullables
|
|
54
|
+
[]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def initialize(silent_mode = false, tmx_session_id = SKIP, custom = SKIP)
|
|
58
|
+
@type = 'fraudSight'
|
|
59
|
+
@silent_mode = silent_mode unless silent_mode == SKIP
|
|
60
|
+
@tmx_session_id = tmx_session_id unless tmx_session_id == SKIP
|
|
61
|
+
@custom = custom unless custom == 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
|
+
silent_mode = hash['silentMode'] ||= false
|
|
70
|
+
tmx_session_id = hash.key?('tmxSessionId') ? hash['tmxSessionId'] : SKIP
|
|
71
|
+
custom = Custom.from_hash(hash['custom']) if hash['custom']
|
|
72
|
+
|
|
73
|
+
# Create object from extracted values.
|
|
74
|
+
PaymentsFraud.new(silent_mode,
|
|
75
|
+
tmx_session_id,
|
|
76
|
+
custom)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Validates an instance of the object from a given value.
|
|
80
|
+
# @param [PaymentsFraud | Hash] The value against the validation is performed.
|
|
81
|
+
def self.validate(value)
|
|
82
|
+
if value.instance_of? self
|
|
83
|
+
return APIHelper.valid_type?(value.type,
|
|
84
|
+
->(val) { val.instance_of? String })
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
return false unless value.instance_of? Hash
|
|
88
|
+
|
|
89
|
+
APIHelper.valid_type?(value['type'],
|
|
90
|
+
->(val) { val.instance_of? String })
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Provides a human-readable string representation of the object.
|
|
94
|
+
def to_s
|
|
95
|
+
class_name = self.class.name.split('::').last
|
|
96
|
+
"<#{class_name} type: #{@type}, silent_mode: #{@silent_mode}, tmx_session_id:"\
|
|
97
|
+
" #{@tmx_session_id}, custom: #{@custom}>"
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
101
|
+
def inspect
|
|
102
|
+
class_name = self.class.name.split('::').last
|
|
103
|
+
"<#{class_name} type: #{@type.inspect}, silent_mode: #{@silent_mode.inspect},"\
|
|
104
|
+
" tmx_session_id: #{@tmx_session_id.inspect}, custom: #{@custom.inspect}>"
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|