inttegro 6.0.1 → 8.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 +4 -4
- data/CHANGELOG.md +24 -0
- data/README.md +2 -2
- data/SECURITY.md +1 -1
- data/lib/inttegro/api_response.rb +41 -0
- data/lib/inttegro/chime/chime.rb +3 -2
- data/lib/inttegro/chime/send_request.rb +3 -2
- data/lib/inttegro/custom_data.rb +132 -0
- data/lib/inttegro/customer/create_request.rb +3 -2
- data/lib/inttegro/customer/customer.rb +3 -2
- data/lib/inttegro/customer/data.rb +3 -2
- data/lib/inttegro/customer/update_request.rb +3 -2
- data/lib/inttegro/file/file.rb +3 -2
- data/lib/inttegro/file_link/create_request.rb +3 -2
- data/lib/inttegro/file_link/file_link.rb +3 -2
- data/lib/inttegro/financial_account/bank_request.rb +3 -2
- data/lib/inttegro/financial_account/connected.rb +3 -2
- data/lib/inttegro/financial_account/created.rb +3 -2
- data/lib/inttegro/financial_account/details.rb +3 -2
- data/lib/inttegro/financial_account/dosh_request.rb +3 -2
- data/lib/inttegro/financial_account/financial_account.rb +3 -2
- data/lib/inttegro/financial_account/request_base.rb +3 -2
- data/lib/inttegro/financial_account/update_request.rb +3 -2
- data/lib/inttegro/financial_account/updated.rb +3 -2
- data/lib/inttegro/financial_account/wallet_request.rb +3 -2
- data/lib/inttegro/financial_account/wire_page_accounts_item.rb +3 -2
- data/lib/inttegro/generated/enums.rb +5 -1
- data/lib/inttegro/generated/models.rb +22 -17
- data/lib/inttegro/generated/operations.rb +6 -6
- data/lib/inttegro/http_client.rb +65 -1
- data/lib/inttegro/model_serialization.rb +30 -1
- data/lib/inttegro/order/create_existing_customer.rb +3 -2
- data/lib/inttegro/order/create_new_customer.rb +3 -2
- data/lib/inttegro/order/order.rb +3 -2
- data/lib/inttegro/order/product_line_item_product.rb +3 -2
- data/lib/inttegro/order/update_request.rb +3 -2
- data/lib/inttegro/payment_method/payment_method.rb +14 -2
- data/lib/inttegro/payment_method/tokenize_base.rb +3 -2
- data/lib/inttegro/payment_method/tokenize_mobile_money_request.rb +3 -2
- data/lib/inttegro/payment_method/update_request.rb +3 -2
- data/lib/inttegro/payout/cancel_request.rb +2 -2
- data/lib/inttegro/payout/{lookup_response.rb → destinations.rb} +8 -8
- data/lib/inttegro/payout/disable_automatic_response.rb +1 -1
- data/lib/inttegro/payout/error.rb +5 -5
- data/lib/inttegro/payout/lookup_request.rb +2 -2
- data/lib/inttegro/payout/page.rb +3 -3
- data/lib/inttegro/payout/page_request.rb +3 -3
- data/lib/inttegro/payout/page_response.rb +2 -2
- data/lib/inttegro/payout/payout.rb +4 -3
- data/lib/inttegro/payout/{cancel_response.rb → response.rb} +2 -2
- data/lib/inttegro/payout/set_destinations_request.rb +5 -4
- data/lib/inttegro/payout/settings_lookup.rb +5 -4
- data/lib/inttegro/payout/{get_settings_response.rb → settings_lookup_response.rb} +2 -2
- data/lib/inttegro/payout/settings_lookup_schedule.rb +2 -2
- data/lib/inttegro/payout/settings_lookup_schedule_aging_spec.rb +4 -4
- data/lib/inttegro/payout/settings_mutation.rb +12 -4
- data/lib/inttegro/payout/{set_destinations_response.rb → settings_mutation_response.rb} +2 -2
- data/lib/inttegro/payout/settings_mutation_schedule.rb +2 -2
- data/lib/inttegro/payout/settings_mutation_schedule_spec.rb +1 -1
- data/lib/inttegro/price/embedded_product.rb +3 -2
- data/lib/inttegro/product/create_request.rb +3 -2
- data/lib/inttegro/product/inline_details.rb +3 -2
- data/lib/inttegro/product/product.rb +3 -2
- data/lib/inttegro/product/update_request.rb +3 -2
- data/lib/inttegro/product/updated.rb +3 -2
- data/lib/inttegro/purchase_intent/product.rb +3 -2
- data/lib/inttegro/purchase_intent/purchase_intent.rb +0 -8
- data/lib/inttegro/refund/cancel_request.rb +7 -0
- data/lib/inttegro/refund/create_request.rb +3 -2
- data/lib/inttegro/refund/failure.rb +45 -0
- data/lib/inttegro/refund/failure_reason.rb +49 -0
- data/lib/inttegro/refund/offline_settlement.rb +28 -0
- data/lib/inttegro/refund/offline_settlement_type.rb +24 -0
- data/lib/inttegro/refund/payment_method_settlement.rb +37 -0
- data/lib/inttegro/refund/payment_method_settlement_type.rb +24 -0
- data/lib/inttegro/refund/refund.rb +35 -2
- data/lib/inttegro/refund/settlement.rb +19 -0
- data/lib/inttegro/refund/settlement_bank_account_payment_method.rb +44 -0
- data/lib/inttegro/refund/settlement_bank_account_payment_method_bank_account.rb +37 -0
- data/lib/inttegro/refund/settlement_bank_account_payment_method_bank_account_ghana_bank_account.rb +35 -0
- data/lib/inttegro/refund/settlement_bank_account_payment_method_type.rb +25 -0
- data/lib/inttegro/refund/settlement_mobile_money_payment_method.rb +44 -0
- data/lib/inttegro/refund/settlement_mobile_money_payment_method_mobile_money.rb +43 -0
- data/lib/inttegro/refund/settlement_mobile_money_payment_method_type.rb +25 -0
- data/lib/inttegro/refund/settlement_payment_method.rb +19 -0
- data/lib/inttegro/resources/orders.rb +8 -0
- data/lib/inttegro/resources/payouts.rb +15 -32
- data/lib/inttegro/resources/refunds.rb +5 -2
- data/lib/inttegro/schedule/payout_request.rb +5 -5
- data/lib/inttegro/shared/fee_details.rb +3 -2
- data/lib/inttegro/shared/invoice_settings.rb +3 -2
- data/lib/inttegro/shared/response_meta.rb +35 -0
- data/lib/inttegro/shared/shipping_details.rb +3 -2
- data/lib/inttegro/upload_request/create_request.rb +3 -2
- data/lib/inttegro/upload_request/details.rb +3 -2
- data/lib/inttegro/upload_request/upload_request.rb +3 -2
- data/lib/inttegro/version.rb +1 -1
- data/lib/inttegro.rb +2 -0
- data/rbi/inttegro/generated.rbi +11 -8
- metadata +27 -16
- data/lib/inttegro/payout/enable_automatic_response.rb +0 -28
- data/lib/inttegro/purchase_intent/activity.rb +0 -122
- data/lib/inttegro/purchase_intent/activity_attribution.rb +0 -83
- data/lib/inttegro/purchase_intent/activity_log.rb +0 -28
- data/lib/inttegro/purchase_intent/activity_type.rb +0 -37
- data/lib/inttegro/purchase_intent/activity_visitor.rb +0 -97
- data/lib/inttegro/schedule/payout_response.rb +0 -28
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "owner_update_input"
|
|
8
9
|
|
|
9
10
|
module Inttegro
|
|
@@ -27,7 +28,7 @@ module Inttegro
|
|
|
27
28
|
# serialized to a string.
|
|
28
29
|
#
|
|
29
30
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
30
|
-
# @return [
|
|
31
|
+
# @return [Inttegro::CustomDataPatch, nil]
|
|
31
32
|
#
|
|
32
33
|
# @!attribute [r] description
|
|
33
34
|
# Value of the `description` field in the Inttegro API payload.
|
|
@@ -54,7 +55,7 @@ module Inttegro
|
|
|
54
55
|
# @return [String, nil]
|
|
55
56
|
class UpdateRequest < T::Struct
|
|
56
57
|
const :account_id, String
|
|
57
|
-
const :custom_data, T.nilable(
|
|
58
|
+
const :custom_data, T.nilable(Inttegro::CustomDataPatch), default: nil
|
|
58
59
|
const :description, T.nilable(String), default: nil
|
|
59
60
|
const :label, T.nilable(String), default: nil
|
|
60
61
|
const :owner, T.nilable(Inttegro::FinancialAccount::OwnerUpdateInput), default: nil
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "../shared/dosh_account"
|
|
8
9
|
require_relative "../shared/financial_institution"
|
|
9
10
|
require_relative "../shared/resource_supply"
|
|
@@ -48,7 +49,7 @@ module Inttegro
|
|
|
48
49
|
# collection rather than a raw map.
|
|
49
50
|
#
|
|
50
51
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
51
|
-
# @return [
|
|
52
|
+
# @return [Inttegro::CustomData, nil]
|
|
52
53
|
#
|
|
53
54
|
# @!attribute [r] description
|
|
54
55
|
# Value of the `description` field in the Inttegro API payload.
|
|
@@ -144,7 +145,7 @@ module Inttegro
|
|
|
144
145
|
const :archived_at, T.nilable(Time), default: nil
|
|
145
146
|
const :created_at, Time
|
|
146
147
|
const :currency, String
|
|
147
|
-
const :custom_data, T.nilable(
|
|
148
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
148
149
|
const :description, T.nilable(String), default: nil
|
|
149
150
|
const :id, String
|
|
150
151
|
const :institution, T.nilable(Inttegro::Shared::FinancialInstitution), default: nil
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "owner_input"
|
|
8
9
|
require_relative "request_base_pull_configuration"
|
|
9
10
|
require_relative "request_base_push_configuration"
|
|
@@ -31,7 +32,7 @@ module Inttegro
|
|
|
31
32
|
# before storage.
|
|
32
33
|
#
|
|
33
34
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
34
|
-
# @return [
|
|
35
|
+
# @return [Inttegro::CustomDataInput, nil]
|
|
35
36
|
#
|
|
36
37
|
# @!attribute [r] description
|
|
37
38
|
# Value of the `description` field in the Inttegro API payload.
|
|
@@ -82,7 +83,7 @@ module Inttegro
|
|
|
82
83
|
# @return [Inttegro::FinancialAccount::WalletRequestWallet]
|
|
83
84
|
class WalletRequest < T::Struct
|
|
84
85
|
const :currency, String
|
|
85
|
-
const :custom_data, T.nilable(
|
|
86
|
+
const :custom_data, T.nilable(Inttegro::CustomDataInput), default: nil
|
|
86
87
|
const :description, T.nilable(String), default: nil
|
|
87
88
|
const :label, String
|
|
88
89
|
const :owner, Inttegro::FinancialAccount::OwnerInput
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "type"
|
|
8
9
|
|
|
9
10
|
module Inttegro
|
|
@@ -69,7 +70,7 @@ module Inttegro
|
|
|
69
70
|
# collection rather than a raw map.
|
|
70
71
|
#
|
|
71
72
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
72
|
-
# @return [
|
|
73
|
+
# @return [Inttegro::CustomData, nil]
|
|
73
74
|
class WirePageAccountsItem < T::Struct
|
|
74
75
|
const :id, T.nilable(String), default: nil
|
|
75
76
|
const :type, T.nilable(Inttegro::FinancialAccount::Type), default: nil
|
|
@@ -79,7 +80,7 @@ module Inttegro
|
|
|
79
80
|
const :reference, T.nilable(String), default: nil
|
|
80
81
|
const :created_at, T.nilable(Time), default: nil
|
|
81
82
|
const :archived_at, T.nilable(Time), default: nil
|
|
82
|
-
const :custom_data, T.nilable(
|
|
83
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
83
84
|
end
|
|
84
85
|
end
|
|
85
86
|
end
|
|
@@ -66,9 +66,13 @@ require_relative "../product/line_item_type"
|
|
|
66
66
|
require_relative "../product/shipment_input_type"
|
|
67
67
|
require_relative "../product/shipment_type"
|
|
68
68
|
require_relative "../product/type"
|
|
69
|
-
require_relative "../purchase_intent/activity_type"
|
|
70
69
|
require_relative "../purchase_intent/status"
|
|
70
|
+
require_relative "../refund/failure_reason"
|
|
71
|
+
require_relative "../refund/offline_settlement_type"
|
|
72
|
+
require_relative "../refund/payment_method_settlement_type"
|
|
71
73
|
require_relative "../refund/reason"
|
|
74
|
+
require_relative "../refund/settlement_bank_account_payment_method_type"
|
|
75
|
+
require_relative "../refund/settlement_mobile_money_payment_method_type"
|
|
72
76
|
require_relative "../refund/status"
|
|
73
77
|
require_relative "../secret_key/auth_result"
|
|
74
78
|
require_relative "../secret_key/status"
|
|
@@ -81,9 +81,6 @@ require_relative "../broadcast/response"
|
|
|
81
81
|
require_relative "../broadcast/cancel_request"
|
|
82
82
|
require_relative "../order/cancel_request"
|
|
83
83
|
require_relative "../payout/cancel_request"
|
|
84
|
-
require_relative "../payout/error"
|
|
85
|
-
require_relative "../payout/payout"
|
|
86
|
-
require_relative "../payout/cancel_response"
|
|
87
84
|
require_relative "../purchase_intent/cancel_request"
|
|
88
85
|
require_relative "../refund/request_meta"
|
|
89
86
|
require_relative "../refund/cancel_request"
|
|
@@ -147,7 +144,17 @@ require_relative "../order/customer"
|
|
|
147
144
|
require_relative "../order/document_format"
|
|
148
145
|
require_relative "../order/invoice_format"
|
|
149
146
|
require_relative "../order/invoice"
|
|
147
|
+
require_relative "../refund/failure"
|
|
150
148
|
require_relative "../refund/line_item"
|
|
149
|
+
require_relative "../refund/offline_settlement"
|
|
150
|
+
require_relative "../refund/settlement_mobile_money_payment_method_mobile_money"
|
|
151
|
+
require_relative "../refund/settlement_mobile_money_payment_method"
|
|
152
|
+
require_relative "../refund/settlement_bank_account_payment_method_bank_account_ghana_bank_account"
|
|
153
|
+
require_relative "../refund/settlement_bank_account_payment_method_bank_account"
|
|
154
|
+
require_relative "../refund/settlement_bank_account_payment_method"
|
|
155
|
+
require_relative "../refund/settlement_payment_method"
|
|
156
|
+
require_relative "../refund/payment_method_settlement"
|
|
157
|
+
require_relative "../refund/settlement"
|
|
151
158
|
require_relative "../refund/refund"
|
|
152
159
|
require_relative "../shared/invoice_settings"
|
|
153
160
|
require_relative "../price/price"
|
|
@@ -275,6 +282,7 @@ require_relative "../secret_key/destroy_request"
|
|
|
275
282
|
require_relative "../secret_key/secret_key"
|
|
276
283
|
require_relative "../secret_key/destroy_response"
|
|
277
284
|
require_relative "../payout/disable_automatic_request"
|
|
285
|
+
require_relative "../payout/destinations"
|
|
278
286
|
require_relative "../payout/settings_mutation_schedule_spec"
|
|
279
287
|
require_relative "../payout/settings_mutation_schedule"
|
|
280
288
|
require_relative "../payout/settings_mutation"
|
|
@@ -285,7 +293,6 @@ require_relative "../payment_method/disactivate_request"
|
|
|
285
293
|
require_relative "../payment_method/disactivate_response"
|
|
286
294
|
require_relative "../financial_account/disconnect_response"
|
|
287
295
|
require_relative "../payout/enable_automatic_request"
|
|
288
|
-
require_relative "../payout/enable_automatic_response"
|
|
289
296
|
require_relative "../financial_account/enable_pull_response"
|
|
290
297
|
require_relative "../financial_account/enable_push_response"
|
|
291
298
|
require_relative "../shared/error_envelope"
|
|
@@ -350,10 +357,6 @@ require_relative "../payment_method/type_setting"
|
|
|
350
357
|
require_relative "../payment_method/settings"
|
|
351
358
|
require_relative "../payment_method/get_settings_response"
|
|
352
359
|
require_relative "../payout/get_settings_request"
|
|
353
|
-
require_relative "../payout/settings_lookup_schedule_aging_spec"
|
|
354
|
-
require_relative "../payout/settings_lookup_schedule"
|
|
355
|
-
require_relative "../payout/settings_lookup"
|
|
356
|
-
require_relative "../payout/get_settings_response"
|
|
357
360
|
require_relative "../otp/initiate_request"
|
|
358
361
|
require_relative "../otp/transmission"
|
|
359
362
|
require_relative "../otp/transaction"
|
|
@@ -376,7 +379,6 @@ require_relative "../order/lookup_request"
|
|
|
376
379
|
require_relative "../payment_method/lookup_request"
|
|
377
380
|
require_relative "../payment_method/lookup_response"
|
|
378
381
|
require_relative "../payout/lookup_request"
|
|
379
|
-
require_relative "../payout/lookup_response"
|
|
380
382
|
require_relative "../price/lookup_request"
|
|
381
383
|
require_relative "../product/lookup_request"
|
|
382
384
|
require_relative "../purchase_intent/lookup_request"
|
|
@@ -424,18 +426,12 @@ require_relative "../message_template/page_request"
|
|
|
424
426
|
require_relative "../order/page_envelope"
|
|
425
427
|
require_relative "../order/page_request"
|
|
426
428
|
require_relative "../payout/page_request"
|
|
427
|
-
require_relative "../payout/page"
|
|
428
|
-
require_relative "../payout/page_response"
|
|
429
429
|
require_relative "../product/page_request"
|
|
430
430
|
require_relative "../product/price_summary"
|
|
431
431
|
require_relative "../product/product"
|
|
432
432
|
require_relative "../product/page"
|
|
433
433
|
require_relative "../product/page_response"
|
|
434
434
|
require_relative "../purchase_intent/page_request"
|
|
435
|
-
require_relative "../purchase_intent/activity_attribution"
|
|
436
|
-
require_relative "../purchase_intent/activity_visitor"
|
|
437
|
-
require_relative "../purchase_intent/activity"
|
|
438
|
-
require_relative "../purchase_intent/activity_log"
|
|
439
435
|
require_relative "../purchase_intent/merchant"
|
|
440
436
|
require_relative "../purchase_intent/original_price"
|
|
441
437
|
require_relative "../purchase_intent/price"
|
|
@@ -462,6 +458,16 @@ require_relative "../payment_method/page_request"
|
|
|
462
458
|
require_relative "../payment_method/page_response"
|
|
463
459
|
require_relative "../payment_method/tokenize_base"
|
|
464
460
|
require_relative "../payment/result"
|
|
461
|
+
require_relative "../payout/error"
|
|
462
|
+
require_relative "../payout/payout"
|
|
463
|
+
require_relative "../payout/page"
|
|
464
|
+
require_relative "../payout/page_response"
|
|
465
|
+
require_relative "../payout/response"
|
|
466
|
+
require_relative "../payout/settings_lookup_schedule_aging_spec"
|
|
467
|
+
require_relative "../payout/settings_lookup_schedule"
|
|
468
|
+
require_relative "../payout/settings_lookup"
|
|
469
|
+
require_relative "../payout/settings_lookup_response"
|
|
470
|
+
require_relative "../payout/settings_mutation_response"
|
|
465
471
|
require_relative "../price/action_request"
|
|
466
472
|
require_relative "../price/page_item"
|
|
467
473
|
require_relative "../price/page"
|
|
@@ -477,6 +483,7 @@ require_relative "../refund/page_response"
|
|
|
477
483
|
require_relative "../refund/response"
|
|
478
484
|
require_relative "../message_template/render_preview_request"
|
|
479
485
|
require_relative "../shared/request_confirmation_request"
|
|
486
|
+
require_relative "../shared/response_meta"
|
|
480
487
|
require_relative "../upload_request/review_reason_input"
|
|
481
488
|
require_relative "../upload_request/review_attempt_by_id_request"
|
|
482
489
|
require_relative "../upload_request/review_attempt_by_ordinal_request"
|
|
@@ -491,7 +498,6 @@ require_relative "../schedule/creation_detail"
|
|
|
491
498
|
require_relative "../schedule/detail"
|
|
492
499
|
require_relative "../schedule/lookup_response"
|
|
493
500
|
require_relative "../schedule/payout_request"
|
|
494
|
-
require_relative "../schedule/payout_response"
|
|
495
501
|
require_relative "../schedule/response"
|
|
496
502
|
require_relative "../secret_key/usage_row"
|
|
497
503
|
require_relative "../secret_key/usage_page"
|
|
@@ -500,7 +506,6 @@ require_relative "../secret_key/usage_request"
|
|
|
500
506
|
require_relative "../chime/send_request_request_meta"
|
|
501
507
|
require_relative "../chime/send_request"
|
|
502
508
|
require_relative "../payout/set_destinations_request"
|
|
503
|
-
require_relative "../payout/set_destinations_response"
|
|
504
509
|
require_relative "../payment_method/tokenize_mobile_money_request_mobile_money"
|
|
505
510
|
require_relative "../payment_method/tokenize_mobile_money_request"
|
|
506
511
|
require_relative "../payment_method/tokenize_response"
|
|
@@ -74,14 +74,14 @@ module Inttegro
|
|
|
74
74
|
"/balances" => Inttegro::Balance::SnapshotResponse,
|
|
75
75
|
"/balance_transactions/lookup" => Inttegro::BalanceTransaction::Response,
|
|
76
76
|
"/balance_transactions/page" => Inttegro::BalanceTransaction::PageResponse,
|
|
77
|
-
"/payouts/schedule" => Inttegro::
|
|
78
|
-
"/payouts/lookup" => Inttegro::Payout::
|
|
79
|
-
"/payouts/set_destinations" => Inttegro::Payout::
|
|
80
|
-
"/payouts/settings" => Inttegro::Payout::
|
|
77
|
+
"/payouts/schedule" => Inttegro::Payout::Response,
|
|
78
|
+
"/payouts/lookup" => Inttegro::Payout::Response,
|
|
79
|
+
"/payouts/set_destinations" => Inttegro::Payout::SettingsMutationResponse,
|
|
80
|
+
"/payouts/settings" => Inttegro::Payout::SettingsLookupResponse,
|
|
81
81
|
"/payouts/disable" => Inttegro::Payout::DisableAutomaticResponse,
|
|
82
|
-
"/payouts/enable" => Inttegro::Payout::
|
|
82
|
+
"/payouts/enable" => Inttegro::Payout::SettingsMutationResponse,
|
|
83
83
|
"/payouts/page" => Inttegro::Payout::PageResponse,
|
|
84
|
-
"/payouts/cancel" => Inttegro::Payout::
|
|
84
|
+
"/payouts/cancel" => Inttegro::Payout::Response,
|
|
85
85
|
"/files/create" => Inttegro::File::Response,
|
|
86
86
|
"/files/lookup" => Inttegro::File::Response,
|
|
87
87
|
"/files/page" => Inttegro::File::PageResponse,
|
data/lib/inttegro/http_client.rb
CHANGED
|
@@ -8,6 +8,7 @@ require "time"
|
|
|
8
8
|
require "uri"
|
|
9
9
|
|
|
10
10
|
require_relative "errors"
|
|
11
|
+
require_relative "api_response"
|
|
11
12
|
require_relative "file_download"
|
|
12
13
|
require_relative "models"
|
|
13
14
|
require_relative "generated/operations"
|
|
@@ -148,6 +149,31 @@ module Inttegro
|
|
|
148
149
|
raise TypeError, "expected #{model} in #{field} from #{path}, got #{decoded.class}"
|
|
149
150
|
end
|
|
150
151
|
|
|
152
|
+
sig do
|
|
153
|
+
type_parameters(:Model)
|
|
154
|
+
.params(
|
|
155
|
+
path: String,
|
|
156
|
+
model: T::Class[T.type_parameter(:Model)],
|
|
157
|
+
field: Symbol,
|
|
158
|
+
body: Types::RequestBody,
|
|
159
|
+
headers: Types::Headers,
|
|
160
|
+
query: T.nilable(Types::Query)
|
|
161
|
+
)
|
|
162
|
+
.returns(APIResponse)
|
|
163
|
+
end
|
|
164
|
+
def post_resource_with_response(path, model, field, body, headers: {}, query: nil)
|
|
165
|
+
response = request_with_response(:post, path, body: body, headers: headers, query: query)
|
|
166
|
+
envelope = expect_response_object(T.cast(response.data, ResponseValue), path)
|
|
167
|
+
value = envelope.public_send(field)
|
|
168
|
+
value = value.to_h if value.is_a?(ResponseObject)
|
|
169
|
+
return response.with_data(T.cast(value, Object)) if value.is_a?(model)
|
|
170
|
+
|
|
171
|
+
decoded = Inttegro.deserialize(value, T.cast(model, T::Class[T::Struct]))
|
|
172
|
+
return response.with_data(decoded) if decoded.is_a?(model)
|
|
173
|
+
|
|
174
|
+
raise TypeError, "expected #{model} in #{field} from #{path}, got #{decoded.class}"
|
|
175
|
+
end
|
|
176
|
+
|
|
151
177
|
sig do
|
|
152
178
|
params(
|
|
153
179
|
path: String,
|
|
@@ -328,6 +354,30 @@ module Inttegro
|
|
|
328
354
|
).returns(ResponseValue)
|
|
329
355
|
end
|
|
330
356
|
def request(method, path, body: nil, headers: {}, query: nil, response_model: nil)
|
|
357
|
+
T.cast(
|
|
358
|
+
request_with_response(
|
|
359
|
+
method,
|
|
360
|
+
path,
|
|
361
|
+
body: body,
|
|
362
|
+
headers: headers,
|
|
363
|
+
query: query,
|
|
364
|
+
response_model: response_model
|
|
365
|
+
).data,
|
|
366
|
+
ResponseValue
|
|
367
|
+
)
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
sig do
|
|
371
|
+
params(
|
|
372
|
+
method: T.any(String, Symbol),
|
|
373
|
+
path: String,
|
|
374
|
+
body: T.nilable(Types::RequestBody),
|
|
375
|
+
headers: Types::Headers,
|
|
376
|
+
query: T.nilable(Types::Query),
|
|
377
|
+
response_model: T.nilable(T::Class[T::Struct])
|
|
378
|
+
).returns(APIResponse)
|
|
379
|
+
end
|
|
380
|
+
def request_with_response(method, path, body: nil, headers: {}, query: nil, response_model: nil)
|
|
331
381
|
@telemetry.in_span(path, method, @base_url, Inttegro::VERSION) do |span|
|
|
332
382
|
uri = build_uri(path, query)
|
|
333
383
|
body = validate_body(path, coerce_body(body))
|
|
@@ -346,7 +396,12 @@ module Inttegro
|
|
|
346
396
|
@telemetry.response(span, response, decoded: false)
|
|
347
397
|
result = handle_response(path, response, response_model)
|
|
348
398
|
@telemetry.decoded(span)
|
|
349
|
-
|
|
399
|
+
APIResponse.new(
|
|
400
|
+
data: result,
|
|
401
|
+
status: response.code.to_i,
|
|
402
|
+
headers: response.headers,
|
|
403
|
+
meta: response_meta(response.body)
|
|
404
|
+
)
|
|
350
405
|
end
|
|
351
406
|
rescue Timeout::Error, Errno::ETIMEDOUT => e
|
|
352
407
|
raise TimeoutError.new("Request timed out", e)
|
|
@@ -574,6 +629,15 @@ module Inttegro
|
|
|
574
629
|
body
|
|
575
630
|
end
|
|
576
631
|
|
|
632
|
+
sig { params(body: String).returns(T.nilable(Types::Payload)) }
|
|
633
|
+
def response_meta(body)
|
|
634
|
+
data = parse_json(body)
|
|
635
|
+
return nil unless data.is_a?(Hash)
|
|
636
|
+
|
|
637
|
+
meta = data["response_meta"] || data[:response_meta]
|
|
638
|
+
meta.is_a?(Hash) ? normalize_payload(meta) : nil
|
|
639
|
+
end
|
|
640
|
+
|
|
577
641
|
sig { params(data: Object, response: TransportResponse).returns(String) }
|
|
578
642
|
def extract_error_message(data, response)
|
|
579
643
|
return "HTTP #{response.code} #{response.message}" unless data.is_a?(Hash)
|
|
@@ -44,7 +44,9 @@ module Inttegro
|
|
|
44
44
|
data = stringify_json_keys(value, decode_timestamps: true)
|
|
45
45
|
raise TypeError, "expected an object for #{klass}, got #{data.class}" unless data.is_a?(Hash)
|
|
46
46
|
|
|
47
|
-
T.cast(klass, T.class_of(T::Struct)).from_hash(data)
|
|
47
|
+
model = T.cast(klass, T.class_of(T::Struct)).from_hash(data)
|
|
48
|
+
wrap_response_custom_data(model)
|
|
49
|
+
model
|
|
48
50
|
end
|
|
49
51
|
|
|
50
52
|
sig { params(value: Object, decode_timestamps: T::Boolean).returns(Object) }
|
|
@@ -56,6 +58,8 @@ module Inttegro
|
|
|
56
58
|
# @api private
|
|
57
59
|
def self.stringify_json_keys(value, decode_timestamps: false)
|
|
58
60
|
case value
|
|
61
|
+
when CustomData, CustomDataInput, CustomDataPatch
|
|
62
|
+
value
|
|
59
63
|
when T::Struct
|
|
60
64
|
stringify_json_keys(value.serialize, decode_timestamps: decode_timestamps)
|
|
61
65
|
when T::Enum
|
|
@@ -82,4 +86,29 @@ module Inttegro
|
|
|
82
86
|
end
|
|
83
87
|
end
|
|
84
88
|
private_class_method :stringify_json_keys
|
|
89
|
+
|
|
90
|
+
sig { params(value: Object).returns(Object) }
|
|
91
|
+
def self.wrap_response_custom_data(value)
|
|
92
|
+
case value
|
|
93
|
+
when T::Struct
|
|
94
|
+
raw = value.instance_variable_get(:@custom_data)
|
|
95
|
+
if raw.is_a?(Hash) && !raw.is_a?(CustomData)
|
|
96
|
+
value.instance_variable_set(
|
|
97
|
+
:@custom_data,
|
|
98
|
+
CustomData.new(raw)
|
|
99
|
+
)
|
|
100
|
+
end
|
|
101
|
+
value.instance_variables.each do |variable|
|
|
102
|
+
next if variable == :@custom_data
|
|
103
|
+
|
|
104
|
+
wrap_response_custom_data(value.instance_variable_get(variable))
|
|
105
|
+
end
|
|
106
|
+
when Array
|
|
107
|
+
value.each { |item| wrap_response_custom_data(item) }
|
|
108
|
+
when Hash
|
|
109
|
+
value.each_value { |item| wrap_response_custom_data(item) }
|
|
110
|
+
end
|
|
111
|
+
value
|
|
112
|
+
end
|
|
113
|
+
private_class_method :wrap_response_custom_data
|
|
85
114
|
end
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "../payment_method/data"
|
|
8
9
|
require_relative "../shared/billing_details"
|
|
9
10
|
require_relative "../shared/invoice_settings"
|
|
@@ -112,7 +113,7 @@ module Inttegro
|
|
|
112
113
|
# collection rather than a raw map.
|
|
113
114
|
#
|
|
114
115
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
115
|
-
# @return [
|
|
116
|
+
# @return [Inttegro::CustomData, nil]
|
|
116
117
|
#
|
|
117
118
|
# @!attribute [r] billing_details
|
|
118
119
|
# Value of the `billing_details` field in the Inttegro API payload.
|
|
@@ -139,7 +140,7 @@ module Inttegro
|
|
|
139
140
|
const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
|
|
140
141
|
const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
|
|
141
142
|
const :line_items, T::Array[Inttegro::Shared::LineItem]
|
|
142
|
-
const :custom_data, T.nilable(
|
|
143
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
143
144
|
const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
|
|
144
145
|
const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil
|
|
145
146
|
end
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "../customer/data"
|
|
8
9
|
require_relative "../payment_method/data"
|
|
9
10
|
require_relative "../shared/billing_details"
|
|
@@ -114,7 +115,7 @@ module Inttegro
|
|
|
114
115
|
# collection rather than a raw map.
|
|
115
116
|
#
|
|
116
117
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
117
|
-
# @return [
|
|
118
|
+
# @return [Inttegro::CustomData, nil]
|
|
118
119
|
#
|
|
119
120
|
# @!attribute [r] billing_details
|
|
120
121
|
# Value of the `billing_details` field in the Inttegro API payload.
|
|
@@ -141,7 +142,7 @@ module Inttegro
|
|
|
141
142
|
const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
|
|
142
143
|
const :payout_settings, T.nilable(Inttegro::Order::PayoutSettingsRequest), default: nil
|
|
143
144
|
const :line_items, T::Array[Inttegro::Shared::LineItem]
|
|
144
|
-
const :custom_data, T.nilable(
|
|
145
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
145
146
|
const :billing_details, T.nilable(Inttegro::Shared::BillingDetails), default: nil
|
|
146
147
|
const :shipping, T.nilable(Inttegro::Shared::Shipping), default: nil
|
|
147
148
|
end
|
data/lib/inttegro/order/order.rb
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "../payment/payment"
|
|
8
9
|
require_relative "../refund/refund"
|
|
9
10
|
require_relative "../shared/invoice_settings"
|
|
@@ -53,7 +54,7 @@ module Inttegro
|
|
|
53
54
|
# collection rather than a raw map.
|
|
54
55
|
#
|
|
55
56
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
56
|
-
# @return [
|
|
57
|
+
# @return [Inttegro::CustomData, nil]
|
|
57
58
|
#
|
|
58
59
|
# @!attribute [r] customer
|
|
59
60
|
# Value of the `customer` field in the Inttegro API payload.
|
|
@@ -156,7 +157,7 @@ module Inttegro
|
|
|
156
157
|
const :checkout_settings, T.nilable(Inttegro::Order::CheckoutSettings), default: nil
|
|
157
158
|
const :completed_at, T.nilable(Time), default: nil
|
|
158
159
|
const :created_from, T.nilable(Inttegro::Order::CreatedFrom), default: nil
|
|
159
|
-
const :custom_data, T.nilable(
|
|
160
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
160
161
|
const :customer, Inttegro::Order::Customer
|
|
161
162
|
const :expires_at, T.nilable(Time), default: nil
|
|
162
163
|
const :id, String
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "../price/price"
|
|
8
9
|
|
|
9
10
|
module Inttegro
|
|
@@ -51,7 +52,7 @@ module Inttegro
|
|
|
51
52
|
# collection rather than a raw map.
|
|
52
53
|
#
|
|
53
54
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
54
|
-
# @return [
|
|
55
|
+
# @return [Inttegro::CustomData, nil]
|
|
55
56
|
#
|
|
56
57
|
# @!attribute [r] tax_code
|
|
57
58
|
# Value of the `tax_code` field in the Inttegro API payload.
|
|
@@ -94,7 +95,7 @@ module Inttegro
|
|
|
94
95
|
const :price_id, T.nilable(String), default: nil
|
|
95
96
|
const :reference, T.nilable(String), default: nil
|
|
96
97
|
const :about, T.nilable(String), default: nil
|
|
97
|
-
const :custom_data, T.nilable(
|
|
98
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
98
99
|
const :tax_code, T.nilable(String), default: nil
|
|
99
100
|
const :name, String
|
|
100
101
|
const :category, T.nilable(String), default: nil
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "../shared/invoice_settings"
|
|
8
9
|
require_relative "../shared/line_item"
|
|
9
10
|
require_relative "update_request_payment_method_data"
|
|
@@ -30,7 +31,7 @@ module Inttegro
|
|
|
30
31
|
# collection rather than a raw map.
|
|
31
32
|
#
|
|
32
33
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
33
|
-
# @return [
|
|
34
|
+
# @return [Inttegro::CustomData, nil]
|
|
34
35
|
#
|
|
35
36
|
# @!attribute [r] invoice_settings
|
|
36
37
|
# Order-level invoice rendering data. Pages uses this data when rendering invoice web and
|
|
@@ -101,7 +102,7 @@ module Inttegro
|
|
|
101
102
|
# @return [String, nil]
|
|
102
103
|
class UpdateRequest < T::Struct
|
|
103
104
|
const :clear_payment_method, T.nilable(T::Boolean), default: nil
|
|
104
|
-
const :custom_data, T.nilable(
|
|
105
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
105
106
|
const :invoice_settings, T.nilable(Inttegro::Shared::InvoiceSettings), default: nil
|
|
106
107
|
const :finalize, T.nilable(T::Boolean), default: nil
|
|
107
108
|
const :line_items, T.nilable(T::Array[Inttegro::Shared::LineItem]), default: nil
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "bank_account"
|
|
8
9
|
require_relative "card"
|
|
9
10
|
require_relative "mobile_money"
|
|
@@ -56,7 +57,7 @@ module Inttegro
|
|
|
56
57
|
# collection rather than a raw map.
|
|
57
58
|
#
|
|
58
59
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
59
|
-
# @return [
|
|
60
|
+
# @return [Inttegro::CustomData, nil]
|
|
60
61
|
#
|
|
61
62
|
# @!attribute [r] customer_id
|
|
62
63
|
# Customer who owns this payment method
|
|
@@ -76,6 +77,16 @@ module Inttegro
|
|
|
76
77
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `expires_on`.
|
|
77
78
|
# @return [Time, nil]
|
|
78
79
|
#
|
|
80
|
+
# @!attribute [r] fingerprint
|
|
81
|
+
# Customer-scoped fingerprint for this payment method within the merchant application.
|
|
82
|
+
# Matching nonempty values for the same customer indicate the same underlying method was added
|
|
83
|
+
# more than once. May be empty for records awaiting fingerprint backfill or methods lacking
|
|
84
|
+
# reliable fingerprint material. It does not identify the method across customers or
|
|
85
|
+
# applications.
|
|
86
|
+
#
|
|
87
|
+
# Required in the API payload. Wire name: `fingerprint`.
|
|
88
|
+
# @return [String]
|
|
89
|
+
#
|
|
79
90
|
# @!attribute [r] id
|
|
80
91
|
# Unique identifier for this payment method
|
|
81
92
|
#
|
|
@@ -123,10 +134,11 @@ module Inttegro
|
|
|
123
134
|
const :bank_account, T.nilable(Inttegro::PaymentMethod::BankAccount), default: nil
|
|
124
135
|
const :card, T.nilable(Inttegro::PaymentMethod::Card), default: nil
|
|
125
136
|
const :created_at, Time
|
|
126
|
-
const :custom_data, T.nilable(
|
|
137
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
127
138
|
const :customer_id, String
|
|
128
139
|
const :ephemeral, T.nilable(T::Boolean), default: nil
|
|
129
140
|
const :expires_on, T.nilable(Time), default: nil
|
|
141
|
+
const :fingerprint, String
|
|
130
142
|
const :id, String
|
|
131
143
|
const :mobile_money, T.nilable(Inttegro::PaymentMethod::MobileMoney), default: nil
|
|
132
144
|
const :owner, T.nilable(Inttegro::PaymentMethod::Owner), default: nil
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "tokenize_base_type"
|
|
8
9
|
|
|
9
10
|
module Inttegro
|
|
@@ -27,7 +28,7 @@ module Inttegro
|
|
|
27
28
|
# collection rather than a raw map.
|
|
28
29
|
#
|
|
29
30
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
30
|
-
# @return [
|
|
31
|
+
# @return [Inttegro::CustomData, nil]
|
|
31
32
|
#
|
|
32
33
|
# @!attribute [r] type
|
|
33
34
|
# Value of the `type` field in the Inttegro API payload.
|
|
@@ -36,7 +37,7 @@ module Inttegro
|
|
|
36
37
|
# @return [Inttegro::PaymentMethod::TokenizeBaseType]
|
|
37
38
|
class TokenizeBase < T::Struct
|
|
38
39
|
const :customer_id, String
|
|
39
|
-
const :custom_data, T.nilable(
|
|
40
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
40
41
|
const :type, Inttegro::PaymentMethod::TokenizeBaseType
|
|
41
42
|
end
|
|
42
43
|
end
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
|
|
5
5
|
|
|
6
6
|
require_relative "base"
|
|
7
|
+
require_relative "../custom_data"
|
|
7
8
|
require_relative "owner_input"
|
|
8
9
|
require_relative "tokenize_mobile_money_request_mobile_money"
|
|
9
10
|
require_relative "tokenize_mobile_money_request_type"
|
|
@@ -29,7 +30,7 @@ module Inttegro
|
|
|
29
30
|
# collection rather than a raw map.
|
|
30
31
|
#
|
|
31
32
|
# Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
|
|
32
|
-
# @return [
|
|
33
|
+
# @return [Inttegro::CustomData, nil]
|
|
33
34
|
#
|
|
34
35
|
# @!attribute [r] type
|
|
35
36
|
# Value of the `type` field in the Inttegro API payload.
|
|
@@ -50,7 +51,7 @@ module Inttegro
|
|
|
50
51
|
# @return [Inttegro::PaymentMethod::OwnerInput]
|
|
51
52
|
class TokenizeMobileMoneyRequest < T::Struct
|
|
52
53
|
const :customer_id, String
|
|
53
|
-
const :custom_data, T.nilable(
|
|
54
|
+
const :custom_data, T.nilable(Inttegro::CustomData), default: nil
|
|
54
55
|
const :type, Inttegro::PaymentMethod::TokenizeMobileMoneyRequestType
|
|
55
56
|
const :mobile_money, Inttegro::PaymentMethod::TokenizeMobileMoneyRequestMobileMoney
|
|
56
57
|
const :owner, Inttegro::PaymentMethod::OwnerInput
|