gr4vy 1.1.29__py3-none-any.whl → 1.10.9__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 (219) hide show
  1. gr4vy/_version.py +3 -3
  2. gr4vy/account_updater.py +6 -3
  3. gr4vy/actions.py +307 -0
  4. gr4vy/all.py +4 -2
  5. gr4vy/audit_logs.py +6 -4
  6. gr4vy/balances.py +4 -2
  7. gr4vy/basesdk.py +17 -1
  8. gr4vy/buyers_gift_cards.py +4 -2
  9. gr4vy/buyers_payment_methods.py +4 -2
  10. gr4vy/buyers_sdk.py +43 -25
  11. gr4vy/buyers_shipping_details.py +26 -16
  12. gr4vy/card_scheme_definitions_sdk.py +4 -2
  13. gr4vy/checkout_sessions.py +40 -14
  14. gr4vy/digital_wallets_sdk.py +32 -20
  15. gr4vy/domains.py +14 -10
  16. gr4vy/errors/__init__.py +15 -3
  17. gr4vy/errors/apierror.py +2 -0
  18. gr4vy/errors/error400.py +4 -6
  19. gr4vy/errors/error401.py +4 -6
  20. gr4vy/errors/error403.py +4 -6
  21. gr4vy/errors/error404.py +4 -6
  22. gr4vy/errors/error405.py +4 -6
  23. gr4vy/errors/error409.py +4 -6
  24. gr4vy/errors/error425.py +4 -6
  25. gr4vy/errors/error429.py +4 -6
  26. gr4vy/errors/error500.py +4 -6
  27. gr4vy/errors/error502.py +4 -6
  28. gr4vy/errors/error504.py +4 -6
  29. gr4vy/errors/gr4vyerror.py +11 -7
  30. gr4vy/errors/httpvalidationerror.py +4 -2
  31. gr4vy/errors/no_response_error.py +5 -1
  32. gr4vy/errors/responsevalidationerror.py +2 -0
  33. gr4vy/events.py +54 -7
  34. gr4vy/executions.py +38 -8
  35. gr4vy/gift_cards_sdk.py +29 -19
  36. gr4vy/httpclient.py +0 -1
  37. gr4vy/jobs.py +4 -2
  38. gr4vy/merchant_accounts_sdk.py +30 -10
  39. gr4vy/models/__init__.py +184 -30
  40. gr4vy/models/adyenautorescuesepascenariosenum.py +3 -1
  41. gr4vy/models/adyencardoptions.py +9 -6
  42. gr4vy/models/adyensepaoptions.py +1 -6
  43. gr4vy/models/adyensplitsoptions.py +57 -0
  44. gr4vy/models/airline.py +9 -8
  45. gr4vy/models/airlineleg.py +9 -7
  46. gr4vy/models/airlinepassenger.py +9 -7
  47. gr4vy/models/antifrauddecision.py +9 -1
  48. gr4vy/models/approvaltarget.py +7 -1
  49. gr4vy/models/auditlogaction.py +9 -1
  50. gr4vy/models/auditlogentry.py +3 -3
  51. gr4vy/models/auditlogentryuser.py +3 -3
  52. gr4vy/models/{billingdetails_input.py → billingdetails.py} +2 -2
  53. gr4vy/models/braintreedynamicdatafieldsoptions.py +33 -3
  54. gr4vy/models/browserinfo.py +9 -5
  55. gr4vy/models/buyer.py +3 -3
  56. gr4vy/models/buyercreate.py +3 -3
  57. gr4vy/models/buyerupdate.py +3 -3
  58. gr4vy/models/cancel_transactionop.py +43 -0
  59. gr4vy/models/cancelstatus.py +15 -0
  60. gr4vy/models/capturestatus.py +7 -1
  61. gr4vy/models/cardtype.py +8 -1
  62. gr4vy/models/cartitem.py +53 -8
  63. gr4vy/models/chaseoptions.py +46 -0
  64. gr4vy/models/checkoutsession.py +24 -3
  65. gr4vy/models/checkoutsessioncreate.py +39 -5
  66. gr4vy/models/checkoutsessionpaymentmethod.py +3 -5
  67. gr4vy/models/checkoutsessionpaymentmethoddetails.py +2 -6
  68. gr4vy/models/create_payment_methodop.py +6 -0
  69. gr4vy/models/create_report_execution_urlop.py +16 -1
  70. gr4vy/models/createsession.py +3 -3
  71. gr4vy/models/createsessionstatus.py +7 -1
  72. gr4vy/models/cvvresponsecode.py +7 -1
  73. gr4vy/models/cybersourceoptions.py +7 -0
  74. gr4vy/models/definitionfield.py +1 -6
  75. gr4vy/models/definitionfieldformat.py +8 -1
  76. gr4vy/models/digitalwallet.py +3 -5
  77. gr4vy/models/digitalwalletcreate.py +2 -6
  78. gr4vy/models/digitalwalletprovider.py +6 -1
  79. gr4vy/models/dlocalupioptions.py +50 -0
  80. gr4vy/models/dlocalupirecurringinfooptions.py +47 -0
  81. gr4vy/models/dlocalupiwalletoptions.py +89 -0
  82. gr4vy/models/errordetail.py +2 -4
  83. gr4vy/models/errorlocation.py +8 -1
  84. gr4vy/models/flow.py +16 -0
  85. gr4vy/models/flowaction.py +16 -0
  86. gr4vy/models/forterantifraudoptions.py +8 -8
  87. gr4vy/models/forterantifraudoptionscartitembasicitemdata.py +10 -8
  88. gr4vy/models/forterantifraudoptionscartitemdeliverydetails.py +9 -7
  89. gr4vy/models/giftcardredemption.py +4 -8
  90. gr4vy/models/giftcardredemptionstatus.py +7 -1
  91. gr4vy/models/giftcardservice.py +3 -5
  92. gr4vy/models/giftcardserviceprovider.py +5 -1
  93. gr4vy/models/giftcardsummary.py +3 -5
  94. gr4vy/models/{guestbuyer_input.py → guestbuyer.py} +5 -5
  95. gr4vy/models/instrumenttype.py +1 -0
  96. gr4vy/models/integrationclient.py +16 -0
  97. gr4vy/models/internal/__init__.py +14 -1
  98. gr4vy/models/list_all_report_executionsop.py +2 -14
  99. gr4vy/models/list_audit_logsop.py +2 -10
  100. gr4vy/models/list_buyer_payment_methodsop.py +9 -4
  101. gr4vy/models/list_payment_methodsop.py +2 -14
  102. gr4vy/models/list_payment_servicesop.py +2 -8
  103. gr4vy/models/list_reportsop.py +2 -10
  104. gr4vy/models/list_transaction_actionsop.py +43 -0
  105. gr4vy/models/list_transaction_eventsop.py +12 -1
  106. gr4vy/models/list_transactionsop.py +14 -22
  107. gr4vy/models/merchantaccount.py +9 -5
  108. gr4vy/models/merchantaccountcreate.py +8 -6
  109. gr4vy/models/merchantaccountupdate.py +8 -6
  110. gr4vy/models/merchantprofilescheme.py +7 -7
  111. gr4vy/models/merchantprofileschemesummary.py +7 -7
  112. gr4vy/models/method.py +4 -0
  113. gr4vy/models/mockcardoptions.py +7 -2
  114. gr4vy/models/mode.py +1 -0
  115. gr4vy/models/monatospeioptions.py +15 -0
  116. gr4vy/models/networktoken.py +3 -3
  117. gr4vy/models/networktokenpaymentmethodcreate.py +11 -9
  118. gr4vy/models/networktokenstatus.py +7 -1
  119. gr4vy/models/nuveiidealoptions.py +49 -0
  120. gr4vy/models/nuveipseoptions.py +70 -0
  121. gr4vy/models/paymentlink.py +25 -7
  122. gr4vy/models/paymentlinkcreate.py +23 -28
  123. gr4vy/models/paymentlinkstatus.py +7 -1
  124. gr4vy/models/paymentmethod.py +7 -13
  125. gr4vy/models/paymentmethodcard.py +3 -5
  126. gr4vy/models/paymentmethoddetailscard.py +2 -6
  127. gr4vy/models/paymentmethodstatus.py +7 -1
  128. gr4vy/models/paymentmethodsummary.py +6 -12
  129. gr4vy/models/paymentoption.py +3 -3
  130. gr4vy/models/paymentservice.py +4 -6
  131. gr4vy/models/paymentserviceconfiguration.py +2 -6
  132. gr4vy/models/paymentservicedefinition.py +11 -5
  133. gr4vy/models/paymentservicestatus.py +8 -1
  134. gr4vy/models/paymentservicetoken.py +3 -3
  135. gr4vy/models/payoutcategory.py +1 -1
  136. gr4vy/models/payoutcreate.py +5 -9
  137. gr4vy/models/payoutstatus.py +7 -1
  138. gr4vy/models/payoutsummary.py +4 -6
  139. gr4vy/models/paypaloptions.py +8 -2
  140. gr4vy/models/paypalshippingoptions.py +51 -0
  141. gr4vy/models/paypalshippingoptionsitem.py +89 -0
  142. gr4vy/models/paypalshippingoptionsitemamount.py +20 -0
  143. gr4vy/models/plaidpaymentmethodcreate.py +106 -0
  144. gr4vy/models/redirectpaymentmethodcreate.py +4 -6
  145. gr4vy/models/refund.py +4 -4
  146. gr4vy/models/refundstatus.py +8 -1
  147. gr4vy/models/refundtargettype.py +5 -1
  148. gr4vy/models/report.py +4 -6
  149. gr4vy/models/reportcreate.py +2 -3
  150. gr4vy/models/reportcreatortype.py +7 -1
  151. gr4vy/models/reportexecution.py +3 -3
  152. gr4vy/models/reportexecutionstatus.py +7 -1
  153. gr4vy/models/reportexecutionsummary.py +3 -3
  154. gr4vy/models/reportexecutionurlgenerate.py +16 -0
  155. gr4vy/models/reportschedule.py +9 -1
  156. gr4vy/models/reportspec.py +2 -4
  157. gr4vy/models/reportsummary.py +3 -5
  158. gr4vy/models/settlement.py +32 -32
  159. gr4vy/models/statementdescriptor.py +7 -0
  160. gr4vy/models/stripeconnectoptions.py +7 -0
  161. gr4vy/models/taxid.py +2 -4
  162. gr4vy/models/taxidkind.py +7 -0
  163. gr4vy/models/threedsecuredatav1.py +2 -6
  164. gr4vy/models/threedsecuredatav2.py +2 -6
  165. gr4vy/models/threedsecuremethod.py +7 -1
  166. gr4vy/models/threedsecurestatus.py +7 -1
  167. gr4vy/models/transaction.py +86 -25
  168. gr4vy/models/transactionaction.py +48 -0
  169. gr4vy/models/transactionactions.py +17 -0
  170. gr4vy/models/transactionbuyer.py +3 -3
  171. gr4vy/models/transactioncancel.py +81 -0
  172. gr4vy/models/transactioncapture.py +3 -3
  173. gr4vy/models/transactionconnectionoptions.py +50 -0
  174. gr4vy/models/transactioncreate.py +76 -12
  175. gr4vy/models/transactionevent.py +10 -3
  176. gr4vy/models/transactionintent.py +7 -1
  177. gr4vy/models/transactionintentoutcome.py +6 -1
  178. gr4vy/models/transactionpaymentmethod.py +6 -12
  179. gr4vy/models/transactionpaymentservice.py +3 -3
  180. gr4vy/models/transactionpaymentsource.py +7 -1
  181. gr4vy/models/transactionrefundcreate.py +2 -6
  182. gr4vy/models/transactionsummary.py +11 -10
  183. gr4vy/models/transactionthreedsecuresummary.py +3 -9
  184. gr4vy/models/transactionvoid.py +3 -3
  185. gr4vy/models/userstatus.py +8 -1
  186. gr4vy/models/voidstatus.py +7 -1
  187. gr4vy/network_tokens_cryptogram.py +4 -2
  188. gr4vy/payment_links_sdk.py +36 -16
  189. gr4vy/payment_methods_network_tokens.py +27 -13
  190. gr4vy/payment_methods_payment_service_tokens.py +12 -6
  191. gr4vy/payment_methods_sdk.py +26 -14
  192. gr4vy/payment_options_sdk.py +4 -2
  193. gr4vy/payment_service_definitions_sdk.py +14 -8
  194. gr4vy/payment_services_sdk.py +36 -22
  195. gr4vy/payouts.py +18 -12
  196. gr4vy/refunds_sdk.py +4 -2
  197. gr4vy/report_executions_sdk.py +6 -4
  198. gr4vy/reports_sdk.py +23 -13
  199. gr4vy/sdk.py +17 -4
  200. gr4vy/sessions.py +12 -6
  201. gr4vy/transactions.py +446 -33
  202. gr4vy/transactions_refunds.py +17 -9
  203. gr4vy/transactions_settlements.py +8 -4
  204. gr4vy/types/basemodel.py +41 -3
  205. gr4vy/utils/__init__.py +15 -6
  206. gr4vy/utils/annotations.py +32 -8
  207. gr4vy/utils/enums.py +60 -0
  208. gr4vy/utils/eventstreaming.py +10 -0
  209. gr4vy/utils/forms.py +21 -10
  210. gr4vy/utils/queryparams.py +14 -2
  211. gr4vy/utils/requestbodies.py +1 -1
  212. gr4vy/utils/retries.py +69 -5
  213. gr4vy/utils/serializers.py +0 -20
  214. gr4vy/utils/unmarshal_json_response.py +15 -1
  215. {gr4vy-1.1.29.dist-info → gr4vy-1.10.9.dist-info}/METADATA +43 -41
  216. {gr4vy-1.1.29.dist-info → gr4vy-1.10.9.dist-info}/RECORD +217 -196
  217. {gr4vy-1.1.29.dist-info → gr4vy-1.10.9.dist-info}/WHEEL +1 -1
  218. gr4vy/models/billingdetails_output.py +0 -87
  219. gr4vy/models/guestbuyer_output.py +0 -80
