blindpay 2.3.0__tar.gz → 2.4.0__tar.gz

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.
Files changed (57) hide show
  1. {blindpay-2.3.0 → blindpay-2.4.0}/PKG-INFO +1 -1
  2. {blindpay-2.3.0 → blindpay-2.4.0}/pyproject.toml +1 -1
  3. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/__init__.py +1 -1
  4. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/client.py +58 -12
  5. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/bank_accounts/__init__.py +4 -2
  6. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/bank_accounts/bank_accounts.py +138 -87
  7. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/custodial_wallets/custodial_wallets.py +20 -20
  8. blindpay-2.4.0/src/blindpay/resources/customers/__init__.py +104 -0
  9. blindpay-2.4.0/src/blindpay/resources/customers/customers.py +859 -0
  10. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/instances/__init__.py +4 -0
  11. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/instances/instances.py +18 -0
  12. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/payins/__init__.py +2 -0
  13. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/payins/payins.py +2 -1
  14. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/virtual_accounts/virtual_accounts.py +19 -19
  15. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/wallets/blockchain.py +33 -33
  16. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/wallets/offramp.py +23 -25
  17. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/types.py +2 -0
  18. blindpay-2.3.0/src/blindpay/resources/customers/__init__.py +0 -47
  19. blindpay-2.3.0/src/blindpay/resources/customers/customers.py +0 -314
  20. {blindpay-2.3.0 → blindpay-2.4.0}/.gitignore +0 -0
  21. {blindpay-2.3.0 → blindpay-2.4.0}/LICENSE +0 -0
  22. {blindpay-2.3.0 → blindpay-2.4.0}/README.md +0 -0
  23. {blindpay-2.3.0 → blindpay-2.4.0}/py.typed +0 -0
  24. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/_internal/__init__.py +0 -0
  25. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/_internal/api_client.py +0 -0
  26. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/_internal/exceptions.py +0 -0
  27. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/__init__.py +0 -0
  28. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/api_keys/__init__.py +0 -0
  29. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/api_keys/api_keys.py +0 -0
  30. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/available/__init__.py +0 -0
  31. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/available/available.py +0 -0
  32. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/custodial_wallets/__init__.py +0 -0
  33. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/fees/__init__.py +0 -0
  34. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/fees/fees.py +0 -0
  35. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/limits/__init__.py +0 -0
  36. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/limits/limits.py +0 -0
  37. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/ownership/__init__.py +0 -0
  38. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/ownership/ownership.py +0 -0
  39. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/partner_fees/__init__.py +0 -0
  40. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/partner_fees/partner_fees.py +0 -0
  41. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/payins/quotes.py +0 -0
  42. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/payouts/__init__.py +0 -0
  43. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/payouts/payouts.py +0 -0
  44. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/quotes/__init__.py +0 -0
  45. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/quotes/quotes.py +0 -0
  46. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/receivers/__init__.py +0 -0
  47. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/receivers/receivers.py +0 -0
  48. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/terms_of_service/__init__.py +0 -0
  49. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/terms_of_service/terms_of_service.py +0 -0
  50. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/transfers/__init__.py +0 -0
  51. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/transfers/transfers.py +0 -0
  52. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/upload/__init__.py +0 -0
  53. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/upload/upload.py +0 -0
  54. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/virtual_accounts/__init__.py +0 -0
  55. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/wallets/__init__.py +0 -0
  56. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/webhooks/__init__.py +0 -0
  57. {blindpay-2.3.0 → blindpay-2.4.0}/src/blindpay/resources/webhooks/webhooks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: blindpay
3
- Version: 2.3.0
3
+ Version: 2.4.0
4
4
  Summary: Official Python SDK for the Blindpay API — Global payments infrastructure
5
5
  Project-URL: Homepage, https://github.com/blindpaylabs/blindpay-python
6
6
  Project-URL: Repository, https://github.com/blindpaylabs/blindpay-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "blindpay"
3
- version = "2.3.0"
3
+ version = "2.4.0"
4
4
  description = "Official Python SDK for the Blindpay API — Global payments infrastructure"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "Blindpay", email = "alves@blindpay.com" }]
@@ -1,4 +1,4 @@
1
- __version__ = "2.3.0"
1
+ __version__ = "2.4.0"
2
2
 
3
3
  from ._internal.exceptions import BlindPayError
4
4
  from .client import BlindPay, BlindPaySync
@@ -1,6 +1,7 @@
1
1
  import base64
2
2
  import hashlib
3
3
  import hmac
4
+ import warnings
4
5
  from functools import cached_property
5
6
  from typing import TYPE_CHECKING, Any, Dict, Literal, Mapping, Optional, TypeVar
6
7
 
@@ -44,6 +45,11 @@ if TYPE_CHECKING:
44
45
 
45
46
  __version__ = "2.3.0"
46
47
 
48
+ _RECEIVERS_DEPRECATION_MESSAGE = (
49
+ "Use 'customers' instead. 'receivers' is deprecated and will be removed in "
50
+ "v3.0.0. See https://www.blindpay.com/changelog/2026-06-04-customers-rename"
51
+ )
52
+
47
53
  T = TypeVar("T")
48
54
 
49
55
 
@@ -206,6 +212,27 @@ class _PayinsNamespace:
206
212
  return getattr(self._base, name)
207
213
 
208
214
 
215
+ class _CustomersNamespace:
216
+ def __init__(self, instance_id: str, api_client: ApiClientImpl) -> None:
217
+ self._instance_id = instance_id
218
+ self._api = api_client
219
+
220
+ @cached_property
221
+ def _base(self) -> "CustomersResource":
222
+ from blindpay.resources.customers.customers import create_customers_resource
223
+
224
+ return create_customers_resource(self._instance_id, self._api)
225
+
226
+ @cached_property
227
+ def bank_accounts(self) -> "BankAccountsResource":
228
+ from blindpay.resources.bank_accounts.bank_accounts import create_bank_accounts_resource
229
+
230
+ return create_bank_accounts_resource(self._instance_id, self._api)
231
+
232
+ def __getattr__(self, name: str) -> Any:
233
+ return getattr(self._base, name)
234
+
235
+
209
236
  class _ReceiversNamespace:
210
237
  def __init__(self, instance_id: str, api_client: ApiClientImpl) -> None:
211
238
  self._instance_id = instance_id
@@ -314,8 +341,13 @@ class BlindPay:
314
341
 
315
342
  return create_payouts_resource(self._instance_id, self._api)
316
343
 
344
+ @cached_property
345
+ def customers(self) -> _CustomersNamespace:
346
+ return _CustomersNamespace(self._instance_id, self._api)
347
+
317
348
  @cached_property
318
349
  def receivers(self) -> _ReceiversNamespace:
350
+ warnings.warn(_RECEIVERS_DEPRECATION_MESSAGE, DeprecationWarning, stacklevel=2)
319
351
  return _ReceiversNamespace(self._instance_id, self._api)
320
352
 
321
353
  @cached_property
@@ -334,12 +366,6 @@ class BlindPay:
334
366
 
335
367
  return create_transfers_resource(self._instance_id, self._api)
336
368
 
337
- @cached_property
338
- def customers(self) -> "CustomersResource":
339
- from blindpay.resources.customers import create_customers_resource
340
-
341
- return create_customers_resource(self._instance_id, self._api)
342
-
343
369
  @cached_property
344
370
  def fees(self) -> "FeesResource":
345
371
  from blindpay.resources.fees import create_fees_resource
@@ -454,6 +480,27 @@ class _PayinsNamespaceSync:
454
480
  return getattr(self._base, name)
455
481
 
456
482
 
483
+ class _CustomersNamespaceSync:
484
+ def __init__(self, instance_id: str, api_client: ApiClientImplSync) -> None:
485
+ self._instance_id = instance_id
486
+ self._api = api_client
487
+
488
+ @cached_property
489
+ def _base(self) -> "CustomersResourceSync":
490
+ from blindpay.resources.customers.customers import create_customers_resource_sync
491
+
492
+ return create_customers_resource_sync(self._instance_id, self._api)
493
+
494
+ @cached_property
495
+ def bank_accounts(self) -> "BankAccountsResourceSync":
496
+ from blindpay.resources.bank_accounts.bank_accounts import create_bank_accounts_resource_sync
497
+
498
+ return create_bank_accounts_resource_sync(self._instance_id, self._api)
499
+
500
+ def __getattr__(self, name: str) -> Any:
501
+ return getattr(self._base, name)
502
+
503
+
457
504
  class _ReceiversNamespaceSync:
