unit_ruby_sdk 1.0.5 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +190 -19
- data/lib/unit/api_resources/application_form_resource.rb +40 -0
- data/lib/unit/api_resources/authorization_request_resource.rb +49 -0
- data/lib/unit/api_resources/authorization_resource.rb +31 -0
- data/lib/unit/api_resources/card_resource.rb +8 -0
- data/lib/unit/api_resources/event_resource.rb +40 -0
- data/lib/unit/api_resources/fee_resource.rb +32 -0
- data/lib/unit/api_resources/payment_resource.rb +17 -0
- data/lib/unit/api_resources/received_payment_resource.rb +47 -0
- data/lib/unit/api_resources/recurring_payment_resource.rb +55 -0
- data/lib/unit/api_resources/repayment_resource.rb +41 -0
- data/lib/unit/api_resources/reward_resource.rb +41 -0
- data/lib/unit/api_resources/webhook_resource.rb +65 -0
- data/lib/unit/models/application/application.rb +98 -10
- data/lib/unit/models/application/create_business_application_request.rb +34 -13
- data/lib/unit/models/application/create_individual_application_request.rb +12 -8
- data/lib/unit/models/application/create_sole_proprietor_application_request.rb +113 -0
- data/lib/unit/models/application/create_trust_application_request.rb +67 -0
- data/lib/unit/models/application/patch_trust_application_request.rb +31 -0
- data/lib/unit/models/application_form/application_form.rb +43 -0
- data/lib/unit/models/application_form/create_application_form_request.rb +48 -0
- data/lib/unit/models/application_form/list_application_form_params.rb +30 -0
- data/lib/unit/models/authorization/authorization.rb +42 -0
- data/lib/unit/models/authorization/get_request.rb +22 -0
- data/lib/unit/models/authorization/list_request.rb +67 -0
- data/lib/unit/models/authorization_request/approve_request.rb +37 -0
- data/lib/unit/models/authorization_request/authorization_request.rb +55 -0
- data/lib/unit/models/authorization_request/decline_request.rb +31 -0
- data/lib/unit/models/authorization_request/list_authorization_params.rb +44 -0
- data/lib/unit/models/card/card.rb +102 -4
- data/lib/unit/models/card/create_business_credit_card_request.rb +29 -0
- data/lib/unit/models/card/create_business_debit_card_request.rb +10 -6
- data/lib/unit/models/card/create_business_virtual_credit_card_request.rb +25 -0
- data/lib/unit/models/card/create_business_virtual_debit_card_request.rb +10 -6
- data/lib/unit/models/card/create_individual_debit_card_request.rb +7 -3
- data/lib/unit/models/card/create_individual_virtual_card_request.rb +6 -3
- data/lib/unit/models/card/patch_business_card_request.rb +50 -0
- data/lib/unit/models/card/patch_business_credit_card_request.rb +22 -0
- data/lib/unit/models/card/patch_business_virtual_card_request.rb +43 -0
- data/lib/unit/models/card/patch_business_virtual_credit_card_request.rb +20 -0
- data/lib/unit/models/customer/list_customer_params.rb +4 -2
- data/lib/unit/models/event/event.rb +37 -0
- data/lib/unit/models/event/list_event_params.rb +37 -0
- data/lib/unit/models/fee/create_fee_request.rb +43 -0
- data/lib/unit/models/fee/fee.rb +34 -0
- data/lib/unit/models/fee/reverse_fee_request.rb +43 -0
- data/lib/unit/models/payment/batch_release_request_builder.rb +21 -0
- data/lib/unit/models/payment/bulk_payment_request.rb +15 -0
- data/lib/unit/models/payment/create_ach_payment_inline_request.rb +29 -19
- data/lib/unit/models/payment/create_batch_release_request.rb +54 -0
- data/lib/unit/models/payment/create_book_payment_request.rb +24 -14
- data/lib/unit/models/payment/create_payment_linked_request.rb +31 -21
- data/lib/unit/models/payment/create_wire_payment_request.rb +22 -12
- data/lib/unit/models/payment/create_with_plaid_token_request.rb +32 -22
- data/lib/unit/models/payment/payment.rb +40 -12
- data/lib/unit/models/received_payment/list_payment_params.rb +51 -0
- data/lib/unit/models/received_payment/patch_payment_request.rb +31 -0
- data/lib/unit/models/received_payment/received_payment.rb +54 -0
- data/lib/unit/models/recurring_payment/create_recurring_credit_ach_payment_request.rb +52 -0
- data/lib/unit/models/recurring_payment/create_recurring_credit_book_payment_request.rb +54 -0
- data/lib/unit/models/recurring_payment/create_recurring_debit_ach_payment_request.rb +60 -0
- data/lib/unit/models/recurring_payment/list_recurring_payment_params.rb +60 -0
- data/lib/unit/models/recurring_payment/recurring_payment.rb +106 -0
- data/lib/unit/models/repayment/create_ach_repayment_request.rb +57 -0
- data/lib/unit/models/repayment/create_book_repayment_request.rb +53 -0
- data/lib/unit/models/repayment/list_repayment_params.rb +48 -0
- data/lib/unit/models/repayment/repayment.rb +67 -0
- data/lib/unit/models/reward/create_reward_request.rb +49 -0
- data/lib/unit/models/reward/get_request.rb +22 -0
- data/lib/unit/models/reward/list_reward_params.rb +65 -0
- data/lib/unit/models/reward/reward.rb +55 -0
- data/lib/unit/models/unit_response.rb +1 -1
- data/lib/unit/models/webhook/create_webhook_request.rb +49 -0
- data/lib/unit/models/webhook/list_webhook_params.rb +39 -0
- data/lib/unit/models/webhook/patch_webhook_request.rb +47 -0
- data/lib/unit/models/webhook/webhook.rb +80 -0
- data/lib/unit/types/application_form_prefill.rb +84 -0
- data/lib/unit/types/application_form_settings_override.rb +51 -0
- data/lib/unit/types/beneficial_owner.rb +15 -10
- data/lib/unit/types/beneficiary.rb +25 -0
- data/lib/unit/types/create_schedule.rb +38 -0
- data/lib/unit/types/evaluation_params.rb +4 -4
- data/lib/unit/types/grantor.rb +37 -0
- data/lib/unit/types/officer.rb +26 -13
- data/lib/unit/types/power_of_attorney_agent.rb +5 -12
- data/lib/unit/types/require_id_verification.rb +29 -0
- data/lib/unit/types/trust_contact.rb +34 -0
- data/lib/unit/types/trustee.rb +37 -0
- data/lib/unit/version.rb +1 -1
- data/lib/unit_ruby_sdk.rb +28 -0
- metadata +67 -2
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Request to create webhook
|
4
|
+
# @see https://docs.unit.co/webhooks#create-webhook
|
5
|
+
module Unit
|
6
|
+
module Webhook
|
7
|
+
class CreateWebhookRequest
|
8
|
+
attr_accessor :label, :url, :token, :content_type, :delivery_mode,
|
9
|
+
:include_resources, :subscription_type
|
10
|
+
|
11
|
+
# @param label [String]
|
12
|
+
# @param url [String]
|
13
|
+
# @param token [String]
|
14
|
+
# @param content_type [String]
|
15
|
+
# @param delivery_mode [String]
|
16
|
+
# @param include_resources [Boolean] - optional
|
17
|
+
# @param subscription_type [String] - optional
|
18
|
+
def initialize(label, url, token, content_type, delivery_mode,
|
19
|
+
include_resources = nil, subscription_type = nil)
|
20
|
+
@label = label
|
21
|
+
@url = url
|
22
|
+
@token = token
|
23
|
+
@content_type = content_type
|
24
|
+
@delivery_mode = delivery_mode
|
25
|
+
@include_resources = include_resources
|
26
|
+
@subscription_type = subscription_type
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_json_api
|
30
|
+
payload = {
|
31
|
+
data: {
|
32
|
+
type: "webhook",
|
33
|
+
attributes: {
|
34
|
+
label: label,
|
35
|
+
url: url,
|
36
|
+
token: token,
|
37
|
+
contentType: content_type,
|
38
|
+
deliveryMode: delivery_mode,
|
39
|
+
includeResources: include_resources,
|
40
|
+
subscriptionType: subscription_type
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
payload[:data][:attributes].compact!
|
45
|
+
payload.to_json
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Request to list webhooks
|
4
|
+
# @see https://docs.unit.co/webhooks#list-webhooks
|
5
|
+
module Unit
|
6
|
+
module Webhook
|
7
|
+
class ListWebhookParams
|
8
|
+
attr_accessor :limit, :offset, :since, :until_, :from_id, :told
|
9
|
+
|
10
|
+
# @param limit [Integer]
|
11
|
+
# @param offset [Integer]
|
12
|
+
# @param since [String] - optional
|
13
|
+
# @param until_ [String] - optional
|
14
|
+
# @param from_id [Integer] - optional
|
15
|
+
# @param told [Integer] - optional
|
16
|
+
def initialize(limit = WEBHOOK_LIMIT, offset = WEBHOOK_OFFSET, since = nil,
|
17
|
+
until_ = nil, from_id = nil, told = nil)
|
18
|
+
@limit = limit
|
19
|
+
@offset = offset
|
20
|
+
@since = since
|
21
|
+
@until_ = until_
|
22
|
+
@from_id = from_id
|
23
|
+
@told = told
|
24
|
+
end
|
25
|
+
|
26
|
+
def to_hash
|
27
|
+
payload = {
|
28
|
+
"page[limit]": limit,
|
29
|
+
"page[offset]": offset,
|
30
|
+
"filter[since]": since,
|
31
|
+
"filter[until]": until_,
|
32
|
+
"filter[fromId]": from_id,
|
33
|
+
"filter[told]": told
|
34
|
+
}
|
35
|
+
payload.compact!
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Request to patch webhook
|
4
|
+
# @see https://docs.unit.co/webhooks#update-webhook
|
5
|
+
module Unit
|
6
|
+
module Webhook
|
7
|
+
class PatchWebhookRequest
|
8
|
+
attr_reader :webhook_id, :label, :url, :token, :content_type, :token, :include_resources, :subscription_type
|
9
|
+
|
10
|
+
# @param webhook_id [String]
|
11
|
+
# @param label [String]
|
12
|
+
# @param url [String]
|
13
|
+
# @param content_type [String]
|
14
|
+
# @param token [String]
|
15
|
+
# @param include_resources [Boolean] - optional
|
16
|
+
# @param subscription_type [String] - optional
|
17
|
+
def initialize(webhook_id, label, url, content_type, token,
|
18
|
+
include_resources = nil, subscription_type = nil)
|
19
|
+
@webhook_id = webhook_id
|
20
|
+
@label = label
|
21
|
+
@url = url
|
22
|
+
@token = token
|
23
|
+
@content_type = content_type
|
24
|
+
@include_resources = include_resources
|
25
|
+
@subscription_type = subscription_type
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_json_api
|
29
|
+
payload = {
|
30
|
+
data: {
|
31
|
+
type: "webhook",
|
32
|
+
attributes: {
|
33
|
+
label: label,
|
34
|
+
url: url,
|
35
|
+
content_type: content_type,
|
36
|
+
token: token,
|
37
|
+
include_resources: include_resources,
|
38
|
+
subscription_type: subscription_type
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
payload[:data][:attributes].compact!
|
43
|
+
payload.to_json
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Unit
|
4
|
+
module Webhook
|
5
|
+
class << self
|
6
|
+
WEBHOOK_LIMIT = 100
|
7
|
+
WEBHOOK_OFFSET = 0
|
8
|
+
autoload :CreateWebhookRequest, "unit/models/webhook/create_webhook_request"
|
9
|
+
autoload :ListWebhookParams, "unit/models/webhook/list_webhook_params"
|
10
|
+
autoload :PatchWebhookRequest, "unit/models/webhook/patch_webhook_request"
|
11
|
+
|
12
|
+
# Create a webhook
|
13
|
+
# @see https://docs.unit.co/webhooks#create-webhook
|
14
|
+
# @param label [String]
|
15
|
+
# @param url [String]
|
16
|
+
# @param token [String]
|
17
|
+
# @param content_type [String]
|
18
|
+
# @param delivery_mode [String]
|
19
|
+
# @param include_resources [Boolean] - optional
|
20
|
+
# @param subscription_type [String] - optional
|
21
|
+
def create_webhook(label:, url:, token:, content_type:, delivery_mode:,
|
22
|
+
include_resources: nil, subscription_type: nil)
|
23
|
+
request = CreateWebhookRequest.new(label, url, token, content_type, delivery_mode,
|
24
|
+
include_resources, subscription_type)
|
25
|
+
Unit::Resource::WebhookResource.create_webhook(request)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Request to list webhooks
|
29
|
+
# @see https://docs.unit.co/webhooks#list-webhooks
|
30
|
+
# @param limit [Integer]
|
31
|
+
# @param offset [Integer]
|
32
|
+
# @param since [String] - optional
|
33
|
+
# @param until_ [String] - optional
|
34
|
+
# @param from_id [Integer] - optional
|
35
|
+
# @param told [Integer] - optional
|
36
|
+
def list_webhooks(limit: WEBHOOK_LIMIT, offset: WEBHOOK_OFFSET, since: nil,
|
37
|
+
until_: nil, from_id: nil, told: nil)
|
38
|
+
request = ListWebhookParams.new(limit, offset, since, until_, from_id, told)
|
39
|
+
Unit::Resource::WebhookResource.list_webhooks(request)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Request to patch webhook
|
43
|
+
# @see https://docs.unit.co/webhooks#update-webhook
|
44
|
+
# @param webhook_id [String]
|
45
|
+
# @param label [String]
|
46
|
+
# @param url [String]
|
47
|
+
# @param content_type [String]
|
48
|
+
# @param token [String]
|
49
|
+
# @param include_resources [Boolean] - optional
|
50
|
+
# @param subscription_type [String] - optional
|
51
|
+
def update_webhook(webhook_id:, label:, url:, content_type:, token:,
|
52
|
+
include_resources: nil, subscription_type: nil)
|
53
|
+
request = PatchWebhookRequest.new(webhook_id, label, url, content_type, token,
|
54
|
+
include_resources, subscription_type)
|
55
|
+
Unit::Resource::WebhookResource.update_webhook(request)
|
56
|
+
end
|
57
|
+
|
58
|
+
# Request to get a webhook
|
59
|
+
# @see https://docs.unit.co/webhooks#get-webhook
|
60
|
+
# @param webhook_id [String]
|
61
|
+
def get_webhook(webhook_id:)
|
62
|
+
Unit::Resource::WebhookResource.get_webhook(webhook_id)
|
63
|
+
end
|
64
|
+
|
65
|
+
# Request to enable a webhook
|
66
|
+
# @see https://docs.unit.co/webhooks#enable
|
67
|
+
# @param webhook_id [String]
|
68
|
+
def enable_webhook(webhook_id:)
|
69
|
+
Unit::Resource::WebhookResource.enable_webhook(webhook_id)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Request to disable a webhook
|
73
|
+
# @see https://docs.unit.co/webhooks#disable
|
74
|
+
# @param webhook_id [String]
|
75
|
+
def disable_webhook(webhook_id:)
|
76
|
+
Unit::Resource::WebhookResource.disable_webhook(webhook_id)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Type representing application form prefill
|
4
|
+
# @see https://docs.unit.co/types#applicationformprefill
|
5
|
+
module Unit
|
6
|
+
module Types
|
7
|
+
class ApplicationFormPrefill
|
8
|
+
attr_reader :application_type, :full_name, :ssn, :passport, :nationality, :date_of_birth, :email,
|
9
|
+
:name, :state_of_incorporation, :entity_type, :contact, :officer, :beneficial_owners,
|
10
|
+
:website, :dba, :ein, :industry, :address, :phone, :jwt_subject
|
11
|
+
|
12
|
+
# @param application_type [Array<String>] - optional
|
13
|
+
# @param full_name [FullName] - optional
|
14
|
+
# @param ssn [String] - optional
|
15
|
+
# @param passport [String] - optional
|
16
|
+
# @param nationality [String] - optional
|
17
|
+
# @param date_of_birth [Date] - optional
|
18
|
+
# @param email [String] - optional
|
19
|
+
# @param name [String] - optional
|
20
|
+
# @param state_of_incorporation [String] - optional
|
21
|
+
# @param entity_type [String] - optional
|
22
|
+
# @param contact [BusinessContact] - optional
|
23
|
+
# @param officer [Officer] - optional
|
24
|
+
# @param beneficial_owners [Array<BeneficialOwner>] - optional
|
25
|
+
# @param website [String] - optional
|
26
|
+
# @param dba [String] - optional
|
27
|
+
# @param ein [String] - optional
|
28
|
+
# @param industry [String] - optional
|
29
|
+
# @param address [Address] - optional
|
30
|
+
# @param phone [Phone] - optional
|
31
|
+
def initialize(application_type = nil, full_name = nil, ssn = nil, passport = nil, nationality = nil,
|
32
|
+
date_of_birth = nil, email = nil, name = nil, state_of_incorporation = nil, entity_type = nil,
|
33
|
+
contact = nil, officer = nil, beneficial_owners = nil, website = nil, dba = nil, ein = nil,
|
34
|
+
industry = nil, address = nil, phone = nil, jwt_subject = nil)
|
35
|
+
@application_type = application_type
|
36
|
+
@full_name = full_name
|
37
|
+
@ssn = ssn
|
38
|
+
@passport = passport
|
39
|
+
@nationality = nationality
|
40
|
+
@date_of_birth = date_of_birth
|
41
|
+
@email = email
|
42
|
+
@name = name
|
43
|
+
@state_of_incorporation = state_of_incorporation
|
44
|
+
@entity_type = entity_type
|
45
|
+
@contact = contact
|
46
|
+
@officer = officer
|
47
|
+
@beneficial_owners = beneficial_owners
|
48
|
+
@website = website
|
49
|
+
@dba = dba
|
50
|
+
@ein = ein
|
51
|
+
@industry = industry
|
52
|
+
@address = address
|
53
|
+
@phone = phone
|
54
|
+
@jwt_subject = jwt_subject
|
55
|
+
end
|
56
|
+
|
57
|
+
def represent
|
58
|
+
payload = {
|
59
|
+
applicationType: application_type,
|
60
|
+
fullName: full_name&.represent,
|
61
|
+
ssn: ssn,
|
62
|
+
passport: passport,
|
63
|
+
nationality: nationality,
|
64
|
+
dateOfBirth: date_of_birth,
|
65
|
+
email: email,
|
66
|
+
name: name,
|
67
|
+
stateOfIncorporation: state_of_incorporation,
|
68
|
+
entityType: entity_type,
|
69
|
+
contact: contact&.represent,
|
70
|
+
officer: officer&.represent,
|
71
|
+
beneficialOwners: beneficial_owners,
|
72
|
+
website: website,
|
73
|
+
dba: dba,
|
74
|
+
ein: ein,
|
75
|
+
industry: industry,
|
76
|
+
address: address&.represent,
|
77
|
+
phone: phone&.represent,
|
78
|
+
jwtSubject: jwt_subject
|
79
|
+
}
|
80
|
+
payload.compact
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Type representing application form settings override
|
4
|
+
# @see https://docs.unit.co/types#applicationformsettingsoverride
|
5
|
+
module Unit
|
6
|
+
module Types
|
7
|
+
class ApplicationFormSettingsOverride
|
8
|
+
attr_reader :redirect_url, :privacy_policy_url, :electronic_disclosures_url, :deposit_terms_url,
|
9
|
+
:client_terms_url, :cardholder_terms_url, :cash_advanced_terms_url, :debit_card_disclosure_url,
|
10
|
+
:additional_disclosures
|
11
|
+
|
12
|
+
# @param redirect_url [String] - optional
|
13
|
+
# @param privacy_policy_url [String] - optional
|
14
|
+
# @param electronic_disclosures_url [String] - optional
|
15
|
+
# @param deposit_terms_url [String] - optional
|
16
|
+
# @param client_terms_url [String] - optional
|
17
|
+
# @param cardholder_terms_url [String] - optional
|
18
|
+
# @param cash_advanced_terms_url [String] - optional
|
19
|
+
# @param debit_card_disclosure_url [String] - optional
|
20
|
+
# @param additional_disclosures [Array] - optional
|
21
|
+
def initialize(redirect_url = nil, privacy_policy_url = nil, electronic_disclosures_url = nil, deposit_terms_url = nil,
|
22
|
+
client_terms_url = nil, cardholder_terms_url = nil, cash_advanced_terms_url = nil, debit_card_disclosure_url = nil,
|
23
|
+
additional_disclosures = nil)
|
24
|
+
@redirect_url = redirect_url
|
25
|
+
@privacy_policy_url = privacy_policy_url
|
26
|
+
@electronic_disclosures_url = electronic_disclosures_url
|
27
|
+
@deposit_terms_url = deposit_terms_url
|
28
|
+
@client_terms_url = client_terms_url
|
29
|
+
@cardholder_terms_url = cardholder_terms_url
|
30
|
+
@cash_advanced_terms_url = cash_advanced_terms_url
|
31
|
+
@debit_card_disclosure_url = debit_card_disclosure_url
|
32
|
+
@additional_disclosures = additional_disclosures
|
33
|
+
end
|
34
|
+
|
35
|
+
def represent
|
36
|
+
payload = {
|
37
|
+
redirectUrl: redirect_url,
|
38
|
+
privacyPolicyUrl: privacy_policy_url,
|
39
|
+
electronicDisclosuresUrl: electronic_disclosures_url,
|
40
|
+
depositTermsUrl: deposit_terms_url,
|
41
|
+
clientTermsUrl: client_terms_url,
|
42
|
+
cardholderTermsUrl: cardholder_terms_url,
|
43
|
+
cashAdvancedTermsUrl: cash_advanced_terms_url,
|
44
|
+
debitCardDisclosureUrl: debit_card_disclosure_url,
|
45
|
+
additionalDisclosures: additional_disclosures&.join(",")
|
46
|
+
}
|
47
|
+
payload.compact
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -6,16 +6,21 @@ module Unit
|
|
6
6
|
attr_reader :full_name, :date_of_birth, :address, :phone, :email,
|
7
7
|
:status, :ssn, :passport, :nationality, :percentage
|
8
8
|
|
9
|
-
# @param [FullName]
|
10
|
-
# @param [Date]
|
11
|
-
# @param [Address]
|
12
|
-
# @param [Phone]
|
13
|
-
# @param [String]
|
14
|
-
# @param [String]
|
15
|
-
# @param
|
16
|
-
# @param
|
17
|
-
# @param
|
18
|
-
# @param
|
9
|
+
# @param full_name [FullName]
|
10
|
+
# @param date_of_birth [Date]
|
11
|
+
# @param address [Address]
|
12
|
+
# @param phone [Phone]
|
13
|
+
# @param email [String]
|
14
|
+
# @param ssn [String]
|
15
|
+
# @param status [String] - optional
|
16
|
+
# @param passport [String] - optional
|
17
|
+
# @param nationality [String] - optional
|
18
|
+
# @param percentage [Integer] - optional
|
19
|
+
# @param evaluation_params [EvaluationParams] - optional
|
20
|
+
# @param id_theft_score [Integer] - optional
|
21
|
+
# @param occupation [String] - optional
|
22
|
+
# @param annual_income [String] - optional
|
23
|
+
# @param source_of_income [String] - optional
|
19
24
|
# @return [BeneficialOwner]
|
20
25
|
def initialize(full_name, date_of_birth, address, phone, email, ssn, status = nil, passport = nil,
|
21
26
|
nationality = nil, percentage = nil)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @see https://docs.unit.co/types#beneficiary
|
4
|
+
module Unit
|
5
|
+
module Types
|
6
|
+
class Beneficiary
|
7
|
+
attr_reader :full_name, :date_of_birth
|
8
|
+
|
9
|
+
# @param full_name [FullName]
|
10
|
+
# @param date_of_birth [Date]
|
11
|
+
def initialize(full_name, date_of_birth = nil)
|
12
|
+
@full_name = full_name
|
13
|
+
@date_of_birth = date_of_birth
|
14
|
+
end
|
15
|
+
|
16
|
+
def represent
|
17
|
+
payload = {
|
18
|
+
fullName: full_name.represent,
|
19
|
+
dateOfBirth: date_of_birth
|
20
|
+
}
|
21
|
+
payload.compact
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Type for creating a schedule for recurring payments
|
4
|
+
# @see https://docs.unit.co/types#create-schedule
|
5
|
+
module Unit
|
6
|
+
module Types
|
7
|
+
class CreateSchedule
|
8
|
+
attr_reader :interval, :day_of_month, :day_of_week, :start_time, :end_time, :total_number_of_payments
|
9
|
+
|
10
|
+
# @param interval [String]
|
11
|
+
# @param day_of_month [Integer]
|
12
|
+
# @param day_of_week [String] - optional
|
13
|
+
# @param start_time [String] - optional
|
14
|
+
# @param end_time [String] - optional
|
15
|
+
# @param total_number_of_payments [Integer] - optional
|
16
|
+
def initialize(interval, day_of_month, day_of_week = nil, start_time = nil, end_time = nil, total_number_of_payments = nil)
|
17
|
+
@interval = interval
|
18
|
+
@day_of_month = day_of_month
|
19
|
+
@day_of_week = day_of_week
|
20
|
+
@start_time = start_time
|
21
|
+
@end_time = end_time
|
22
|
+
@total_number_of_payments = total_number_of_payments
|
23
|
+
end
|
24
|
+
|
25
|
+
def represent
|
26
|
+
payload = {
|
27
|
+
interval: interval,
|
28
|
+
dayOfMonth: day_of_month,
|
29
|
+
dayOfWeek: day_of_week,
|
30
|
+
startTime: start_time,
|
31
|
+
endTime: end_time,
|
32
|
+
totalNumberOfPayments: total_number_of_payments
|
33
|
+
}
|
34
|
+
payload.compact!
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -8,14 +8,14 @@ module Unit
|
|
8
8
|
|
9
9
|
def initialize(use_selfie_verification = nil, required_verification = nil)
|
10
10
|
@use_selfie_verification = use_selfie_verification
|
11
|
-
@
|
11
|
+
@required_verification = required_verification
|
12
12
|
end
|
13
13
|
|
14
14
|
def represent
|
15
15
|
{
|
16
|
-
|
17
|
-
|
18
|
-
}
|
16
|
+
useSelfieVerification: use_selfie_verification,
|
17
|
+
requiredVerification: required_verification
|
18
|
+
}.compact!
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @see https://docs.unit.co/types#grantor
|
4
|
+
module Unit
|
5
|
+
module Types
|
6
|
+
class Grantor
|
7
|
+
attr_reader :full_name, :date_of_birth, :ssn, :email, :phone, :address
|
8
|
+
|
9
|
+
# @param full_name [FullName]
|
10
|
+
# @param ssn [String]
|
11
|
+
# @param email [String]
|
12
|
+
# @param phone [Phone]
|
13
|
+
# @param address [Address]
|
14
|
+
# @param date_of_birth [Date] - optional
|
15
|
+
def initialize(full_name, ssn, email, phone, address, date_of_birth = nil)
|
16
|
+
@full_name = full_name
|
17
|
+
@date_of_birth = date_of_birth
|
18
|
+
@ssn = ssn
|
19
|
+
@email = email
|
20
|
+
@phone = phone
|
21
|
+
@address = address
|
22
|
+
end
|
23
|
+
|
24
|
+
def represent
|
25
|
+
payload = {
|
26
|
+
fullName: full_name.represent,
|
27
|
+
dateOfBirth: date_of_birth,
|
28
|
+
ssn: ssn,
|
29
|
+
email: email,
|
30
|
+
phone: phone.represent,
|
31
|
+
address: address.represent
|
32
|
+
}
|
33
|
+
payload.compact
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/unit/types/officer.rb
CHANGED
@@ -4,21 +4,24 @@ module Unit
|
|
4
4
|
module Types
|
5
5
|
class Officer
|
6
6
|
attr_reader :full_name, :date_of_birth, :address, :phone, :email,
|
7
|
-
:status, :title, :ssn, :passport, :nationality
|
7
|
+
:status, :title, :ssn, :passport, :nationality,
|
8
|
+
:evaluation_params, :id_theft_score, :occupation,
|
9
|
+
:annual_income, :source_of_income
|
8
10
|
|
9
|
-
# @param [FullName]
|
10
|
-
# @param [Date]
|
11
|
-
# @param [Address]
|
12
|
-
# @param [Phone]
|
13
|
-
# @param [String]
|
14
|
-
# @param [String]
|
15
|
-
# @param
|
16
|
-
# @param
|
17
|
-
# @param
|
18
|
-
# @param
|
11
|
+
# @param full_name [FullName]
|
12
|
+
# @param date_of_birth [Date]
|
13
|
+
# @param address [Address]
|
14
|
+
# @param phone [Phone]
|
15
|
+
# @param email [String]
|
16
|
+
# @param ssn [String]
|
17
|
+
# @param status [String] - optional
|
18
|
+
# @param title [String] - optional
|
19
|
+
# @param passport [String] - optional
|
20
|
+
# @param nationality [String] - optional
|
19
21
|
def initialize(full_name, date_of_birth, address, phone, email, ssn,
|
20
22
|
status = nil, title = nil, passport = nil,
|
21
|
-
nationality = nil
|
23
|
+
nationality = nil, evaluation_params = nil, id_theft_score = nil, occupation = nil,
|
24
|
+
annual_income = nil, source_of_income = nil)
|
22
25
|
@full_name = full_name
|
23
26
|
@date_of_birth = date_of_birth
|
24
27
|
@address = address
|
@@ -29,6 +32,11 @@ module Unit
|
|
29
32
|
@ssn = ssn
|
30
33
|
@passport = passport
|
31
34
|
@nationality = nationality
|
35
|
+
@evaluation_params = evaluation_params
|
36
|
+
@id_theft_score = id_theft_score
|
37
|
+
@occupation = occupation
|
38
|
+
@annual_income = annual_income
|
39
|
+
@source_of_income = source_of_income
|
32
40
|
end
|
33
41
|
|
34
42
|
def represent
|
@@ -43,7 +51,12 @@ module Unit
|
|
43
51
|
status: status,
|
44
52
|
title: title,
|
45
53
|
passport: passport,
|
46
|
-
nationality: nationality
|
54
|
+
nationality: nationality,
|
55
|
+
evaluation_params: evaluation_params,
|
56
|
+
id_theft_score: id_theft_score,
|
57
|
+
occupation: occupation,
|
58
|
+
annual_income: annual_income,
|
59
|
+
source_of_income: source_of_income
|
47
60
|
}
|
48
61
|
payload.compact
|
49
62
|
end
|
@@ -1,27 +1,21 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative "full_name"
|
4
|
-
require_relative "address"
|
5
|
-
require_relative "phone"
|
6
|
-
|
7
3
|
module Unit
|
8
4
|
module Types
|
9
5
|
class PowerOfAttorneyAgent
|
10
|
-
attr_reader :
|
6
|
+
attr_reader :full_name, :ssn, :passport, :nationality,
|
11
7
|
:date_of_birth, :address, :phone, :email, :jwt_subject
|
12
8
|
|
13
|
-
# @param [String] status
|
14
9
|
# @param [FullName] full_name
|
15
10
|
# @param [String] ssn
|
16
|
-
# @param [String] passport
|
17
11
|
# @param [String] nationality
|
18
12
|
# @param [Date] date_of_birth
|
19
13
|
# @param [Address] address
|
20
14
|
# @param [Phone] phone
|
21
15
|
# @param [String] email
|
22
|
-
# @param [String]
|
23
|
-
|
24
|
-
|
16
|
+
# @param [String] passport - optional
|
17
|
+
# @param [String] jwt_subject - optional
|
18
|
+
def initialize(full_name, ssn, nationality, date_of_birth, address, phone, email, passport = nil, jwt_subject = nil)
|
25
19
|
@full_name = full_name
|
26
20
|
@ssn = ssn
|
27
21
|
@passport = passport
|
@@ -35,7 +29,6 @@ module Unit
|
|
35
29
|
|
36
30
|
def represent
|
37
31
|
{
|
38
|
-
status: status,
|
39
32
|
fullName: full_name.represent,
|
40
33
|
ssn: ssn,
|
41
34
|
passport: passport,
|
@@ -45,7 +38,7 @@ module Unit
|
|
45
38
|
phone: phone.represent,
|
46
39
|
email: email,
|
47
40
|
jwtSubject: jwt_subject
|
48
|
-
}
|
41
|
+
}.compact!
|
49
42
|
end
|
50
43
|
end
|
51
44
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Type representing require id verification
|
4
|
+
# @see https://docs.unit.co/types#require-id-verification
|
5
|
+
module Unit
|
6
|
+
module Types
|
7
|
+
class RequireIdVerification
|
8
|
+
attr_reader :individual, :officer, :beneficial_owners
|
9
|
+
|
10
|
+
# @param individual [Boolean] - optional
|
11
|
+
# @param officer [Boolean] - optional
|
12
|
+
# @param beneficial_owners [Boolean] - optional
|
13
|
+
def initialize(individual = nil, officer = nil, beneficial_owners = nil)
|
14
|
+
@individual = individual
|
15
|
+
@officer = officer
|
16
|
+
@beneficial_owners = beneficial_owners
|
17
|
+
end
|
18
|
+
|
19
|
+
def represent
|
20
|
+
payload = {
|
21
|
+
individual: individual,
|
22
|
+
officer: officer,
|
23
|
+
beneficialOwners: beneficial_owners
|
24
|
+
}
|
25
|
+
payload.compact
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|