gr4vy/utils/retries.py CHANGED
@@ -3,7 +3,9 @@
3
3
  import asyncio
4
4
  import random
5
5
  import time
6
- from typing import List
6
+ from datetime import datetime
7
+ from email.utils import parsedate_to_datetime
8
+ from typing import List, Optional
7
9
 
8
10
  import httpx
9
11
 
@@ -51,9 +53,11 @@ class Retries:
51
53
 
52
54
  class TemporaryError(Exception):
53
55
  response: httpx.Response
56
+ retry_after: Optional[int]
54
57
 
55
58
  def __init__(self, response: httpx.Response):
56
59
  self.response = response
60
+ self.retry_after = _parse_retry_after_header(response)
57
61
 
58
62
 
59
63
  class PermanentError(Exception):
@@ -63,6 +67,62 @@ class PermanentError(Exception):
63
67
  self.inner = inner
64
68
 
65
69
 
70
+ def _parse_retry_after_header(response: httpx.Response) -> Optional[int]:
71
+ """Parse Retry-After header from response.
72
+
73
+ Returns:
74
+ Retry interval in milliseconds, or None if header is missing or invalid.
75
+ """
76
+ retry_after_header = response.headers.get("retry-after")
77
+ if not retry_after_header:
78
+ return None
79
+
80
+ try:
81
+ seconds = float(retry_after_header)
82
+ return round(seconds * 1000)
83
+ except ValueError:
84
+ pass
85
+
86
+ try:
87
+ retry_date = parsedate_to_datetime(retry_after_header)
88
+ delta = (retry_date - datetime.now(retry_date.tzinfo)).total_seconds()
89
+ return round(max(0, delta) * 1000)
90
+ except (ValueError, TypeError):
91
+ pass
92
+
93
+ return None
94
+
95
+
96
+ def _get_sleep_interval(
97
+ exception: Exception,
98
+ initial_interval: int,
99
+ max_interval: int,
100
+ exponent: float,
101
+ retries: int,
102
+ ) -> float:
103
+ """Get sleep interval for retry with exponential backoff.
104
+
105
+ Args:
106
+ exception: The exception that triggered the retry.
107
+ initial_interval: Initial retry interval in milliseconds.
108
+ max_interval: Maximum retry interval in milliseconds.
109
+ exponent: Base for exponential backoff calculation.
110
+ retries: Current retry attempt count.
111
+
112
+ Returns:
113
+ Sleep interval in seconds.
114
+ """
115
+ if (
116
+ isinstance(exception, TemporaryError)
117
+ and exception.retry_after is not None
118
+ and exception.retry_after > 0
119
+ ):
120
+ return exception.retry_after / 1000
121
+
122
+ sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
123
+ return min(sleep, max_interval / 1000)
124
+
125
+
66
126
  def retry(func, retries: Retries):