458
505
  def __init__(self, instance_id: str, api_client: ApiClientImplSync) -> None:
459
506
  self._instance_id = instance_id
@@ -562,8 +609,13 @@ class BlindPaySync:
562
609
 
563
610
  return create_payouts_resource_sync(self._instance_id, self._api)
564
611
 
612
+ @cached_property
613
+ def customers(self) -> _CustomersNamespaceSync:
614
+ return _CustomersNamespaceSync(self._instance_id, self._api)
615
+
565
616
  @cached_property
566
617
  def receivers(self) -> _ReceiversNamespaceSync:
618
+ warnings.warn(_RECEIVERS_DEPRECATION_MESSAGE, DeprecationWarning, stacklevel=2)
567
619
  return _ReceiversNamespaceSync(self._instance_id, self._api)
568
620
 
569
621
  @cached_property
@@ -582,12 +634,6 @@ class BlindPaySync:
582
634
 
583
635
  return create_transfers_resource_sync(self._instance_id, self._api)
584
636
 
585
- @cached_property
586
- def customers(self) -> "CustomersResourceSync":
587
- from blindpay.resources.customers import create_customers_resource_sync
588
-
589
- return create_customers_resource_sync(self._instance_id, self._api)
590
-
591
637
  @cached_property
592
638
  def fees(self) -> "FeesResourceSync":
593
639
  from blindpay.resources.fees import create_fees_resource_sync
@@ -19,6 +19,8 @@ from .bank_accounts import (
19
19
  CreatePixSafeResponse,
20
20
  CreateRtpInput,
21
21
  CreateRtpResponse,
22
+ CreateSepaInput,
23
+ CreateSepaResponse,
22
24
  CreateSpeiInput,
23
25
  CreateSpeiResponse,
24
26
  CreateTedInput,
@@ -27,7 +29,6 @@ from .bank_accounts import (
27
29
  CreateWireResponse,
28
30
  GetBankAccountResponse,
29
31
  ListBankAccountsResponse,
30
- OfframpNetwork,
31
32
  PixSafeType,
32
33
  PixType,
33
34
  RtpType,
@@ -53,12 +54,12 @@ __all__ = [
53
54
  "CreateWireInput",
54
55
  "CreateInternationalSwiftInput",
55
56
  "CreateRtpInput",
57
+ "CreateSepaInput",
56
58
  "CreateTedInput",
57
59
  "AchCopBitsoType",
58
60
  "AchCopDocument",
59
61
  "AchType",
60
62
  "ArgentinaTransfers",
61
- "OfframpNetwork",
62
63
  "PixType",
63
64
  "PixSafeType",
64
65
  "TransfersBitsoType",
@@ -75,6 +76,7 @@ __all__ = [
75
76
  "CreatePixResponse",
76
77
  "CreatePixSafeResponse",
77
78
  "CreateRtpResponse",
79
+ "CreateSepaResponse",
78
80
  "CreateSpeiResponse",
79
81
  "CreateTedResponse",
80
82
  "CreateWireResponse",
@@ -8,6 +8,7 @@ from ...types import (
8
8
  BankAccountType,
9
9
  BlindpayApiResponse,
10
10
  Country,
11
+ Network,
11
12
  Rail,
12
13
  RecipientRelationship,
13
14
  SpeiProtocol,
@@ -15,7 +16,6 @@ from ...types import (
15
16
 
16
17
  ArgentinaTransfers = Literal["CVU", "CBU", "ALIAS"]
17
18
  AchCopDocument = Literal["CC", "CE", "NIT", "PASS", "PEP"]
18
- OfframpNetwork = Literal["tron"]
19
19
  PixType = Literal["pix"]
20
20
  TransfersBitsoType = Literal["transfers_bitso"]
21
21
  SpeiBitsoType = Literal["spei_bitso"]
@@ -31,7 +31,7 @@ TedType = Literal["ted"]
31
31
  class OfframpWallet(TypedDict):
32
32
  address: str
33
33
  id: str
34
- network: OfframpNetwork
34
+ network: Network
35
35
  external_id: str
36
36
 
37
37
 
@@ -54,6 +54,7 @@ class BankAccount(TypedDict):
54
54
  spei_protocol: Optional[str]
55
55
  spei_institution_code: Optional[str]
56
56
  spei_clabe: Optional[str]
57
+ sepa_beneficiary_bic: Optional[str]
57
58
  transfers_type: Optional[ArgentinaTransfers]
58
59
  transfers_account: Optional[str]
59
60
  ach_cop_beneficiary_first_name: Optional[str]
@@ -91,13 +92,12 @@ class BankAccount(TypedDict):
91
92
  ted_cpf_cnpj: Optional[str]
92
93
 
93
94
 
94
- class ListBankAccountsResponse(TypedDict):
95
- data: List[BankAccount]
95
+ ListBankAccountsResponse = List[BankAccount]
96
96
 
97
97
 
98
98
  class GetBankAccountResponse(TypedDict):
99
99
  id: str
100
- receiver_id: str
100
+ customer_id: str
101
101
  account_holder_name: str
102
102
  account_number: str
103
103
  routing_number: str
@@ -105,13 +105,14 @@ class GetBankAccountResponse(TypedDict):
105
105
  bank_name: str
106
106
  swift_code: Optional[str]
107
107
  iban: Optional[str]
108
+ sepa_beneficiary_bic: Optional[str]
108
109
  is_primary: bool
109
110
  created_at: str
110
111
  updated_at: str
111
112
 
112
113
 
113
114
  class CreatePixInput(TypedDict):
114
- receiver_id: str
115
+ customer_id: str
115
116
  name: str
116
117
  pix_key: str
117
118
 
@@ -125,7 +126,7 @@ class CreatePixResponse(TypedDict):
125
126
 
126
127
 
127
128
  class CreateArgentinaTransfersInput(TypedDict):
128
- receiver_id: str
129
+ customer_id: str
129
130
  name: str
130
131
  beneficiary_name: str
131
132
  transfers_account: str
@@ -143,7 +144,7 @@ class CreateArgentinaTransfersResponse(TypedDict):
143
144
 
144
145
 
145
146
  class CreateSpeiInput(TypedDict):
146
- receiver_id: str
147
+ customer_id: str
147
148
  beneficiary_name: str
148
149
  name: str
149
150
  spei_clabe: str
@@ -163,7 +164,7 @@ class CreateSpeiResponse(TypedDict):
163
164
 
164
165
 
165
166
  class CreateColombiaAchInput(TypedDict):
166
- receiver_id: str
167
+ customer_id: str
167
168
  name: str
168
169
  account_type: BankAccountType
169
170
  ach_cop_beneficiary_first_name: str
@@ -191,7 +192,7 @@ class CreateColombiaAchResponse(TypedDict):
191
192
 
192
193
 
193
194
  class _CreateAchInputRequired(TypedDict):
194
- receiver_id: str
195
+ customer_id: str
195
196
 
196
197
 
197
198
  class CreateAchInput(_CreateAchInputRequired, total=False):
@@ -240,7 +241,7 @@ class CreateAchResponse(TypedDict):
240
241
 
241
242
 
242
243
  class _CreateWireInputRequired(TypedDict):
243
- receiver_id: str
244
+ customer_id: str
244
245
 
245
246
 
246
247
  class CreateWireInput(_CreateWireInputRequired, total=False):
@@ -279,7 +280,7 @@ class CreateWireResponse(TypedDict):
279
280
 
280
281
 
281
282
  class _CreateInternationalSwiftInputRequired(TypedDict):
282
- receiver_id: str
283
+ customer_id: str
283
284
 
284
285
 
285
286
  class CreateInternationalSwiftInput(_CreateInternationalSwiftInputRequired, total=False):
@@ -302,6 +303,7 @@ class CreateInternationalSwiftInput(_CreateInternationalSwiftInputRequired, tota
302
303
  swift_beneficiary_postal_code: str
303
304
  swift_beneficiary_state_province_region: str
304
305
  swift_code_bic: str
306
+ sepa_beneficiary_bic: Optional[str]
305
307
  swift_intermediary_bank_account_number_iban: Optional[str]
306
308
  swift_intermediary_bank_country: Optional[Country]
307
309
  swift_intermediary_bank_name: Optional[str]
@@ -340,6 +342,7 @@ class CreateInternationalSwiftResponse(TypedDict):
340
342
  swift_bank_city: str
341
343
  swift_bank_state_province_region: str
342
344
  swift_bank_postal_code: str
345
+ sepa_beneficiary_bic: Optional[str]
343
346
  swift_intermediary_bank_swift_code_bic: Optional[str]
344
347
  swift_intermediary_bank_account_number_iban: Optional[str]
345
348
  swift_intermediary_bank_name: Optional[str]
@@ -348,7 +351,7 @@ class CreateInternationalSwiftResponse(TypedDict):
348
351
 
349
352
 
350
353
  class _CreateRtpInputRequired(TypedDict):
351
- receiver_id: str
354
+ customer_id: str
352
355
 
353
356
 
354
357
  class CreateRtpInput(_CreateRtpInputRequired, total=False):
@@ -386,8 +389,44 @@ class CreateRtpResponse(TypedDict):
386
389
  created_at: str
387
390
 
388
391
 
392
+ class _CreateSepaInputRequired(TypedDict):
393
+ customer_id: str
394
+ name: str
395
+ account_class: AccountClass
396
+ sepa_iban: str
397
+ sepa_beneficiary_bic: str
398
+ sepa_beneficiary_legal_name: str
399
+ sepa_beneficiary_address_line_1: str
400
+ sepa_beneficiary_city: str
401
+ sepa_beneficiary_postal_code: str
402
+ sepa_beneficiary_country: Country
403
+
404
+
405
+ class CreateSepaInput(_CreateSepaInputRequired, total=False):
406
+ sepa_beneficiary_address_line_2: Optional[str]
407
+ sepa_beneficiary_state_province_region: Optional[str]
408
+
409
+
410
+ class CreateSepaResponse(TypedDict):
411
+ id: str
412
+ type: Literal["sepa"]
413
+ name: str
414
+ account_class: AccountClass
415
+ recipient_relationship: Optional[RecipientRelationship]
416
+ sepa_iban: str
417
+ sepa_beneficiary_bic: str
418
+ sepa_beneficiary_legal_name: str
419
+ sepa_beneficiary_address_line_1: str
420
+ sepa_beneficiary_address_line_2: Optional[str]
421
+ sepa_beneficiary_city: str
422
+ sepa_beneficiary_state_province_region: Optional[str]
423
+ sepa_beneficiary_postal_code: str
424
+ sepa_beneficiary_country: Country
425
+ created_at: str
426
+
427
+
389
428
  class CreatePixSafeInput(TypedDict):
390
- receiver_id: str
429
+ customer_id: str
391
430
  name: str
392
431
  account_number: str
393
432
  account_type: BankAccountType
@@ -409,7 +448,7 @@ class CreatePixSafeResponse(TypedDict):
409
448
 
410
449
 
411
450
  class CreateTedInput(TypedDict):
412
- receiver_id: str
451
+ customer_id: str
413
452
  name: str
414
453
  account_number: str
415
454
  account_type: BankAccountType
@@ -435,78 +474,84 @@ class BankAccountsResource:
435
474
  self._instance_id = instance_id
436
475
  self._client = client
437
476
 
438
- async def list(self, receiver_id: str) -> BlindpayApiResponse[ListBankAccountsResponse]:
439
- return await self._client.get(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts")
477
+ async def list(self, customer_id: str) -> BlindpayApiResponse[ListBankAccountsResponse]:
478
+ return await self._client.get(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts")
440
479
 
441
- async def get(self, receiver_id: str, id: str) -> BlindpayApiResponse[GetBankAccountResponse]:
442
- return await self._client.get(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts/{id}")
480
+ async def get(self, customer_id: str, id: str) -> BlindpayApiResponse[GetBankAccountResponse]:
481
+ return await self._client.get(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts/{id}")
443
482
 
444
- async def delete(self, receiver_id: str, id: str) -> BlindpayApiResponse[None]:
445
- return await self._client.delete(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts/{id}")
483
+ async def delete(self, customer_id: str, id: str) -> BlindpayApiResponse[None]:
484
+ return await self._client.delete(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts/{id}")
446
485
 
447
486
  async def create_pix(self, data: CreatePixInput) -> BlindpayApiResponse[CreatePixResponse]:
448
- receiver_id = data["receiver_id"]
449
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
487
+ customer_id = data["customer_id"]
488
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
450
489
  payload["type"] = "pix"
451
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
490
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
452
491
 
453
492
  async def create_argentina_transfers(
454
493
  self, data: CreateArgentinaTransfersInput
455
494
  ) -> BlindpayApiResponse[CreateArgentinaTransfersResponse]:
456
- receiver_id = data["receiver_id"]
457
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
495
+ customer_id = data["customer_id"]
496
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
458
497
  payload["type"] = "transfers_bitso"
459
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
498
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
460
499
 
461
500
  async def create_spei(self, data: CreateSpeiInput) -> BlindpayApiResponse[CreateSpeiResponse]:
462
- receiver_id = data["receiver_id"]
463
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
501
+ customer_id = data["customer_id"]
502
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
464
503
  payload["type"] = "spei_bitso"
465
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
504
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
466
505
 
467
506
  async def create_colombia_ach(self, data: CreateColombiaAchInput) -> BlindpayApiResponse[CreateColombiaAchResponse]:
468
- receiver_id = data["receiver_id"]
469
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
507
+ customer_id = data["customer_id"]
508
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
470
509
  payload["type"] = "ach_cop_bitso"
471
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
510
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
472
511
 
473
512
  async def create_ach(self, data: CreateAchInput) -> BlindpayApiResponse[CreateAchResponse]:
474
- receiver_id = data["receiver_id"]
475
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
513
+ customer_id = data["customer_id"]
514
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
476
515
  payload["type"] = "ach"
477
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
516
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
478
517
 
479
518
  async def create_wire(self, data: CreateWireInput) -> BlindpayApiResponse[CreateWireResponse]:
480
- receiver_id = data["receiver_id"]
481
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
519
+ customer_id = data["customer_id"]
520
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
482
521
  payload["type"] = "wire"
483
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
522
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
484
523
 
485
524
  async def create_international_swift(
486
525
  self, data: CreateInternationalSwiftInput
487
526
  ) -> BlindpayApiResponse[CreateInternationalSwiftResponse]:
488
- receiver_id = data["receiver_id"]
489
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
527
+ customer_id = data["customer_id"]
528
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
490
529
  payload["type"] = "international_swift"
491
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
530
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
492
531
 
493
532
  async def create_rtp(self, data: CreateRtpInput) -> BlindpayApiResponse[CreateRtpResponse]:
494
- receiver_id = data["receiver_id"]
495
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
533
+ customer_id = data["customer_id"]
534
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
496
535
  payload["type"] = "rtp"
497
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
536
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
498
537
 
499
538
  async def create_pix_safe(self, data: CreatePixSafeInput) -> BlindpayApiResponse[CreatePixSafeResponse]:
500
- receiver_id = data["receiver_id"]
501
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
539
+ customer_id = data["customer_id"]
540
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
502
541
  payload["type"] = "pix_safe"
503
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
542
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
504
543
 
505
544
  async def create_ted(self, data: CreateTedInput) -> BlindpayApiResponse[CreateTedResponse]:
506
- receiver_id = data["receiver_id"]
507
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
545
+ customer_id = data["customer_id"]
546
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
508
547
  payload["type"] = "ted"
509
- return await self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
548
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
549
+
550
+ async def create_sepa(self, data: CreateSepaInput) -> BlindpayApiResponse[CreateSepaResponse]:
551
+ customer_id = data["customer_id"]
552
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
553
+ payload["type"] = "sepa"
554
+ return await self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
510
555
 
511
556
 
512
557
  class BankAccountsResourceSync:
@@ -514,78 +559,84 @@ class BankAccountsResourceSync:
514
559
  self._instance_id = instance_id
515
560
  self._client = client
516
561
 
517
- def list(self, receiver_id: str) -> BlindpayApiResponse[ListBankAccountsResponse]:
518
- return self._client.get(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts")
562
+ def list(self, customer_id: str) -> BlindpayApiResponse[ListBankAccountsResponse]:
563
+ return self._client.get(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts")
519
564
 
520
- def get(self, receiver_id: str, id: str) -> BlindpayApiResponse[GetBankAccountResponse]:
521
- return self._client.get(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts/{id}")
565
+ def get(self, customer_id: str, id: str) -> BlindpayApiResponse[GetBankAccountResponse]:
566
+ return self._client.get(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts/{id}")
522
567
 
523
- def delete(self, receiver_id: str, id: str) -> BlindpayApiResponse[None]:
524
- return self._client.delete(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts/{id}")
568
+ def delete(self, customer_id: str, id: str) -> BlindpayApiResponse[None]:
569
+ return self._client.delete(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts/{id}")
525
570
 
526
571
  def create_pix(self, data: CreatePixInput) -> BlindpayApiResponse[CreatePixResponse]:
527
- receiver_id = data["receiver_id"]
528
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
572
+ customer_id = data["customer_id"]
573
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
529
574
  payload["type"] = "pix"
530
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
575
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
531
576
 
532
577
  def create_argentina_transfers(
533
578
  self, data: CreateArgentinaTransfersInput
534
579
  ) -> BlindpayApiResponse[CreateArgentinaTransfersResponse]:
535
- receiver_id = data["receiver_id"]
536
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
580
+ customer_id = data["customer_id"]
581
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
537
582
  payload["type"] = "transfers_bitso"
538
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
583
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
539
584
 
540
585
  def create_spei(self, data: CreateSpeiInput) -> BlindpayApiResponse[CreateSpeiResponse]:
541
- receiver_id = data["receiver_id"]
542
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
586
+ customer_id = data["customer_id"]
587
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
543
588
  payload["type"] = "spei_bitso"
544
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
589
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
545
590
 
546
591
  def create_colombia_ach(self, data: CreateColombiaAchInput) -> BlindpayApiResponse[CreateColombiaAchResponse]:
547
- receiver_id = data["receiver_id"]
548
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
592
+ customer_id = data["customer_id"]
593
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
549
594
  payload["type"] = "ach_cop_bitso"
550
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
595
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
551
596
 
552
597
  def create_ach(self, data: CreateAchInput) -> BlindpayApiResponse[CreateAchResponse]:
553
- receiver_id = data["receiver_id"]
554
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
598
+ customer_id = data["customer_id"]
599
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
555
600
  payload["type"] = "ach"
556
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
601
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
557
602
 
558
603
  def create_wire(self, data: CreateWireInput) -> BlindpayApiResponse[CreateWireResponse]:
559
- receiver_id = data["receiver_id"]
560
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
604
+ customer_id = data["customer_id"]
605
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
561
606
  payload["type"] = "wire"
562
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
607
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
563
608
 
564
609
  def create_international_swift(
565
610
  self, data: CreateInternationalSwiftInput
566
611
  ) -> BlindpayApiResponse[CreateInternationalSwiftResponse]:
567
- receiver_id = data["receiver_id"]
568
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
612
+ customer_id = data["customer_id"]
613
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
569
614
  payload["type"] = "international_swift"
570
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
615
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
571
616
 
572
617
  def create_rtp(self, data: CreateRtpInput) -> BlindpayApiResponse[CreateRtpResponse]:
573
- receiver_id = data["receiver_id"]
574
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
618
+ customer_id = data["customer_id"]
619
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
575
620
  payload["type"] = "rtp"
576
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
621
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
577
622
 
578
623
  def create_pix_safe(self, data: CreatePixSafeInput) -> BlindpayApiResponse[CreatePixSafeResponse]:
579
- receiver_id = data["receiver_id"]
580
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
624
+ customer_id = data["customer_id"]
625
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
581
626
  payload["type"] = "pix_safe"
582
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
627
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
583
628
 
584
629
  def create_ted(self, data: CreateTedInput) -> BlindpayApiResponse[CreateTedResponse]:
585
- receiver_id = data["receiver_id"]
586
- payload = {k: v for k, v in data.items() if k != "receiver_id"}
630
+ customer_id = data["customer_id"]
631
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
587
632
  payload["type"] = "ted"
588
- return self._client.post(f"/instances/{self._instance_id}/receivers/{receiver_id}/bank-accounts", payload)
633
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
634
+
635
+ def create_sepa(self, data: CreateSepaInput) -> BlindpayApiResponse[CreateSepaResponse]:
636
+ customer_id = data["customer_id"]
637
+ payload = {k: v for k, v in data.items() if k != "customer_id"}
638
+ payload["type"] = "sepa"
639
+ return self._client.post(f"/instances/{self._instance_id}/customers/{customer_id}/bank-accounts", payload)
589
640
 
590
641
 
591
642
  def create_bank_accounts_resource(instance_id: str, client: InternalApiClient) -> BankAccountsResource: