kard-financial-sdk 0.0.82__py3-none-any.whl

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 (302) hide show
  1. kard/__init__.py +579 -0
  2. kard/auth/__init__.py +34 -0
  3. kard/auth/client.py +121 -0
  4. kard/auth/raw_client.py +108 -0
  5. kard/auth/types/__init__.py +34 -0
  6. kard/auth/types/token_response.py +25 -0
  7. kard/client.py +416 -0
  8. kard/commons/__init__.py +120 -0
  9. kard/commons/errors/__init__.py +44 -0
  10. kard/commons/errors/conflict_error.py +11 -0
  11. kard/commons/errors/does_not_exist_error.py +11 -0
  12. kard/commons/errors/internal_server_error.py +11 -0
  13. kard/commons/errors/invalid_request.py +11 -0
  14. kard/commons/errors/unauthorized_error.py +11 -0
  15. kard/commons/types/__init__.py +107 -0
  16. kard/commons/types/category_option.py +26 -0
  17. kard/commons/types/commission_type.py +5 -0
  18. kard/commons/types/commission_value.py +28 -0
  19. kard/commons/types/commission_value_type.py +5 -0
  20. kard/commons/types/empty_object.py +17 -0
  21. kard/commons/types/enrolled_rewards_type.py +5 -0
  22. kard/commons/types/error_object.py +43 -0
  23. kard/commons/types/error_response.py +20 -0
  24. kard/commons/types/error_source.py +32 -0
  25. kard/commons/types/job.py +24 -0
  26. kard/commons/types/job_response.py +27 -0
  27. kard/commons/types/job_status.py +5 -0
  28. kard/commons/types/links.py +27 -0
  29. kard/commons/types/mongo_id.py +3 -0
  30. kard/commons/types/notification_type.py +19 -0
  31. kard/commons/types/organization_id.py +3 -0
  32. kard/commons/types/purchase_channel.py +5 -0
  33. kard/commons/types/relationship_data.py +24 -0
  34. kard/commons/types/relationship_multiple.py +20 -0
  35. kard/commons/types/relationship_single.py +20 -0
  36. kard/commons/types/resource_type.py +3 -0
  37. kard/commons/types/state.py +68 -0
  38. kard/commons/types/subscription_id.py +3 -0
  39. kard/commons/types/user_id.py +3 -0
  40. kard/core/__init__.py +105 -0
  41. kard/core/api_error.py +23 -0
  42. kard/core/client_wrapper.py +97 -0
  43. kard/core/datetime_utils.py +28 -0
  44. kard/core/file.py +67 -0
  45. kard/core/force_multipart.py +18 -0
  46. kard/core/http_client.py +613 -0
  47. kard/core/http_response.py +55 -0
  48. kard/core/http_sse/__init__.py +42 -0
  49. kard/core/http_sse/_api.py +112 -0
  50. kard/core/http_sse/_decoders.py +61 -0
  51. kard/core/http_sse/_exceptions.py +7 -0
  52. kard/core/http_sse/_models.py +17 -0
  53. kard/core/jsonable_encoder.py +100 -0
  54. kard/core/oauth_token_provider.py +73 -0
  55. kard/core/pydantic_utilities.py +260 -0
  56. kard/core/query_encoder.py +58 -0
  57. kard/core/remove_none_from_dict.py +11 -0
  58. kard/core/request_options.py +35 -0
  59. kard/core/serialization.py +276 -0
  60. kard/environment.py +8 -0
  61. kard/files/__init__.py +58 -0
  62. kard/files/client.py +213 -0
  63. kard/files/errors/__init__.py +34 -0
  64. kard/files/errors/forbidden_error.py +11 -0
  65. kard/files/raw_client.py +278 -0
  66. kard/files/types/__init__.py +53 -0
  67. kard/files/types/file_metadata_attribute.py +39 -0
  68. kard/files/types/file_metadata_with_url.py +34 -0
  69. kard/files/types/file_type.py +13 -0
  70. kard/files/types/files_metadata_sort_options.py +5 -0
  71. kard/files/types/get_files_metadata_response.py +71 -0
  72. kard/files/types/pagination_meta.py +29 -0
  73. kard/notifications/__init__.py +279 -0
  74. kard/notifications/client.py +63 -0
  75. kard/notifications/raw_client.py +13 -0
  76. kard/notifications/subscriptions/__init__.py +97 -0
  77. kard/notifications/subscriptions/client.py +372 -0
  78. kard/notifications/subscriptions/raw_client.py +581 -0
  79. kard/notifications/subscriptions/types/__init__.py +94 -0
  80. kard/notifications/subscriptions/types/create_subscription_union.py +27 -0
  81. kard/notifications/subscriptions/types/create_subscriptions_response_object.py +43 -0
  82. kard/notifications/subscriptions/types/created_subscription.py +23 -0
  83. kard/notifications/subscriptions/types/subscription.py +25 -0
  84. kard/notifications/subscriptions/types/subscription_attributes.py +35 -0
  85. kard/notifications/subscriptions/types/subscription_request.py +20 -0
  86. kard/notifications/subscriptions/types/subscription_request_attributes.py +35 -0
  87. kard/notifications/subscriptions/types/subscription_request_body.py +42 -0
  88. kard/notifications/subscriptions/types/subscription_request_union.py +26 -0
  89. kard/notifications/subscriptions/types/subscription_union.py +27 -0
  90. kard/notifications/subscriptions/types/subscriptions_response_object.py +43 -0
  91. kard/notifications/subscriptions/types/update_subscription_request.py +20 -0
  92. kard/notifications/subscriptions/types/update_subscription_request_attributes.py +39 -0
  93. kard/notifications/subscriptions/types/update_subscription_request_body.py +40 -0
  94. kard/notifications/subscriptions/types/update_subscription_request_union.py +26 -0
  95. kard/notifications/subscriptions/types/update_subscriptions_response_object.py +41 -0
  96. kard/notifications/types/__init__.py +214 -0
  97. kard/notifications/types/audit_update_attributes.py +88 -0
  98. kard/notifications/types/audit_update_data.py +27 -0
  99. kard/notifications/types/audit_update_relationships.py +21 -0
  100. kard/notifications/types/broker_amount.py +28 -0
  101. kard/notifications/types/broker_amount_type.py +5 -0
  102. kard/notifications/types/broker_asset.py +33 -0
  103. kard/notifications/types/broker_asset_type.py +5 -0
  104. kard/notifications/types/broker_operation_hours.py +30 -0
  105. kard/notifications/types/broker_operation_period.py +28 -0
  106. kard/notifications/types/broker_purchase_channel.py +5 -0
  107. kard/notifications/types/broker_reward.py +28 -0
  108. kard/notifications/types/broker_reward_type.py +5 -0
  109. kard/notifications/types/clawback_data.py +27 -0
  110. kard/notifications/types/earned_reward_approved_data.py +27 -0
  111. kard/notifications/types/earned_reward_attributes.py +18 -0
  112. kard/notifications/types/earned_reward_relationships.py +21 -0
  113. kard/notifications/types/earned_reward_settled_attributes.py +23 -0
  114. kard/notifications/types/earned_reward_settled_data.py +27 -0
  115. kard/notifications/types/failed_transaction_attributes.py +41 -0
  116. kard/notifications/types/failed_transaction_data.py +27 -0
  117. kard/notifications/types/failed_transaction_relationships.py +22 -0
  118. kard/notifications/types/location_address.py +39 -0
  119. kard/notifications/types/location_coordinates.py +27 -0
  120. kard/notifications/types/location_status.py +5 -0
  121. kard/notifications/types/merchant_source.py +5 -0
  122. kard/notifications/types/notification_data_union.py +203 -0
  123. kard/notifications/types/notification_metadata.py +22 -0
  124. kard/notifications/types/notification_payload.py +65 -0
  125. kard/notifications/types/offer_status.py +5 -0
  126. kard/notifications/types/offer_type.py +5 -0
  127. kard/notifications/types/reward_notification_attributes.py +48 -0
  128. kard/notifications/types/time_period.py +27 -0
  129. kard/notifications/types/transaction_relationships.py +22 -0
  130. kard/notifications/types/user_offer_status.py +5 -0
  131. kard/notifications/types/valid_transaction_attributes.py +25 -0
  132. kard/notifications/types/valid_transaction_commission_earned.py +21 -0
  133. kard/notifications/types/valid_transaction_data.py +27 -0
  134. kard/notifications/types/webhook_locations_attributes.py +71 -0
  135. kard/notifications/types/webhook_locations_data.py +27 -0
  136. kard/notifications/types/webhook_locations_relationships.py +20 -0
  137. kard/notifications/types/webhook_merchant_attributes.py +67 -0
  138. kard/notifications/types/webhook_merchant_data.py +27 -0
  139. kard/notifications/types/webhook_merchant_relationships.py +20 -0
  140. kard/notifications/types/webhook_offer_attributes.py +143 -0
  141. kard/notifications/types/webhook_offer_data.py +27 -0
  142. kard/notifications/types/webhook_offer_relationships.py +20 -0
  143. kard/notifications/types/webhook_user_offer_attributes.py +41 -0
  144. kard/notifications/types/webhook_user_offer_data.py +27 -0
  145. kard/notifications/types/webhook_user_offer_relationships.py +21 -0
  146. kard/ping/__init__.py +39 -0
  147. kard/ping/client.py +100 -0
  148. kard/ping/errors/__init__.py +34 -0
  149. kard/ping/errors/network_blocked_error.py +11 -0
  150. kard/ping/raw_client.py +113 -0
  151. kard/ping/types/__init__.py +38 -0
  152. kard/ping/types/network_blocked_error_body.py +34 -0
  153. kard/ping/types/ping_response_object.py +46 -0
  154. kard/py.typed +0 -0
  155. kard/transactions/__init__.py +212 -0
  156. kard/transactions/client.py +639 -0
  157. kard/transactions/errors/__init__.py +40 -0
  158. kard/transactions/errors/create_audit_multi_status.py +11 -0
  159. kard/transactions/errors/create_incoming_transactions_multi_status.py +11 -0
  160. kard/transactions/errors/fraud_multi_status.py +11 -0
  161. kard/transactions/raw_client.py +925 -0
  162. kard/transactions/types/__init__.py +199 -0
  163. kard/transactions/types/audit_attributes.py +44 -0
  164. kard/transactions/types/audit_request_data.py +20 -0
  165. kard/transactions/types/audit_response_attributes.py +24 -0
  166. kard/transactions/types/audit_response_data.py +25 -0
  167. kard/transactions/types/audit_status.py +5 -0
  168. kard/transactions/types/card_network.py +5 -0
  169. kard/transactions/types/commission_earned_details.py +21 -0
  170. kard/transactions/types/create_audit_multi_status_response.py +21 -0
  171. kard/transactions/types/create_audit_request_body.py +43 -0
  172. kard/transactions/types/create_audit_request_data_union.py +26 -0
  173. kard/transactions/types/create_audit_response_body.py +41 -0
  174. kard/transactions/types/create_audit_response_data_union.py +27 -0
  175. kard/transactions/types/direction_type.py +5 -0
  176. kard/transactions/types/fraudulent_transaction_attributes.py +24 -0
  177. kard/transactions/types/fraudulent_transaction_data.py +30 -0
  178. kard/transactions/types/fraudulent_transaction_object.py +42 -0
  179. kard/transactions/types/fraudulent_transaction_request_body.py +45 -0
  180. kard/transactions/types/fraudulent_transaction_response.py +21 -0
  181. kard/transactions/types/get_earned_rewards_response.py +133 -0
  182. kard/transactions/types/matched_transactions_attributes.py +156 -0
  183. kard/transactions/types/matched_transactions_request.py +25 -0
  184. kard/transactions/types/merchant.py +82 -0
  185. kard/transactions/types/payment_status.py +5 -0
  186. kard/transactions/types/payment_type.py +5 -0
  187. kard/transactions/types/processor_mid.py +26 -0
  188. kard/transactions/types/receipt_medium_type.py +5 -0
  189. kard/transactions/types/rewarded_transaction.py +27 -0
  190. kard/transactions/types/rewarded_transaction_attributes.py +74 -0
  191. kard/transactions/types/rewarded_transaction_relationships.py +22 -0
  192. kard/transactions/types/rewarded_transaction_status.py +5 -0
  193. kard/transactions/types/rewarded_transaction_union.py +29 -0
  194. kard/transactions/types/states.py +68 -0
  195. kard/transactions/types/transaction_included_resource.py +47 -0
  196. kard/transactions/types/transaction_merchant_attributes.py +22 -0
  197. kard/transactions/types/transaction_merchant_resource.py +28 -0
  198. kard/transactions/types/transaction_offer_attributes.py +26 -0
  199. kard/transactions/types/transaction_offer_resource.py +28 -0
  200. kard/transactions/types/transaction_payment_type.py +5 -0
  201. kard/transactions/types/transaction_status.py +5 -0
  202. kard/transactions/types/transactions.py +46 -0
  203. kard/transactions/types/transactions_attributes.py +198 -0
  204. kard/transactions/types/transactions_multi_response.py +21 -0
  205. kard/transactions/types/transactions_request.py +25 -0
  206. kard/transactions/types/transactions_request_body.py +90 -0
  207. kard/transactions/types/transactions_response.py +38 -0
  208. kard/transactions/types/transactions_response_data.py +27 -0
  209. kard/transactions/types/visa_mid.py +23 -0
  210. kard/transactions/types/visa_mid_details.py +27 -0
  211. kard/users/__init__.py +293 -0
  212. kard/users/attributions/__init__.py +73 -0
  213. kard/users/attributions/client.py +229 -0
  214. kard/users/attributions/raw_client.py +215 -0
  215. kard/users/attributions/types/__init__.py +73 -0
  216. kard/users/attributions/types/create_attribution_request_object.py +75 -0
  217. kard/users/attributions/types/create_attribution_request_union.py +45 -0
  218. kard/users/attributions/types/create_attribution_response.py +38 -0
  219. kard/users/attributions/types/event_code.py +5 -0
  220. kard/users/attributions/types/notification_attribution_attributes.py +35 -0
  221. kard/users/attributions/types/notification_attribution_request.py +20 -0
  222. kard/users/attributions/types/notification_medium.py +5 -0
  223. kard/users/attributions/types/offer_attribution_attributes.py +35 -0
  224. kard/users/attributions/types/offer_attribution_request.py +20 -0
  225. kard/users/attributions/types/offer_medium.py +5 -0
  226. kard/users/client.py +512 -0
  227. kard/users/errors/__init__.py +34 -0
  228. kard/users/errors/multi_status.py +11 -0
  229. kard/users/raw_client.py +783 -0
  230. kard/users/rewards/__init__.py +133 -0
  231. kard/users/rewards/client.py +448 -0
  232. kard/users/rewards/raw_client.py +587 -0
  233. kard/users/rewards/types/__init__.py +130 -0
  234. kard/users/rewards/types/amount.py +21 -0
  235. kard/users/rewards/types/amount_type.py +5 -0
  236. kard/users/rewards/types/asset.py +28 -0
  237. kard/users/rewards/types/category_data.py +18 -0
  238. kard/users/rewards/types/category_fields.py +23 -0
  239. kard/users/rewards/types/category_identifier.py +24 -0
  240. kard/users/rewards/types/category_included.py +21 -0
  241. kard/users/rewards/types/category_relationship.py +20 -0
  242. kard/users/rewards/types/category_relationship_object.py +20 -0
  243. kard/users/rewards/types/commission.py +21 -0
  244. kard/users/rewards/types/coordinates.py +20 -0
  245. kard/users/rewards/types/eligibility_location_address.py +24 -0
  246. kard/users/rewards/types/eligibility_location_included.py +8 -0
  247. kard/users/rewards/types/eligibility_offer_included.py +7 -0
  248. kard/users/rewards/types/eligibility_offer_relationship.py +7 -0
  249. kard/users/rewards/types/location_attributes.py +28 -0
  250. kard/users/rewards/types/location_data.py +32 -0
  251. kard/users/rewards/types/location_relationships.py +18 -0
  252. kard/users/rewards/types/location_sort_options.py +5 -0
  253. kard/users/rewards/types/locations_response_object.py +215 -0
  254. kard/users/rewards/types/offer_common_fields.py +103 -0
  255. kard/users/rewards/types/offer_data_union.py +30 -0
  256. kard/users/rewards/types/offer_relationship.py +21 -0
  257. kard/users/rewards/types/offer_sort_options.py +7 -0
  258. kard/users/rewards/types/offers_response_object.py +130 -0
  259. kard/users/rewards/types/operation_hours.py +23 -0
  260. kard/users/rewards/types/operation_period.py +21 -0
  261. kard/users/rewards/types/operation_time.py +20 -0
  262. kard/users/rewards/types/standard_offer.py +21 -0
  263. kard/users/rewards/types/standard_offer_core.py +26 -0
  264. kard/users/rewards/types/standard_offer_fields.py +18 -0
  265. kard/users/types/__init__.py +66 -0
  266. kard/users/types/create_users_multi_status_response.py +21 -0
  267. kard/users/types/create_users_object.py +42 -0
  268. kard/users/types/delete_user_response_object.py +34 -0
  269. kard/users/types/update_user_object.py +40 -0
  270. kard/users/types/user_request_attributes.py +60 -0
  271. kard/users/types/user_request_data.py +22 -0
  272. kard/users/types/user_request_data_union.py +28 -0
  273. kard/users/types/user_response_no_data.py +22 -0
  274. kard/users/types/user_response_union_no_data.py +28 -0
  275. kard/users/uploads/__init__.py +112 -0
  276. kard/users/uploads/client.py +484 -0
  277. kard/users/uploads/errors/__init__.py +34 -0
  278. kard/users/uploads/errors/upload_part_multi_status.py +13 -0
  279. kard/users/uploads/raw_client.py +625 -0
  280. kard/users/uploads/types/__init__.py +119 -0
  281. kard/users/uploads/types/create_upload_part_data_union.py +27 -0
  282. kard/users/uploads/types/create_upload_part_multi_status_response.py +21 -0
  283. kard/users/uploads/types/create_upload_part_request_object.py +74 -0
  284. kard/users/uploads/types/create_upload_part_response_data.py +25 -0
  285. kard/users/uploads/types/create_upload_part_response_data_union.py +27 -0
  286. kard/users/uploads/types/create_upload_part_response_object.py +39 -0
  287. kard/users/uploads/types/create_upload_request_data_union.py +26 -0
  288. kard/users/uploads/types/create_upload_request_object.py +36 -0
  289. kard/users/uploads/types/create_upload_response_data.py +25 -0
  290. kard/users/uploads/types/create_upload_response_data_union.py +27 -0
  291. kard/users/uploads/types/create_upload_response_object.py +37 -0
  292. kard/users/uploads/types/historical_transaction_complete_no_data.py +25 -0
  293. kard/users/uploads/types/start_historical_upload_no_data.py +20 -0
  294. kard/users/uploads/types/update_upload_request_data_union.py +27 -0
  295. kard/users/uploads/types/update_upload_request_object.py +37 -0
  296. kard/users/uploads/types/update_upload_response_data.py +25 -0
  297. kard/users/uploads/types/update_upload_response_data_union.py +27 -0
  298. kard/users/uploads/types/update_upload_response_object.py +37 -0
  299. kard/version.py +3 -0
  300. kard_financial_sdk-0.0.82.dist-info/METADATA +238 -0
  301. kard_financial_sdk-0.0.82.dist-info/RECORD +302 -0
  302. kard_financial_sdk-0.0.82.dist-info/WHEEL +4 -0
@@ -0,0 +1,199 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .audit_attributes import AuditAttributes
10
+ from .audit_request_data import AuditRequestData
11
+ from .audit_response_attributes import AuditResponseAttributes
12
+ from .audit_response_data import AuditResponseData
13
+ from .audit_status import AuditStatus
14
+ from .card_network import CardNetwork
15
+ from .commission_earned_details import CommissionEarnedDetails
16
+ from .create_audit_multi_status_response import CreateAuditMultiStatusResponse
17
+ from .create_audit_request_body import CreateAuditRequestBody
18
+ from .create_audit_request_data_union import CreateAuditRequestDataUnion, CreateAuditRequestDataUnion_Audit
19
+ from .create_audit_response_body import CreateAuditResponseBody
20
+ from .create_audit_response_data_union import CreateAuditResponseDataUnion, CreateAuditResponseDataUnion_Audit
21
+ from .direction_type import DirectionType
22
+ from .fraudulent_transaction_attributes import FraudulentTransactionAttributes
23
+ from .fraudulent_transaction_data import FraudulentTransactionData
24
+ from .fraudulent_transaction_object import FraudulentTransactionObject
25
+ from .fraudulent_transaction_request_body import FraudulentTransactionRequestBody
26
+ from .fraudulent_transaction_response import FraudulentTransactionResponse
27
+ from .get_earned_rewards_response import GetEarnedRewardsResponse
28
+ from .matched_transactions_attributes import MatchedTransactionsAttributes
29
+ from .matched_transactions_request import MatchedTransactionsRequest
30
+ from .merchant import Merchant
31
+ from .payment_status import PaymentStatus
32
+ from .payment_type import PaymentType
33
+ from .processor_mid import ProcessorMid, ProcessorMid_Visa
34
+ from .receipt_medium_type import ReceiptMediumType
35
+ from .rewarded_transaction import RewardedTransaction
36
+ from .rewarded_transaction_attributes import RewardedTransactionAttributes
37
+ from .rewarded_transaction_relationships import RewardedTransactionRelationships
38
+ from .rewarded_transaction_status import RewardedTransactionStatus
39
+ from .rewarded_transaction_union import RewardedTransactionUnion, RewardedTransactionUnion_RewardedTransaction
40
+ from .states import States
41
+ from .transaction_included_resource import (
42
+ TransactionIncludedResource,
43
+ TransactionIncludedResource_Merchant,
44
+ TransactionIncludedResource_Offer,
45
+ )
46
+ from .transaction_merchant_attributes import TransactionMerchantAttributes
47
+ from .transaction_merchant_resource import TransactionMerchantResource
48
+ from .transaction_offer_attributes import TransactionOfferAttributes
49
+ from .transaction_offer_resource import TransactionOfferResource
50
+ from .transaction_payment_type import TransactionPaymentType
51
+ from .transaction_status import TransactionStatus
52
+ from .transactions import Transactions, Transactions_MatchedTransaction, Transactions_Transaction
53
+ from .transactions_attributes import TransactionsAttributes
54
+ from .transactions_multi_response import TransactionsMultiResponse
55
+ from .transactions_request import TransactionsRequest
56
+ from .transactions_request_body import TransactionsRequestBody
57
+ from .transactions_response import TransactionsResponse
58
+ from .transactions_response_data import TransactionsResponseData
59
+ from .visa_mid import VisaMid
60
+ from .visa_mid_details import VisaMidDetails
61
+ _dynamic_imports: typing.Dict[str, str] = {
62
+ "AuditAttributes": ".audit_attributes",
63
+ "AuditRequestData": ".audit_request_data",
64
+ "AuditResponseAttributes": ".audit_response_attributes",
65
+ "AuditResponseData": ".audit_response_data",
66
+ "AuditStatus": ".audit_status",
67
+ "CardNetwork": ".card_network",
68
+ "CommissionEarnedDetails": ".commission_earned_details",
69
+ "CreateAuditMultiStatusResponse": ".create_audit_multi_status_response",
70
+ "CreateAuditRequestBody": ".create_audit_request_body",
71
+ "CreateAuditRequestDataUnion": ".create_audit_request_data_union",
72
+ "CreateAuditRequestDataUnion_Audit": ".create_audit_request_data_union",
73
+ "CreateAuditResponseBody": ".create_audit_response_body",
74
+ "CreateAuditResponseDataUnion": ".create_audit_response_data_union",
75
+ "CreateAuditResponseDataUnion_Audit": ".create_audit_response_data_union",
76
+ "DirectionType": ".direction_type",
77
+ "FraudulentTransactionAttributes": ".fraudulent_transaction_attributes",
78
+ "FraudulentTransactionData": ".fraudulent_transaction_data",
79
+ "FraudulentTransactionObject": ".fraudulent_transaction_object",
80
+ "FraudulentTransactionRequestBody": ".fraudulent_transaction_request_body",
81
+ "FraudulentTransactionResponse": ".fraudulent_transaction_response",
82
+ "GetEarnedRewardsResponse": ".get_earned_rewards_response",
83
+ "MatchedTransactionsAttributes": ".matched_transactions_attributes",
84
+ "MatchedTransactionsRequest": ".matched_transactions_request",
85
+ "Merchant": ".merchant",
86
+ "PaymentStatus": ".payment_status",
87
+ "PaymentType": ".payment_type",
88
+ "ProcessorMid": ".processor_mid",
89
+ "ProcessorMid_Visa": ".processor_mid",
90
+ "ReceiptMediumType": ".receipt_medium_type",
91
+ "RewardedTransaction": ".rewarded_transaction",
92
+ "RewardedTransactionAttributes": ".rewarded_transaction_attributes",
93
+ "RewardedTransactionRelationships": ".rewarded_transaction_relationships",
94
+ "RewardedTransactionStatus": ".rewarded_transaction_status",
95
+ "RewardedTransactionUnion": ".rewarded_transaction_union",
96
+ "RewardedTransactionUnion_RewardedTransaction": ".rewarded_transaction_union",
97
+ "States": ".states",
98
+ "TransactionIncludedResource": ".transaction_included_resource",
99
+ "TransactionIncludedResource_Merchant": ".transaction_included_resource",
100
+ "TransactionIncludedResource_Offer": ".transaction_included_resource",
101
+ "TransactionMerchantAttributes": ".transaction_merchant_attributes",
102
+ "TransactionMerchantResource": ".transaction_merchant_resource",
103
+ "TransactionOfferAttributes": ".transaction_offer_attributes",
104
+ "TransactionOfferResource": ".transaction_offer_resource",
105
+ "TransactionPaymentType": ".transaction_payment_type",
106
+ "TransactionStatus": ".transaction_status",
107
+ "Transactions": ".transactions",
108
+ "TransactionsAttributes": ".transactions_attributes",
109
+ "TransactionsMultiResponse": ".transactions_multi_response",
110
+ "TransactionsRequest": ".transactions_request",
111
+ "TransactionsRequestBody": ".transactions_request_body",
112
+ "TransactionsResponse": ".transactions_response",
113
+ "TransactionsResponseData": ".transactions_response_data",
114
+ "Transactions_MatchedTransaction": ".transactions",
115
+ "Transactions_Transaction": ".transactions",
116
+ "VisaMid": ".visa_mid",
117
+ "VisaMidDetails": ".visa_mid_details",
118
+ }
119
+
120
+
121
+ def __getattr__(attr_name: str) -> typing.Any:
122
+ module_name = _dynamic_imports.get(attr_name)
123
+ if module_name is None:
124
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
125
+ try:
126
+ module = import_module(module_name, __package__)
127
+ if module_name == f".{attr_name}":
128
+ return module
129
+ else:
130
+ return getattr(module, attr_name)
131
+ except ImportError as e:
132
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
133
+ except AttributeError as e:
134
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
135
+
136
+
137
+ def __dir__():
138
+ lazy_attrs = list(_dynamic_imports.keys())
139
+ return sorted(lazy_attrs)
140
+
141
+
142
+ __all__ = [
143
+ "AuditAttributes",
144
+ "AuditRequestData",
145
+ "AuditResponseAttributes",
146
+ "AuditResponseData",
147
+ "AuditStatus",
148
+ "CardNetwork",
149
+ "CommissionEarnedDetails",
150
+ "CreateAuditMultiStatusResponse",
151
+ "CreateAuditRequestBody",
152
+ "CreateAuditRequestDataUnion",
153
+ "CreateAuditRequestDataUnion_Audit",
154
+ "CreateAuditResponseBody",
155
+ "CreateAuditResponseDataUnion",
156
+ "CreateAuditResponseDataUnion_Audit",
157
+ "DirectionType",
158
+ "FraudulentTransactionAttributes",
159
+ "FraudulentTransactionData",
160
+ "FraudulentTransactionObject",
161
+ "FraudulentTransactionRequestBody",
162
+ "FraudulentTransactionResponse",
163
+ "GetEarnedRewardsResponse",
164
+ "MatchedTransactionsAttributes",
165
+ "MatchedTransactionsRequest",
166
+ "Merchant",
167
+ "PaymentStatus",
168
+ "PaymentType",
169
+ "ProcessorMid",
170
+ "ProcessorMid_Visa",
171
+ "ReceiptMediumType",
172
+ "RewardedTransaction",
173
+ "RewardedTransactionAttributes",
174
+ "RewardedTransactionRelationships",
175
+ "RewardedTransactionStatus",
176
+ "RewardedTransactionUnion",
177
+ "RewardedTransactionUnion_RewardedTransaction",
178
+ "States",
179
+ "TransactionIncludedResource",
180
+ "TransactionIncludedResource_Merchant",
181
+ "TransactionIncludedResource_Offer",
182
+ "TransactionMerchantAttributes",
183
+ "TransactionMerchantResource",
184
+ "TransactionOfferAttributes",
185
+ "TransactionOfferResource",
186
+ "TransactionPaymentType",
187
+ "TransactionStatus",
188
+ "Transactions",
189
+ "TransactionsAttributes",
190
+ "TransactionsMultiResponse",
191
+ "TransactionsRequest",
192
+ "TransactionsRequestBody",
193
+ "TransactionsResponse",
194
+ "TransactionsResponseData",
195
+ "Transactions_MatchedTransaction",
196
+ "Transactions_Transaction",
197
+ "VisaMid",
198
+ "VisaMidDetails",
199
+ ]
@@ -0,0 +1,44 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+
10
+
11
+ class AuditAttributes(UniversalBaseModel):
12
+ audit_code: typing_extensions.Annotated[int, FieldMetadata(alias="auditCode")] = pydantic.Field()
13
+ """
14
+ Audit Code - Enum. Please submit the code that is most relevant to your audit request.
15
+ <ul>
16
+ <li>`3005` : Customer is claiming cashback is incorrect - INCORRECT CASHBACK CLAIM</li>
17
+ <li>`3006` : Transaction is missing the cashback award - MISSING CASHBACK AWARD</li>
18
+ <li>`8001` : Other - check audit description</li>
19
+ </ul>
20
+ """
21
+
22
+ merchant_name: typing_extensions.Annotated[str, FieldMetadata(alias="merchantName")] = pydantic.Field()
23
+ """
24
+ Merchant name related to the transaction audit
25
+ """
26
+
27
+ audit_description: typing_extensions.Annotated[str, FieldMetadata(alias="auditDescription")] = pydantic.Field()
28
+ """
29
+ Audit Description. Please provide more details around the audit
30
+ """
31
+
32
+ transaction_id: typing_extensions.Annotated[str, FieldMetadata(alias="transactionId")] = pydantic.Field()
33
+ """
34
+ Transaction ID from issuer to audit
35
+ """
36
+
37
+ if IS_PYDANTIC_V2:
38
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
39
+ else:
40
+
41
+ class Config:
42
+ frozen = True
43
+ smart_union = True
44
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .audit_attributes import AuditAttributes
8
+
9
+
10
+ class AuditRequestData(UniversalBaseModel):
11
+ attributes: AuditAttributes
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+
10
+
11
+ class AuditResponseAttributes(UniversalBaseModel):
12
+ transaction_id: typing_extensions.Annotated[str, FieldMetadata(alias="transactionId")] = pydantic.Field()
13
+ """
14
+ Cardlinked Transaction ID
15
+ """
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .audit_response_attributes import AuditResponseAttributes
8
+
9
+
10
+ class AuditResponseData(UniversalBaseModel):
11
+ id: str = pydantic.Field()
12
+ """
13
+ Audit Request ID
14
+ """
15
+
16
+ attributes: AuditResponseAttributes
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AuditStatus = typing.Union[typing.Literal["NEW", "IN_PROGRESS", "CLOSED"], typing.Any]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ CardNetwork = typing.Union[typing.Literal["VISA", "MASTERCARD", "AMERICANEXPRESS", "DISCOVER"], typing.Any]
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...commons.types.commission_value import CommissionValue
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+
9
+
10
+ class CommissionEarnedDetails(UniversalBaseModel):
11
+ issuer: CommissionValue
12
+ user: CommissionValue
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...commons.types.error_response import ErrorResponse
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
8
+ from .create_audit_response_data_union import CreateAuditResponseDataUnion
9
+
10
+
11
+ class CreateAuditMultiStatusResponse(ErrorResponse):
12
+ data: typing.Optional[typing.List[CreateAuditResponseDataUnion]] = None
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow
@@ -0,0 +1,43 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .create_audit_request_data_union import CreateAuditRequestDataUnion
8
+
9
+
10
+ class CreateAuditRequestBody(UniversalBaseModel):
11
+ """
12
+ Examples
13
+ --------
14
+ from kard.transactions import (
15
+ AuditAttributes,
16
+ CreateAuditRequestBody,
17
+ CreateAuditRequestDataUnion_Audit,
18
+ )
19
+
20
+ CreateAuditRequestBody(
21
+ data=[
22
+ CreateAuditRequestDataUnion_Audit(
23
+ attributes=AuditAttributes(
24
+ audit_code=8001,
25
+ merchant_name="Caribbean Goodness",
26
+ audit_description="duplicate transaction",
27
+ transaction_id="issuerTransaction123",
28
+ ),
29
+ )
30
+ ],
31
+ )
32
+ """
33
+
34
+ data: typing.List[CreateAuditRequestDataUnion]
35
+
36
+ if IS_PYDANTIC_V2:
37
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
38
+ else:
39
+
40
+ class Config:
41
+ frozen = True
42
+ smart_union = True
43
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
7
+ import pydantic
8
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
+ from .audit_attributes import AuditAttributes
10
+
11
+
12
+ class CreateAuditRequestDataUnion_Audit(UniversalBaseModel):
13
+ type: typing.Literal["audit"] = "audit"
14
+ attributes: AuditAttributes
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
24
+
25
+
26
+ CreateAuditRequestDataUnion = CreateAuditRequestDataUnion_Audit
@@ -0,0 +1,41 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .create_audit_response_data_union import CreateAuditResponseDataUnion
8
+
9
+
10
+ class CreateAuditResponseBody(UniversalBaseModel):
11
+ """
12
+ Examples
13
+ --------
14
+ from kard.transactions import (
15
+ AuditResponseAttributes,
16
+ CreateAuditResponseBody,
17
+ CreateAuditResponseDataUnion_Audit,
18
+ )
19
+
20
+ CreateAuditResponseBody(
21
+ data=[
22
+ CreateAuditResponseDataUnion_Audit(
23
+ id="d80a6f28-1b24-4d65-9e42-e1cf3379bc98",
24
+ attributes=AuditResponseAttributes(
25
+ transaction_id="issuerTransaction123",
26
+ ),
27
+ )
28
+ ],
29
+ )
30
+ """
31
+
32
+ data: typing.List[CreateAuditResponseDataUnion]
33
+
34
+ if IS_PYDANTIC_V2:
35
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
36
+ else:
37
+
38
+ class Config:
39
+ frozen = True
40
+ smart_union = True
41
+ extra = pydantic.Extra.allow
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
7
+ import pydantic
8
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
+ from .audit_response_attributes import AuditResponseAttributes
10
+
11
+
12
+ class CreateAuditResponseDataUnion_Audit(UniversalBaseModel):
13
+ type: typing.Literal["audit"] = "audit"
14
+ id: str
15
+ attributes: AuditResponseAttributes
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
25
+
26
+
27
+ CreateAuditResponseDataUnion = CreateAuditResponseDataUnion_Audit
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ DirectionType = typing.Union[typing.Literal["DEBIT", "CREDIT"], typing.Any]
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
+ from ...core.serialization import FieldMetadata
9
+
10
+
11
+ class FraudulentTransactionAttributes(UniversalBaseModel):
12
+ user_id: typing_extensions.Annotated[str, FieldMetadata(alias="userId")] = pydantic.Field()
13
+ """
14
+ User ID the transaction belongs to
15
+ """
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .fraudulent_transaction_attributes import FraudulentTransactionAttributes
8
+
9
+
10
+ class FraudulentTransactionData(UniversalBaseModel):
11
+ id: str = pydantic.Field()
12
+ """
13
+ transactionId of the fraudulent transaction
14
+ """
15
+
16
+ type: str = pydantic.Field()
17
+ """
18
+ only value allowed is "fraudulentTransaction"
19
+ """
20
+
21
+ attributes: FraudulentTransactionAttributes
22
+
23
+ if IS_PYDANTIC_V2:
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
25
+ else:
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
@@ -0,0 +1,42 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .fraudulent_transaction_data import FraudulentTransactionData
8
+
9
+
10
+ class FraudulentTransactionObject(UniversalBaseModel):
11
+ """
12
+ Examples
13
+ --------
14
+ from kard.transactions import (
15
+ FraudulentTransactionAttributes,
16
+ FraudulentTransactionData,
17
+ FraudulentTransactionObject,
18
+ )
19
+
20
+ FraudulentTransactionObject(
21
+ data=[
22
+ FraudulentTransactionData(
23
+ type="fraudulentTransaction",
24
+ id="myTxnId123",
25
+ attributes=FraudulentTransactionAttributes(
26
+ user_id="user123",
27
+ ),
28
+ )
29
+ ],
30
+ )
31
+ """
32
+
33
+ data: typing.List[FraudulentTransactionData]
34
+
35
+ if IS_PYDANTIC_V2:
36
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
37
+ else:
38
+
39
+ class Config:
40
+ frozen = True
41
+ smart_union = True
42
+ extra = pydantic.Extra.allow
@@ -0,0 +1,45 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .fraudulent_transaction_data import FraudulentTransactionData
8
+
9
+
10
+ class FraudulentTransactionRequestBody(UniversalBaseModel):
11
+ """
12
+ Examples
13
+ --------
14
+ from kard.transactions import (
15
+ FraudulentTransactionAttributes,
16
+ FraudulentTransactionData,
17
+ FraudulentTransactionRequestBody,
18
+ )
19
+
20
+ FraudulentTransactionRequestBody(
21
+ data=[
22
+ FraudulentTransactionData(
23
+ id="myTxnId12345",
24
+ type="fraudulentTransaction",
25
+ attributes=FraudulentTransactionAttributes(
26
+ user_id="userId123",
27
+ ),
28
+ )
29
+ ],
30
+ )
31
+ """
32
+
33
+ data: typing.List[FraudulentTransactionData] = pydantic.Field()
34
+ """
35
+ List of fraudulent transactions to report
36
+ """
37
+
38
+ if IS_PYDANTIC_V2:
39
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
40
+ else:
41
+
42
+ class Config:
43
+ frozen = True
44
+ smart_union = True
45
+ extra = pydantic.Extra.allow