67
127
  if retries.config.strategy == "backoff":
68
128
 
@@ -183,8 +243,10 @@ def retry_with_backoff(
183
243
  return exception.response
184
244
 
185
245
  raise
186
- sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
187
- sleep = min(sleep, max_interval / 1000)
246
+
247
+ sleep = _get_sleep_interval(
248
+ exception, initial_interval, max_interval, exponent, retries
249
+ )
188
250
  time.sleep(sleep)
189
251
  retries += 1
190
252
 
@@ -211,7 +273,9 @@ async def retry_with_backoff_async(
211
273
  return exception.response
212
274
 
213
275
  raise
214
- sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
215
- sleep = min(sleep, max_interval / 1000)
276
+
277
+ sleep = _get_sleep_interval(
278
+ exception, initial_interval, max_interval, exponent, retries
279
+ )
216
280
  await asyncio.sleep(sleep)
217
281
  retries += 1
@@ -102,26 +102,6 @@ def validate_int(b):
102
102
  return int(b)
103
103
 
104
104
 
105
- def validate_open_enum(is_int: bool):
106
- def validate(e):
107
- if e is None:
108
- return None
109
-
110
- if isinstance(e, Unset):
111
- return e
112
-
113
- if is_int:
114
- if not isinstance(e, int):
115
- raise ValueError("Expected int")
116
- else:
117
- if not isinstance(e, str):
118
- raise ValueError("Expected string")
119
-
120
- return e
121
-
122
- return validate
123
-
124
-
125
105
  def validate_const(v):
126
106
  def validate(c):
127
107
  # Optional[T] is a Union[T, None]
@@ -1,12 +1,26 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
- from typing import Any, Optional
3
+ from typing import Any, Optional, Type, TypeVar, overload
4
4
 
5
5
  import httpx
6
6
 
7
7
  from .serializers import unmarshal_json
8
8
  from gr4vy import errors
9
9
 
10
+ T = TypeVar("T")
11
+
12
+
13
+ @overload
14
+ def unmarshal_json_response(
15
+ typ: Type[T], http_res: httpx.Response, body: Optional[str] = None
16
+ ) -> T: ...
17
+
18
+
19
+ @overload
20
+ def unmarshal_json_response(
21
+ typ: Any, http_res: httpx.Response, body: Optional[str] = None
22
+ ) -> Any: ...
23
+
10
24
 
11
25
  def unmarshal_json_response(
12
26
  typ: Any, http_res: httpx.Response, body: Optional[str] = None
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: gr4vy
3
- Version: 1.1.29
3
+ Version: 1.10.9
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
5
  Author: Gr4vy
6
6
  Requires-Python: >=3.9.2
@@ -9,8 +9,9 @@ Classifier: Programming Language :: Python :: 3.10
9
9
  Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Classifier: Programming Language :: Python :: 3.13
12
+ Classifier: Programming Language :: Python :: 3.14
12
13
  Requires-Dist: PyJWT (>=2.10.1,<3.0.0)
13
- Requires-Dist: cryptography (>=43.0.0,<44.0.0)
14
+ Requires-Dist: cryptography (>=45.0.7,<46.0.0)
14
15
  Requires-Dist: httpcore (>=1.0.9)
15
16
  Requires-Dist: httpx (>=0.28.1)
16
17
  Requires-Dist: jsonpath-python (>=1.0.6)
@@ -319,18 +320,15 @@ except ValueError as error:
319
320
  <details open>
320
321
  <summary>Available methods</summary>
321
322
 
322
- ### [account_updater](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/accountupdater/README.md)
323
-
324
-
325
- #### [account_updater.jobs](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/jobs/README.md)
323
+ ### [AccountUpdater.Jobs](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/jobs/README.md)
326
324
 
327
325
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/jobs/README.md#create) - Create account updater job
328
326
 
329
- ### [audit_logs](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/auditlogs/README.md)
327
+ ### [AuditLogs](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/auditlogs/README.md)
330
328
 
331
329
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/auditlogs/README.md#list) - List audit log entries
332
330
 
333
- ### [buyers](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerssdk/README.md)
331
+ ### [Buyers](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerssdk/README.md)
334
332
 
335
333
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerssdk/README.md#list) - List all buyers
336
334
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerssdk/README.md#create) - Add a buyer
@@ -338,15 +336,15 @@ except ValueError as error:
338
336
  * [update](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerssdk/README.md#update) - Update a buyer
339
337
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerssdk/README.md#delete) - Delete a buyer
340
338
 
341
- #### [buyers.gift_cards](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersgiftcards/README.md)
339
+ #### [Buyers.GiftCards](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersgiftcards/README.md)
342
340
 
343
341
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersgiftcards/README.md#list) - List gift cards for a buyer
344
342
 
345
- #### [buyers.payment_methods](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerspaymentmethods/README.md)
343
+ #### [Buyers.PaymentMethods](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerspaymentmethods/README.md)
346
344
 
347
345
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyerspaymentmethods/README.md#list) - List payment methods for a buyer
348
346
 
349
- #### [buyers.shipping_details](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersshippingdetails/README.md)
347
+ #### [Buyers.ShippingDetails](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersshippingdetails/README.md)
350
348
 
351
349
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersshippingdetails/README.md#create) - Add buyer shipping details
352
350
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersshippingdetails/README.md#list) - List a buyer's shipping details
@@ -354,18 +352,18 @@ except ValueError as error:
354
352
  * [update](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersshippingdetails/README.md#update) - Update a buyer's shipping details
355
353
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/buyersshippingdetails/README.md#delete) - Delete a buyer's shipping details
356
354
 
357
- ### [card_scheme_definitions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/cardschemedefinitionssdk/README.md)
355
+ ### [CardSchemeDefinitions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/cardschemedefinitionssdk/README.md)
358
356
 
359
357
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/cardschemedefinitionssdk/README.md#list) - List card scheme definitions
360
358
 
361
- ### [checkout_sessions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/checkoutsessions/README.md)
359
+ ### [CheckoutSessions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/checkoutsessions/README.md)
362
360
 
363
361
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/checkoutsessions/README.md#create) - Create checkout session
364
362
  * [update](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/checkoutsessions/README.md#update) - Update checkout session
365
363
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/checkoutsessions/README.md#get) - Get checkout session
366
364
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/checkoutsessions/README.md#delete) - Delete checkout session
367
365
 
368
- ### [digital_wallets](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/digitalwalletssdk/README.md)
366
+ ### [DigitalWallets](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/digitalwalletssdk/README.md)
369
367
 
370
368
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/digitalwalletssdk/README.md#create) - Register digital wallet
371
369
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/digitalwalletssdk/README.md#list) - List digital wallets
@@ -373,51 +371,50 @@ except ValueError as error:
373
371
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/digitalwalletssdk/README.md#delete) - Delete digital wallet
374
372
  * [update](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/digitalwalletssdk/README.md#update) - Update digital wallet
375
373
 
376
- #### [digital_wallets.domains](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/domains/README.md)
374
+ #### [DigitalWallets.Domains](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/domains/README.md)
377
375
 
378
376
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/domains/README.md#create) - Register a digital wallet domain
379
377
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/domains/README.md#delete) - Remove a digital wallet domain
380
378
 
381
- #### [digital_wallets.sessions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/sessions/README.md)
379
+ #### [DigitalWallets.Sessions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/sessions/README.md)
382
380
 
383
381
  * [google_pay](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/sessions/README.md#google_pay) - Create a Google Pay session
384
382
  * [apple_pay](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/sessions/README.md#apple_pay) - Create a Apple Pay session
385
383
  * [click_to_pay](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/sessions/README.md#click_to_pay) - Create a Click to Pay session
386
384
 
387
- ### [gift_cards](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/giftcardssdk/README.md)
385
+ ### [GiftCards](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/giftcardssdk/README.md)
388
386
 
389
387
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/giftcardssdk/README.md#get) - Get gift card
390
388
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/giftcardssdk/README.md#delete) - Delete a gift card
391
389
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/giftcardssdk/README.md#create) - Create gift card
392
390
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/giftcardssdk/README.md#list) - List gift cards
393
391
 
394
- #### [gift_cards.balances](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/balances/README.md)
392
+ #### [GiftCards.Balances](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/balances/README.md)
395
393
 
396
394
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/balances/README.md#list) - List gift card balances
397
395
 
398
-
399
- ### [merchant_accounts](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/merchantaccountssdk/README.md)
396
+ ### [MerchantAccounts](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/merchantaccountssdk/README.md)
400
397
 
401
398
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/merchantaccountssdk/README.md#list) - List all merchant accounts
402
399
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/merchantaccountssdk/README.md#create) - Create a merchant account
403
400
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/merchantaccountssdk/README.md#get) - Get a merchant account
404
401
  * [update](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/merchantaccountssdk/README.md#update) - Update a merchant account
405
402
 
406
- ### [payment_links](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentlinkssdk/README.md)
403
+ ### [PaymentLinks](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentlinkssdk/README.md)
407
404
 
408
405
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentlinkssdk/README.md#create) - Add a payment link
409
406
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentlinkssdk/README.md#list) - List all payment links
410
407
  * [expire](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentlinkssdk/README.md#expire) - Expire a payment link
411
408
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentlinkssdk/README.md#get) - Get payment link
412
409
 
413
- ### [payment_methods](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodssdk/README.md)
410
+ ### [PaymentMethods](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodssdk/README.md)
414
411
 
415
412
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodssdk/README.md#list) - List all payment methods
416
413
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodssdk/README.md#create) - Create payment method
417
414
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodssdk/README.md#get) - Get payment method
418
415
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodssdk/README.md#delete) - Delete payment method
419
416
 
420
- #### [payment_methods.network_tokens](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodsnetworktokens/README.md)
417
+ #### [PaymentMethods.NetworkTokens](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodsnetworktokens/README.md)
421
418
 
422
419
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodsnetworktokens/README.md#list) - List network tokens
423
420
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodsnetworktokens/README.md#create) - Provision network token
@@ -425,27 +422,27 @@ except ValueError as error:
425
422
  * [resume](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodsnetworktokens/README.md#resume) - Resume network token
426
423
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodsnetworktokens/README.md#delete) - Delete network token
427
424
 
428
- #### [payment_methods.network_tokens.cryptogram](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/networktokenscryptogram/README.md)
425
+ ##### [PaymentMethods.NetworkTokens.Cryptogram](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/networktokenscryptogram/README.md)
429
426
 
430
427
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/networktokenscryptogram/README.md#create) - Provision network token cryptogram
431
428
 
432
- #### [payment_methods.payment_service_tokens](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodspaymentservicetokens/README.md)
429
+ #### [PaymentMethods.PaymentServiceTokens](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodspaymentservicetokens/README.md)
433
430
 
434
431
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodspaymentservicetokens/README.md#list) - List payment service tokens
435
432
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodspaymentservicetokens/README.md#create) - Create payment service token
436
433
  * [delete](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentmethodspaymentservicetokens/README.md#delete) - Delete payment service token
437
434
 
438
- ### [payment_options](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentoptionssdk/README.md)
435
+ ### [PaymentOptions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentoptionssdk/README.md)
439
436
 
440
437
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentoptionssdk/README.md#list) - List payment options
441
438
 
442
- ### [payment_service_definitions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicedefinitionssdk/README.md)
439
+ ### [PaymentServiceDefinitions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicedefinitionssdk/README.md)
443
440
 
444
441
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicedefinitionssdk/README.md#list) - List payment service definitions
445
442
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicedefinitionssdk/README.md#get) - Get a payment service definition
446
443
  * [session](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicedefinitionssdk/README.md#session) - Create a session for a payment service definition
447
444
 
448
- ### [payment_services](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicessdk/README.md)
445
+ ### [PaymentServices](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicessdk/README.md)
449
446
 
450
447
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicessdk/README.md#list) - List payment services
451
448
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicessdk/README.md#create) - Update a configured payment service
@@ -455,34 +452,34 @@ except ValueError as error:
455
452
  * [verify](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicessdk/README.md#verify) - Verify payment service credentials
456
453
  * [session](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/paymentservicessdk/README.md#session) - Create a session for a payment service definition
457
454
 
458
- ### [payouts](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/payouts/README.md)
455
+ ### [Payouts](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/payouts/README.md)
459
456
 
460
457
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/payouts/README.md#list) - List payouts created
461
458
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/payouts/README.md#create) - Create a payout
462
459
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/payouts/README.md#get) - Get a payout
463
460
 
464
- ### [refunds](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/refundssdk/README.md)
461
+ ### [Refunds](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/refundssdk/README.md)
465
462
 
466
463
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/refundssdk/README.md#get) - Get refund
467
464
 
468
- ### [report_executions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportexecutionssdk/README.md)
465
+ ### [ReportExecutions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportexecutionssdk/README.md)
469
466
 
470
467
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportexecutionssdk/README.md#list) - List executed reports
471
468
 
472
- ### [reports](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportssdk/README.md)
469
+ ### [Reports](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportssdk/README.md)
473
470
 
474
471
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportssdk/README.md#list) - List configured reports
475
472
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportssdk/README.md#create) - Add a report
476
473
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportssdk/README.md#get) - Get a report
477
474
  * [put](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/reportssdk/README.md#put) - Update a report
478
475
 
479
- #### [reports.executions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/executions/README.md)
476
+ #### [Reports.Executions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/executions/README.md)
480
477
 
481
478
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/executions/README.md#list) - List executions for report
482
479
  * [url](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/executions/README.md#url) - Create URL for executed report
483
480
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/executions/README.md#get) - Get executed report
484
481
 
485
- ### [transactions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md)
482
+ ### [Transactions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md)
486
483
 
487
484
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md#list) - List transactions
488
485
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md#create) - Create transaction
@@ -490,23 +487,28 @@ except ValueError as error:
490
487
  * [update](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md#update) - Manually update a transaction
491
488
  * [capture](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md#capture) - Capture transaction
492
489
  * [void](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md#void) - Void transaction
490
+ * [cancel](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md#cancel) - Cancel transaction
493
491
  * [sync](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactions/README.md#sync) - Sync transaction
494
492
 
495
- #### [transactions.events](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/events/README.md)
493
+ #### [Transactions.Actions](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/actions/README.md)
494
+
495
+ * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/actions/README.md#list) - List transaction Flow rules
496
+
497
+ #### [Transactions.Events](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/events/README.md)
496
498
 
497
499
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/events/README.md#list) - List transaction events
498
500
 
499
- #### [transactions.refunds](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionsrefunds/README.md)
501
+ #### [Transactions.Refunds](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionsrefunds/README.md)
500
502
 
501
503
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionsrefunds/README.md#list) - List transaction refunds
502
504
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionsrefunds/README.md#create) - Create transaction refund
503
505
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionsrefunds/README.md#get) - Get transaction refund
504
506
 
505
- #### [transactions.refunds.all](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/all/README.md)
507
+ ##### [Transactions.Refunds.All](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/all/README.md)
506
508
 
507
509
  * [create](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/all/README.md#create) - Create batch transaction refund
508
510
 
509
- #### [transactions.settlements](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionssettlements/README.md)
511
+ #### [Transactions.Settlements](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionssettlements/README.md)
510
512
 
511
513
  * [get](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionssettlements/README.md#get) - Get transaction settlement
512
514
  * [list](https://github.com/gr4vy/gr4vy-python/blob/master/docs/sdks/transactionssettlements/README.md#list) - List transaction settlements
@@ -751,8 +753,8 @@ import os
751
753
 
752
754
 
753
755
  with Gr4vy(
754
- server="production",
755
- id="<id>"
756
+ server="sandbox",
757
+ id="example",
756
758
  merchant_account_id="default",
757
759
  bearer_auth=os.getenv("GR4VY_BEARER_AUTH", ""),
758
760
  ) as g_client: