inttegro 3.0.1 → 4.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b23466dd6f42990b59c874206d96d6fbd760cb9b41dcafe43731b20e18454e29
4
- data.tar.gz: f96cef4961a136ddf64a57d8fc8187cca646261342615501e4bc7e20808354c8
3
+ metadata.gz: 70427e59f95d2e1432182e67f4192df8a3c76b8246afcfa6f5247898f99d6681
4
+ data.tar.gz: dd9374452a04136400903a24a80bbd3b6b983571c213540080d2a04b262c4e91
5
5
  SHA512:
6
- metadata.gz: cdbaf916ca3021f661bbb23c84730ea82e94c6c4ecafe79b2fb50cb597f23540f90139f02a7067829254588b5d9087b41991d45a6f20bee326b0ef2f24ce0c62
7
- data.tar.gz: f6c056b945e6d2fecd7d0680830e328319689ef0bad3d3ce66025f5c481c8e61b71c0fcddea5ae37784f2b8201a040972bd56c3d1d8b6a1b417fbc6904a382e4
6
+ metadata.gz: 64ff092d9abf19ead2714be30d1a05be574b59a5d059d1dea76b2d94303714593ae0b5b0be4f6f1f4c0d640c0aafc87bfac74bbe69bca43ac1247635e725b21b
7
+ data.tar.gz: 14df7fb8165c4201be2268c77774f01c3b7d7652ec50c080f506a861655762fbe819a25316292667fc9f1bc2fcaa830f7ebf591c54d97a8d03314c05cd5da5e1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [4.1.0] - 2026-09-03
4
+
5
+ - Added focused `Inttegro::Wallets` and `Inttegro::BankAccounts` modules for financial-account variants.
6
+ - Preserved the generated root constants for compatibility.
7
+
8
+ ## [4.0.2] - 2026-09-03
9
+
10
+ - Normalize legacy uppercase currency values when decoding typed amount responses while keeping lowercase wire values for requests.
11
+ - Restore the product identifier on typed catalog-price responses.
12
+
13
+ ## [4.0.1] - 2026-09-03
14
+
15
+ - Breaking: renamed order-prefixed payment models to semantic payment domain types.
16
+ - Added focused `Inttegro::Money` access for amount types and separated request and response price shapes.
17
+ - Kept generated transport response and envelope constants private while resource methods return domain objects directly.
18
+
3
19
  ## [3.0.1] - 2026-09-03
4
20
 
5
21
  - Corrected the release-verification example to reference the current package version.
data/README.md CHANGED
@@ -54,7 +54,10 @@ begin
54
54
  type: Inttegro::ProductType::DIGITAL,
55
55
  name: "Monthly subscription",
56
56
  quantity: 1,
57
- price: { currency: "ghs", value: 5000 }
57
+ price: Inttegro::PriceParams.new(
58
+ currency: Inttegro::Money::Currency::GHS,
59
+ value: 5000
60
+ )
58
61
  }
59
62
  }]
60
63
  )
@@ -92,7 +95,7 @@ The GitHub release for each version is the canonical record. It contains the exa
92
95
 
93
96
  ```bash
94
97
  sha256sum --check SHA256SUMS
95
- gh attestation verify inttegro-3.0.1.gem \
98
+ gh attestation verify inttegro-4.1.0.gem \
96
99
  --repo zebodotdev/inttegro-sdk-ruby
97
100
  ```
98
101
 
@@ -101,6 +101,16 @@ module Inttegro
101
101
  end
102
102
  end
103
103
 
104
+ class Currency < T::Enum
105
+ enums do
106
+ GHS = new("ghs")
107
+ USD = new("usd")
108
+ GBP = new("gbp")
109
+ EUR = new("eur")
110
+ CNY = new("cny")
111
+ end
112
+ end
113
+
104
114
  class DeliveryChannel < T::Enum
105
115
  enums do
106
116
  EMAIL = new("email")
@@ -323,20 +333,6 @@ module Inttegro
323
333
  end
324
334
  end
325
335
 
326
- class OrderPaymentStatus < T::Enum
327
- enums do
328
- INITIATED = new("initiated")
329
- REQUIRES_ACTION = new("requires_action")
330
- OVERDUE = new("overdue")
331
- EXECUTED = new("executed")
332
- PAID = new("paid")
333
- CANCELED = new("canceled")
334
- EXPIRED = new("expired")
335
- FAILED = new("failed")
336
- UNKNOWN = new("unknown")
337
- end
338
- end
339
-
340
336
  class OrderProductLineItemType < T::Enum
341
337
  enums do
342
338
  PRODUCT = new("product")
@@ -422,6 +418,20 @@ module Inttegro
422
418
  end
423
419
  end
424
420
 
421
+ class PaymentStatus < T::Enum
422
+ enums do
423
+ INITIATED = new("initiated")
424
+ REQUIRES_ACTION = new("requires_action")
425
+ OVERDUE = new("overdue")
426
+ EXECUTED = new("executed")
427
+ PAID = new("paid")
428
+ CANCELED = new("canceled")
429
+ EXPIRED = new("expired")
430
+ FAILED = new("failed")
431
+ UNKNOWN = new("unknown")
432
+ end
433
+ end
434
+
425
435
  class PayoutStatus < T::Enum
426
436
  enums do
427
437
  INITIALIZED = new("initialized")
@@ -87,8 +87,8 @@ module Inttegro
87
87
  const :payment_method, T.nilable(Inttegro::PaymentMethod), default: nil
88
88
  end
89
89
 
90
- class AddProductPriceRequestAmount < T::Struct
91
- const :currency, String
90
+ class AmountParams < T::Struct
91
+ const :currency, Inttegro::Currency
92
92
  const :value, Integer
93
93
  end
94
94
 
@@ -96,21 +96,61 @@ module Inttegro
96
96
  const :product_id, String
97
97
  const :label, T.nilable(String), default: nil
98
98
  const :about, T.nilable(String), default: nil
99
- const :amount, Inttegro::AddProductPriceRequestAmount
99
+ const :amount, Inttegro::AmountParams
100
100
  end
101
101
 
102
- class ProductPriceNominalNominal < T::Struct
103
- const :currency, String
102
+ class Amount < T::Struct
103
+ const :currency, Inttegro::Currency
104
104
  const :value, Integer
105
105
  end
106
106
 
107
- class ProductPriceNominal < T::Struct
107
+ class PurchaseIntentProductAttributesItem < T::Struct
108
+ const :name, String
109
+ const :value, String
110
+ end
111
+
112
+ class PurchaseIntentProductDimensions < T::Struct
113
+ # This object intentionally has no fields.
114
+ end
115
+
116
+ class PurchaseIntentProductMedia < T::Struct
117
+ # This object intentionally has no fields.
118
+ end
119
+
120
+ class PurchaseIntentProductShipment < T::Struct
121
+ # This object intentionally has no fields.
122
+ end
123
+
124
+ class PriceEmbeddedProduct < T::Struct
125
+ const :id, String
126
+ const :about, T.nilable(String), default: nil
127
+ const :active, T::Boolean
128
+ const :archived_at, T.nilable(String), default: nil
129
+ const :attributes, T.nilable(T::Array[Inttegro::PurchaseIntentProductAttributesItem]), default: nil
130
+ const :category, T.nilable(String), default: nil
131
+ const :created_at, String
132
+ const :custom_data, T.nilable(T::Hash[String, String]), default: nil
133
+ const :description, T.nilable(String), default: nil
134
+ const :dimensions, T.nilable(Inttegro::PurchaseIntentProductDimensions), default: nil
135
+ const :media, T.nilable(Inttegro::PurchaseIntentProductMedia), default: nil
136
+ const :name, String
137
+ const :published_at, T.nilable(String), default: nil
138
+ const :reference, T.nilable(String), default: nil
139
+ const :shipment, T.nilable(Inttegro::PurchaseIntentProductShipment), default: nil
140
+ const :tax_code, T.nilable(String), default: nil
141
+ const :type, Inttegro::ProductType
142
+ const :unit_dim, T.nilable(String), default: nil
143
+ const :updated_at, T.nilable(String), default: nil
144
+ end
145
+
146
+ class CatalogPrice < T::Struct
108
147
  const :id, String
109
- const :product_id, T.nilable(String), default: nil
110
148
  const :label, T.nilable(String), default: nil
111
149
  const :about, T.nilable(String), default: nil
112
150
  const :active, T::Boolean
113
- const :nominal, Inttegro::ProductPriceNominalNominal
151
+ const :nominal, Inttegro::Amount
152
+ const :product_id, T.nilable(String), default: nil
153
+ const :product, T.nilable(Inttegro::PriceEmbeddedProduct), default: nil
114
154
  const :created_at, String
115
155
  const :updated_at, T.nilable(String), default: nil
116
156
  const :archived_at, T.nilable(String), default: nil
@@ -127,7 +167,7 @@ module Inttegro
127
167
  end
128
168
 
129
169
  class AddProductPriceResponse < T::Struct
130
- const :price, T.nilable(Inttegro::ProductPriceNominal), default: nil
170
+ const :price, T.nilable(Inttegro::CatalogPrice), default: nil
131
171
  const :error, T.nilable(Inttegro::ErrorPayload), default: nil
132
172
  end
133
173
 
@@ -432,11 +472,6 @@ module Inttegro
432
472
  const :payout_id, String
433
473
  end
434
474
 
435
- class Money < T::Struct
436
- const :currency, String
437
- const :value, Integer
438
- end
439
-
440
475
  class PayoutError < T::Struct
441
476
  const :cause, String
442
477
  const :message, String
@@ -445,7 +480,7 @@ module Inttegro
445
480
  end
446
481
 
447
482
  class Payout < T::Struct
448
- const :amount, T.nilable(Inttegro::Money), default: nil
483
+ const :amount, T.nilable(Inttegro::Amount), default: nil
449
484
  const :balance_transactions, T.nilable(T::Array[String]), default: nil
450
485
  const :canceled_at, T.nilable(String), default: nil
451
486
  const :custom_data, T.nilable(T::Hash[String, String]), default: nil
@@ -458,7 +493,7 @@ module Inttegro
458
493
  const :id, String
459
494
  const :initiated_at, String
460
495
  const :initiated_by, T.nilable(String), default: nil
461
- const :max_amount, Inttegro::Money
496
+ const :max_amount, Inttegro::Amount
462
497
  const :reference, T.nilable(String), default: nil
463
498
  const :schedule_id, T.nilable(String), default: nil
464
499
  const :scheduled_at, T.nilable(String), default: nil
@@ -503,8 +538,20 @@ module Inttegro
503
538
  const :canceled_by, T.nilable(Inttegro::FileActorInput), default: nil
504
539
  end
505
540
 
541
+ class CatalogPriceParams < T::Struct
542
+ const :product_id, T.nilable(String), default: nil
543
+ const :label, T.nilable(String), default: nil
544
+ const :about, T.nilable(String), default: nil
545
+ const :amount, Inttegro::AmountParams
546
+ end
547
+
548
+ class PriceParams < T::Struct
549
+ const :currency, Inttegro::Currency
550
+ const :value, Integer
551
+ end
552
+
506
553
  class CatalogProductWithPriceData < T::Struct
507
- const :price, Inttegro::Money
554
+ const :price, Inttegro::PriceParams
508
555
  const :product_id, String
509
556
  const :quantity, Integer
510
557
  end
@@ -651,18 +698,13 @@ module Inttegro
651
698
  const :format_value, T.nilable(Inttegro::OrderInvoiceFormat), default: nil, name: "format"
652
699
  end
653
700
 
654
- class RefundMoney < T::Struct
655
- const :currency, String
656
- const :value, Integer
657
- end
658
-
659
701
  class RefundLineItem < T::Struct
660
702
  const :id, String
661
703
  const :order_line_item_id, String
662
- const :original_amount_paid, Inttegro::RefundMoney
704
+ const :original_amount_paid, Inttegro::Amount
663
705
  const :reason, T.nilable(Inttegro::RefundReason), default: nil
664
706
  const :reason_details, T.nilable(String), default: nil
665
- const :refund_amount, Inttegro::RefundMoney
707
+ const :refund_amount, Inttegro::Amount
666
708
  end
667
709
 
668
710
  class Refund < T::Struct
@@ -679,7 +721,7 @@ module Inttegro
679
721
  const :reference, T.nilable(String), default: nil
680
722
  const :status, Inttegro::RefundStatus
681
723
  const :succeeded_at, T.nilable(String), default: nil
682
- const :total, Inttegro::RefundMoney
724
+ const :total, Inttegro::Amount
683
725
  end
684
726
 
685
727
  class InvoiceSettings < T::Struct
@@ -689,6 +731,11 @@ module Inttegro
689
731
  const :custom_data, T.nilable(T::Hash[String, String]), default: nil
690
732
  end
691
733
 
734
+ class Price < T::Struct
735
+ const :currency, Inttegro::Currency
736
+ const :value, Integer
737
+ end
738
+
692
739
  class OrderProductLineItemProduct < T::Struct
693
740
  const :id, String
694
741
  const :product_id, T.nilable(String), default: nil
@@ -700,7 +747,7 @@ module Inttegro
700
747
  const :name, String
701
748
  const :category, T.nilable(String), default: nil
702
749
  const :type, T.nilable(String), default: nil
703
- const :price, Inttegro::Money
750
+ const :price, Inttegro::Price
704
751
  const :quantity, Integer
705
752
  end
706
753
 
@@ -713,7 +760,7 @@ module Inttegro
713
760
  const :id, String
714
761
  const :description, T.nilable(String), default: nil
715
762
  const :tax_code, T.nilable(String), default: nil
716
- const :amount, Inttegro::Money
763
+ const :amount, Inttegro::Amount
717
764
  const :label, String
718
765
  end
719
766
 
@@ -726,7 +773,7 @@ module Inttegro
726
773
  const :id, String
727
774
  const :tax_code, T.nilable(String), default: nil
728
775
  const :label, T.nilable(String), default: nil
729
- const :fee, Inttegro::Money
776
+ const :fee, Inttegro::Amount
730
777
  end
731
778
 
732
779
  class OrderShippingLineItem < T::Struct
@@ -738,10 +785,10 @@ module Inttegro
738
785
 
739
786
  class OrderLineItemGroup < T::Struct
740
787
  const :line_items, T::Array[Inttegro::OrderLineItem]
741
- const :total, Inttegro::Money
788
+ const :total, Inttegro::Amount
742
789
  end
743
790
 
744
- class OrderPaymentMethodBankAccountGhanaBankAccount < T::Struct
791
+ class PaymentMethodSnapshotBankAccountGhanaBankAccount < T::Struct
745
792
  const :account_number, String
746
793
  const :branch, T.nilable(String), default: nil
747
794
  const :name, T.nilable(String), default: nil
@@ -749,40 +796,40 @@ module Inttegro
749
796
  const :swift_code, T.nilable(String), default: nil
750
797
  end
751
798
 
752
- class OrderPaymentMethodBankAccount < T::Struct
799
+ class PaymentMethodSnapshotBankAccount < T::Struct
753
800
  const :type, String
754
- const :ghana_bank_account, T.nilable(Inttegro::OrderPaymentMethodBankAccountGhanaBankAccount), default: nil
801
+ const :ghana_bank_account, T.nilable(Inttegro::PaymentMethodSnapshotBankAccountGhanaBankAccount), default: nil
755
802
  end
756
803
 
757
- class OrderPaymentMethodCard < T::Struct
804
+ class PaymentMethodSnapshotCard < T::Struct
758
805
  # This object intentionally has no fields.
759
806
  end
760
807
 
761
- class OrderPaymentMethodMobileMoney < T::Struct
808
+ class PaymentMethodSnapshotMobileMoney < T::Struct
762
809
  const :network, Inttegro::MobileMoneyNetwork
763
810
  const :account_number, String
764
811
  const :last4, String
765
812
  end
766
813
 
767
- class OrderPaymentMethodOwner < T::Struct
814
+ class PaymentMethodSnapshotOwner < T::Struct
768
815
  const :name, String
769
816
  const :address, T.nilable(Inttegro::OrderAddress), default: nil
770
817
  end
771
818
 
772
- class OrderPaymentMethod < T::Struct
819
+ class PaymentMethodSnapshot < T::Struct
773
820
  const :id, String
774
- const :bank_account, T.nilable(Inttegro::OrderPaymentMethodBankAccount), default: nil
775
- const :card, T.nilable(Inttegro::OrderPaymentMethodCard), default: nil
821
+ const :bank_account, T.nilable(Inttegro::PaymentMethodSnapshotBankAccount), default: nil
822
+ const :card, T.nilable(Inttegro::PaymentMethodSnapshotCard), default: nil
776
823
  const :created_at, String
777
824
  const :customer_id, String
778
- const :mobile_money, T.nilable(Inttegro::OrderPaymentMethodMobileMoney), default: nil
779
- const :owner, T.nilable(Inttegro::OrderPaymentMethodOwner), default: nil
825
+ const :mobile_money, T.nilable(Inttegro::PaymentMethodSnapshotMobileMoney), default: nil
826
+ const :owner, T.nilable(Inttegro::PaymentMethodSnapshotOwner), default: nil
780
827
  const :type, Inttegro::PaymentMethodType
781
828
  const :verified, T::Boolean
782
829
  const :verified_at, T.nilable(String), default: nil
783
830
  end
784
831
 
785
- class OrderPaymentLatestAttempt < T::Struct
832
+ class PaymentLatestAttempt < T::Struct
786
833
  const :payment_method_type, T.nilable(String), default: nil
787
834
  const :payment_method_id, T.nilable(String), default: nil
788
835
  const :reference, T.nilable(String), default: nil
@@ -847,23 +894,23 @@ module Inttegro
847
894
  const :authorize, T.nilable(Inttegro::PaymentNextActionAuthorize), default: nil
848
895
  end
849
896
 
850
- class OrderPaymentPayoutConfigurationDestination < T::Struct
897
+ class PaymentPayoutConfigurationDestination < T::Struct
851
898
  const :financial_account_id, T.nilable(String), default: nil
852
899
  end
853
900
 
854
- class OrderPaymentPayoutConfiguration < T::Struct
901
+ class PaymentPayoutConfiguration < T::Struct
855
902
  const :enable_fx, T.nilable(T::Boolean), default: nil
856
- const :destination, T.nilable(Inttegro::OrderPaymentPayoutConfigurationDestination), default: nil
903
+ const :destination, T.nilable(Inttegro::PaymentPayoutConfigurationDestination), default: nil
857
904
  end
858
905
 
859
- class OrderPayment < T::Struct
906
+ class Payment < T::Struct
860
907
  const :id, String
861
- const :status, Inttegro::OrderPaymentStatus
908
+ const :status, Inttegro::PaymentStatus
862
909
  const :statement_descriptor, String
863
- const :amount, Inttegro::Money
910
+ const :amount, Inttegro::Amount
864
911
  const :balance_transaction, T.nilable(Inttegro::BalanceTransaction), default: nil
865
- const :payment_method, T.nilable(Inttegro::OrderPaymentMethod), default: nil
866
- const :latest_attempt, T.nilable(Inttegro::OrderPaymentLatestAttempt), default: nil
912
+ const :payment_method, T.nilable(Inttegro::PaymentMethodSnapshot), default: nil
913
+ const :latest_attempt, T.nilable(Inttegro::PaymentLatestAttempt), default: nil
867
914
  const :next_action, T.nilable(Inttegro::PaymentNextAction), default: nil
868
915
  const :initiated_at, String
869
916
  const :executed_at, T.nilable(String), default: nil
@@ -874,7 +921,7 @@ module Inttegro
874
921
  const :failed_at, T.nilable(String), default: nil
875
922
  const :paid_offline, T.nilable(T::Boolean), default: nil
876
923
  const :payment_method_types, T.nilable(T::Array[String]), default: nil
877
- const :payout_configuration, T.nilable(Inttegro::OrderPaymentPayoutConfiguration), default: nil
924
+ const :payout_configuration, T.nilable(Inttegro::PaymentPayoutConfiguration), default: nil
878
925
  end
879
926
 
880
927
  class OrderPayoutSettings < T::Struct
@@ -903,7 +950,7 @@ module Inttegro
903
950
  const :status, Inttegro::OrderStatus
904
951
  const :sealed_at, T.nilable(String), default: nil
905
952
  const :line_item_group, T.nilable(Inttegro::OrderLineItemGroup), default: nil
906
- const :payment, T.nilable(Inttegro::OrderPayment), default: nil
953
+ const :payment, T.nilable(Inttegro::Payment), default: nil
907
954
  const :paid_at, T.nilable(String), default: nil
908
955
  const :payment_due_at, T.nilable(String), default: nil
909
956
  const :payout_settings, T.nilable(Inttegro::OrderPayoutSettings), default: nil
@@ -1315,7 +1362,7 @@ module Inttegro
1315
1362
  const :about, T.nilable(String), default: nil
1316
1363
  const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
1317
1364
  const :name, String
1318
- const :price, Inttegro::Money
1365
+ const :price, Inttegro::PriceParams
1319
1366
  const :quantity, Integer
1320
1367
  const :reference, T.nilable(String), default: nil
1321
1368
  const :tax_code, T.nilable(String), default: nil
@@ -1335,7 +1382,7 @@ module Inttegro
1335
1382
  const :tax_code, T.nilable(String), default: nil
1336
1383
  const :description, T.nilable(String), default: nil
1337
1384
  const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
1338
- const :amount, Inttegro::Money
1385
+ const :amount, Inttegro::AmountParams
1339
1386
  end
1340
1387
 
1341
1388
  class FeeLineItem < T::Struct
@@ -1347,7 +1394,7 @@ module Inttegro
1347
1394
  const :id, T.nilable(String), default: nil
1348
1395
  const :tax_code, T.nilable(String), default: nil
1349
1396
  const :custom_data, T.nilable(T::Hash[String, Object]), default: nil
1350
- const :fee, Inttegro::Money
1397
+ const :fee, Inttegro::AmountParams
1351
1398
  end
1352
1399
 
1353
1400
  class ShippingLineItem < T::Struct
@@ -1416,13 +1463,6 @@ module Inttegro
1416
1463
  const :shipping, T.nilable(Inttegro::Shipping), default: nil
1417
1464
  end
1418
1465
 
1419
- class CreatePriceRequest < T::Struct
1420
- const :product_id, T.nilable(String), default: nil
1421
- const :label, T.nilable(String), default: nil
1422
- const :about, T.nilable(String), default: nil
1423
- const :amount, Inttegro::Money
1424
- end
1425
-
1426
1466
  class ProductShipmentInput < T::Struct
1427
1467
  const :type, Inttegro::ProductShipmentInputType
1428
1468
  end
@@ -1495,24 +1535,14 @@ module Inttegro
1495
1535
  const :variant_set_id, T.nilable(String), default: nil
1496
1536
  end
1497
1537
 
1498
- class CreatePurchaseIntentRequestPriceNominal < T::Struct
1499
- const :currency, String
1500
- const :value, Integer
1501
- end
1502
-
1503
- class CreatePurchaseIntentRequestPriceOriginalNominal < T::Struct
1504
- const :currency, String
1505
- const :value, Integer
1506
- end
1507
-
1508
1538
  class CreatePurchaseIntentRequestPriceOriginal < T::Struct
1509
1539
  const :id, T.nilable(String), default: nil
1510
- const :nominal, T.nilable(Inttegro::CreatePurchaseIntentRequestPriceOriginalNominal), default: nil
1540
+ const :nominal, T.nilable(Inttegro::PriceParams), default: nil
1511
1541
  end
1512
1542
 
1513
1543
  class CreatePurchaseIntentRequestPrice < T::Struct
1514
1544
  const :id, T.nilable(String), default: nil
1515
- const :nominal, T.nilable(Inttegro::CreatePurchaseIntentRequestPriceNominal), default: nil
1545
+ const :nominal, T.nilable(Inttegro::PriceParams), default: nil
1516
1546
  const :original, T.nilable(Inttegro::CreatePurchaseIntentRequestPriceOriginal), default: nil
1517
1547
  const :original_id, T.nilable(String), default: nil
1518
1548
  end
@@ -1541,7 +1571,7 @@ module Inttegro
1541
1571
  const :order_line_item_id, String
1542
1572
  const :reason, T.nilable(Inttegro::RefundReason), default: nil
1543
1573
  const :reason_details, T.nilable(String), default: nil
1544
- const :refund_amount, Inttegro::RefundMoney
1574
+ const :refund_amount, Inttegro::AmountParams
1545
1575
  end
1546
1576
 
1547
1577
  class CreateRefundRequest < T::Struct
@@ -1601,7 +1631,7 @@ module Inttegro
1601
1631
 
1602
1632
  class CustomerBalanceValue < T::Struct
1603
1633
  const :as_of, String
1604
- const :available, Inttegro::Money
1634
+ const :available, Inttegro::Amount
1605
1635
  end
1606
1636
 
1607
1637
  class CustomerAddress < T::Struct
@@ -2652,16 +2682,11 @@ module Inttegro
2652
2682
  const :page_size, T.nilable(Integer), default: nil
2653
2683
  end
2654
2684
 
2655
- class ProductPriceSummaryNominal < T::Struct
2656
- const :currency, String
2657
- const :value, Integer
2658
- end
2659
-
2660
2685
  class ProductPriceSummary < T::Struct
2661
2686
  const :id, String
2662
2687
  const :active, T::Boolean
2663
2688
  const :label, T.nilable(String), default: nil
2664
- const :nominal, Inttegro::ProductPriceSummaryNominal
2689
+ const :nominal, Inttegro::Amount
2665
2690
  end
2666
2691
 
2667
2692
  class ProductShipmentDelivery < T::Struct
@@ -2731,11 +2756,6 @@ module Inttegro
2731
2756
  const :page_size, Integer
2732
2757
  end
2733
2758
 
2734
- class PurchaseIntentMoney < T::Struct
2735
- const :currency, String
2736
- const :value, Integer
2737
- end
2738
-
2739
2759
  class PurchaseIntentActivityAttribution < T::Struct
2740
2760
  const :campaign, T.nilable(String), default: nil
2741
2761
  const :channel, T.nilable(String), default: nil
@@ -2763,7 +2783,7 @@ module Inttegro
2763
2783
  end
2764
2784
 
2765
2785
  class PurchaseIntentActivity < T::Struct
2766
- const :amount, T.nilable(Inttegro::PurchaseIntentMoney), default: nil
2786
+ const :amount, T.nilable(Inttegro::Amount), default: nil
2767
2787
  const :attribution, T.nilable(Inttegro::PurchaseIntentActivityAttribution), default: nil
2768
2788
  const :created_at, String
2769
2789
  const :error_code, T.nilable(String), default: nil
@@ -2794,34 +2814,17 @@ module Inttegro
2794
2814
  const :active, T::Boolean
2795
2815
  const :id, T.nilable(String), default: nil
2796
2816
  const :label, T.nilable(String), default: nil
2797
- const :nominal, Inttegro::PurchaseIntentMoney
2817
+ const :nominal, Inttegro::Amount
2798
2818
  end
2799
2819
 
2800
2820
  class PurchaseIntentPrice < T::Struct
2801
2821
  const :active, T::Boolean
2802
2822
  const :id, T.nilable(String), default: nil
2803
2823
  const :label, T.nilable(String), default: nil
2804
- const :nominal, Inttegro::PurchaseIntentMoney
2824
+ const :nominal, Inttegro::Amount
2805
2825
  const :original, T.nilable(Inttegro::PurchaseIntentOriginalPrice), default: nil
2806
2826
  end
2807
2827
 
2808
- class PurchaseIntentProductAttributesItem < T::Struct
2809
- const :name, String
2810
- const :value, String
2811
- end
2812
-
2813
- class PurchaseIntentProductDimensions < T::Struct
2814
- # This object intentionally has no fields.
2815
- end
2816
-
2817
- class PurchaseIntentProductMedia < T::Struct
2818
- # This object intentionally has no fields.
2819
- end
2820
-
2821
- class PurchaseIntentProductShipment < T::Struct
2822
- # This object intentionally has no fields.
2823
- end
2824
-
2825
2828
  class PurchaseIntentProduct < T::Struct
2826
2829
  const :id, String
2827
2830
  const :about, T.nilable(String), default: nil
@@ -3001,50 +3004,11 @@ module Inttegro
3001
3004
  const :confirmation_sent, T.nilable(T::Boolean), default: nil
3002
3005
  end
3003
3006
 
3004
- class PriceNominal < T::Struct
3005
- const :currency, String
3006
- const :value, Integer
3007
- end
3008
-
3009
- class PriceEmbeddedProduct < T::Struct
3010
- const :id, String
3011
- const :about, T.nilable(String), default: nil
3012
- const :active, T::Boolean
3013
- const :archived_at, T.nilable(String), default: nil
3014
- const :attributes, T.nilable(T::Array[Inttegro::PurchaseIntentProductAttributesItem]), default: nil
3015
- const :category, T.nilable(String), default: nil
3016
- const :created_at, String
3017
- const :custom_data, T.nilable(T::Hash[String, String]), default: nil
3018
- const :description, T.nilable(String), default: nil
3019
- const :dimensions, T.nilable(Inttegro::PurchaseIntentProductDimensions), default: nil
3020
- const :media, T.nilable(Inttegro::PurchaseIntentProductMedia), default: nil
3021
- const :name, String
3022
- const :published_at, T.nilable(String), default: nil
3023
- const :reference, T.nilable(String), default: nil
3024
- const :shipment, T.nilable(Inttegro::PurchaseIntentProductShipment), default: nil
3025
- const :tax_code, T.nilable(String), default: nil
3026
- const :type, Inttegro::ProductType
3027
- const :unit_dim, T.nilable(String), default: nil
3028
- const :updated_at, T.nilable(String), default: nil
3029
- end
3030
-
3031
- class Price < T::Struct
3032
- const :id, String
3033
- const :label, T.nilable(String), default: nil
3034
- const :about, T.nilable(String), default: nil
3035
- const :active, T::Boolean
3036
- const :nominal, Inttegro::PriceNominal
3037
- const :product, T.nilable(Inttegro::PriceEmbeddedProduct), default: nil
3038
- const :created_at, String
3039
- const :updated_at, T.nilable(String), default: nil
3040
- const :archived_at, T.nilable(String), default: nil
3041
- end
3042
-
3043
3007
  class PriceActionRequest < T::Struct
3044
3008
  const :price_id, String
3045
3009
  end
3046
3010
 
3047
- PricePageItem = T.type_alias { Inttegro::Price }
3011
+ PricePageItem = T.type_alias { Inttegro::CatalogPrice }
3048
3012
 
3049
3013
  class PricePage < T::Struct
3050
3014
  const :number, T.nilable(Integer), default: nil
@@ -3064,7 +3028,7 @@ module Inttegro
3064
3028
  end
3065
3029
 
3066
3030
  class PriceResponse < T::Struct
3067
- const :price, T.nilable(Inttegro::Price), default: nil
3031
+ const :price, T.nilable(Inttegro::CatalogPrice), default: nil
3068
3032
  const :error, T.nilable(Inttegro::ErrorPayload), default: nil
3069
3033
  end
3070
3034
 
@@ -3072,23 +3036,6 @@ module Inttegro
3072
3036
  const :product_id, String
3073
3037
  end
3074
3038
 
3075
- class ProductPriceNominalInline < T::Struct
3076
- const :currency, String
3077
- const :value, Integer
3078
- end
3079
-
3080
- class ProductPrice < T::Struct
3081
- const :id, String
3082
- const :product_id, T.nilable(String), default: nil
3083
- const :label, T.nilable(String), default: nil
3084
- const :about, T.nilable(String), default: nil
3085
- const :active, T::Boolean
3086
- const :nominal, Inttegro::ProductPriceNominalInline
3087
- const :created_at, String
3088
- const :updated_at, T.nilable(String), default: nil
3089
- const :archived_at, T.nilable(String), default: nil
3090
- end
3091
-
3092
3039
  class ProductResponse < T::Struct
3093
3040
  const :product, T.nilable(Inttegro::Product), default: nil
3094
3041
  const :error, T.nilable(Inttegro::ErrorPayload), default: nil
@@ -233,7 +233,7 @@ module Inttegro
233
233
  "/purchase_intents/cancel" => "Inttegro::CancelPurchaseIntentRequest",
234
234
  "/purchase_intents/lookup" => "Inttegro::LookupPurchaseIntentRequest",
235
235
  "/purchase_intents/page" => "Inttegro::PagePurchaseIntentsRequest",
236
- "/prices/create" => "Inttegro::CreatePriceRequest",
236
+ "/prices/create" => "Inttegro::CatalogPriceParams",
237
237
  "/prices/lookup" => "Inttegro::LookupPriceRequest",
238
238
  "/prices/page" => "Inttegro::PricePageRequest",
239
239
  "/prices/update" => "Inttegro::UpdatePriceRequest",
@@ -9,6 +9,58 @@ require_relative "types"
9
9
  module Inttegro
10
10
  extend T::Sig
11
11
 
12
+ # Amount primitives live under Money so the namespace can grow to include
13
+ # currency conversion and formatting helpers without treating money as a
14
+ # single value type.
15
+ module Money
16
+ Amount = Inttegro::Amount
17
+ AmountParams = Inttegro::AmountParams
18
+ Currency = Inttegro::Currency
19
+ end
20
+
21
+ # Wallet variants used by financial accounts.
22
+ module Wallets
23
+ Wallet = Inttegro::FinancialAccountWallet
24
+ MobileMoney = Inttegro::FinancialAccountWalletMobileMoney
25
+ UpdatedWallet = Inttegro::UpdatedFinancialAccountWallet
26
+ WalletParams = Inttegro::FinancialAccountWalletRequestWallet
27
+ MobileMoneyParams = Inttegro::FinancialAccountWalletRequestWalletMobileMoney
28
+ WalletType = Inttegro::WalletType
29
+ end
30
+
31
+ # Bank-account variants used by financial accounts. Payment-method bank
32
+ # snapshots remain in the payment-method domain.
33
+ module BankAccounts
34
+ BankAccount = Inttegro::FinancialAccountBank
35
+ CreatedBankAccount = Inttegro::CreatedFinancialAccountBank
36
+ UpdatedBankAccount = Inttegro::UpdatedFinancialAccountBank
37
+ GhanaBankAccount = Inttegro::GhanaBankAccount
38
+ CreatedGhanaBankAccount = Inttegro::CreatedGhanaBankAccount
39
+ UpdatedGhanaBankAccount = Inttegro::UpdatedGhanaBankAccount
40
+ Owner = Inttegro::FinancialAccountOwner
41
+ CreatedOwner = Inttegro::CreatedFinancialAccountOwner
42
+ UpdatedOwner = Inttegro::UpdatedFinancialAccountOwner
43
+ OwnerAddress = Inttegro::FinancialAccountAddress
44
+ CreatedOwnerAddress = Inttegro::CreatedFinancialAccountAddress
45
+ UpdatedOwnerAddress = Inttegro::UpdatedFinancialAccountAddress
46
+ BankAccountParams = Inttegro::FinancialAccountBankRequestBankAccount
47
+ GhanaBankAccountParams = Inttegro::FinancialAccountBankRequestBankAccountGhanaBankAccount
48
+ BankAccountType = Inttegro::BankAccountType
49
+ end
50
+
51
+ # Currency identifiers serialize to lowercase wire values while accepting
52
+ # legacy uppercase response values during deserialization.
53
+ class Currency
54
+ class << self
55
+ extend T::Sig
56
+
57
+ sig { params(value: String).returns(Inttegro::Currency) }
58
+ def deserialize(value)
59
+ super(value.strip.downcase)
60
+ end
61
+ end
62
+ end
63
+
12
64
  # Backward-compatible acronym spellings for domain objects.
13
65
  OtpTransaction = OTPTransaction
14
66
  OtpTransmission = OTPTransmission
@@ -203,7 +203,7 @@ module Inttegro
203
203
  # token: '123456'
204
204
  # )
205
205
  #
206
- # if order.payment&.status == Inttegro::OrderPaymentStatus::PAID
206
+ # if order.payment&.status == Inttegro::PaymentStatus::PAID
207
207
  # puts 'Payment confirmed successfully!'
208
208
  # end
209
209
  #
@@ -9,11 +9,11 @@ module Inttegro
9
9
  end
10
10
 
11
11
  def create(payload)
12
- @http.post_resource("/prices/create", Inttegro::Price, :price, payload)
12
+ @http.post_resource("/prices/create", Inttegro::CatalogPrice, :price, payload)
13
13
  end
14
14
 
15
15
  def lookup(price_id:)
16
- @http.post_resource("/prices/lookup", Inttegro::Price, :price, { price_id: price_id })
16
+ @http.post_resource("/prices/lookup", Inttegro::CatalogPrice, :price, { price_id: price_id })
17
17
  end
18
18
 
19
19
  def page(payload = {})
@@ -21,19 +21,19 @@ module Inttegro
21
21
  end
22
22
 
23
23
  def update(payload)
24
- @http.post_resource("/prices/update", Inttegro::Price, :price, payload)
24
+ @http.post_resource("/prices/update", Inttegro::CatalogPrice, :price, payload)
25
25
  end
26
26
 
27
27
  def activate(price_id:)
28
- @http.post_resource("/prices/activate", Inttegro::Price, :price, { price_id: price_id })
28
+ @http.post_resource("/prices/activate", Inttegro::CatalogPrice, :price, { price_id: price_id })
29
29
  end
30
30
 
31
31
  def deactivate(price_id:)
32
- @http.post_resource("/prices/deactivate", Inttegro::Price, :price, { price_id: price_id })
32
+ @http.post_resource("/prices/deactivate", Inttegro::CatalogPrice, :price, { price_id: price_id })
33
33
  end
34
34
 
35
35
  def archive(price_id:)
36
- @http.post_resource("/prices/archive", Inttegro::Price, :price, { price_id: price_id })
36
+ @http.post_resource("/prices/archive", Inttegro::CatalogPrice, :price, { price_id: price_id })
37
37
  end
38
38
  end
39
39
  end
@@ -13,7 +13,7 @@ module Inttegro
13
13
  end
14
14
 
15
15
  def add_price(payload)
16
- @http.post_resource("/products/add_price", Inttegro::ProductPriceNominal, :price, payload)
16
+ @http.post_resource("/products/add_price", Inttegro::CatalogPrice, :price, payload)
17
17
  end
18
18
 
19
19
  def set_default_unit_price(payload)
@@ -2,5 +2,5 @@
2
2
  # typed: strict
3
3
 
4
4
  module Inttegro
5
- VERSION = "3.0.1"
5
+ VERSION = "4.1.0"
6
6
  end
@@ -388,25 +388,25 @@ module Inttegro
388
388
  sig { params(http: Inttegro::HTTPClient).void }
389
389
  def initialize(http); end
390
390
 
391
- sig { params(price_id: String).returns(Inttegro::Price) }
391
+ sig { params(price_id: String).returns(Inttegro::CatalogPrice) }
392
392
  def activate(price_id:); end
393
393
 
394
- sig { params(price_id: String).returns(Inttegro::Price) }
394
+ sig { params(price_id: String).returns(Inttegro::CatalogPrice) }
395
395
  def archive(price_id:); end
396
396
 
397
- sig { params(payload: T.any(Inttegro::CreatePriceRequest, Inttegro::Types::Payload)).returns(Inttegro::Price) }
397
+ sig { params(payload: T.any(Inttegro::CatalogPriceParams, Inttegro::Types::Payload)).returns(Inttegro::CatalogPrice) }
398
398
  def create(payload); end
399
399
 
400
- sig { params(price_id: String).returns(Inttegro::Price) }
400
+ sig { params(price_id: String).returns(Inttegro::CatalogPrice) }
401
401
  def deactivate(price_id:); end
402
402
 
403
- sig { params(price_id: String).returns(Inttegro::Price) }
403
+ sig { params(price_id: String).returns(Inttegro::CatalogPrice) }
404
404
  def lookup(price_id:); end
405
405
 
406
406
  sig { params(payload: T.nilable(T.any(Inttegro::PricePageRequest, Inttegro::Types::Payload))).returns(Inttegro::PricePage) }
407
407
  def page(payload = nil); end
408
408
 
409
- sig { params(payload: T.any(Inttegro::UpdatePriceRequest, Inttegro::Types::Payload)).returns(Inttegro::Price) }
409
+ sig { params(payload: T.any(Inttegro::UpdatePriceRequest, Inttegro::Types::Payload)).returns(Inttegro::CatalogPrice) }
410
410
  def update(payload); end
411
411
  end
412
412
 
@@ -414,7 +414,7 @@ module Inttegro
414
414
  sig { params(http: Inttegro::HTTPClient).void }
415
415
  def initialize(http); end
416
416
 
417
- sig { params(payload: T.any(Inttegro::AddProductPriceRequest, Inttegro::Types::Payload)).returns(Inttegro::ProductPriceNominal) }
417
+ sig { params(payload: T.any(Inttegro::AddProductPriceRequest, Inttegro::Types::Payload)).returns(Inttegro::CatalogPrice) }
418
418
  def add_price(payload); end
419
419
 
420
420
  sig { params(product_id: String).returns(Inttegro::Product) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inttegro
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inttegro Engineering