Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Adding support for the new Usage Billing APIs #1397

Merged
merged 991 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
991 commits
Select commit Hold shift + click to select a range
f71e259
Update generated code for v1031
stripe-openapi[bot] May 14, 2024
2aaff53
Update generated code for v1032
stripe-openapi[bot] May 14, 2024
5ce4e25
Update generated code for v1033
stripe-openapi[bot] May 14, 2024
c7591f9
Update generated code for v1034
stripe-openapi[bot] May 14, 2024
6f7357b
Update generated code for v1035
stripe-openapi[bot] May 14, 2024
78241a4
Update generated code for v1036
stripe-openapi[bot] May 14, 2024
d83ac9a
Update generated code for v1037
stripe-openapi[bot] May 15, 2024
7401a21
Update generated code for v1038
stripe-openapi[bot] May 15, 2024
1aebf6a
Update generated code for v1039
stripe-openapi[bot] May 16, 2024
3fa3cc5
Merge pull request #1327 from stripe/latest-codegen-beta
stripe-openapi[bot] May 16, 2024
7655026
Bump version to 9.8.0b1
prathmesh-stripe May 16, 2024
f2d779f
Merge upstream and update generated code for v1040
stripe-openapi[bot] May 17, 2024
e3743fb
Update generated code for v1041
stripe-openapi[bot] May 18, 2024
448aaee
Update generated code for v1042
stripe-openapi[bot] May 18, 2024
0242eae
Update generated code for v1044
stripe-openapi[bot] May 20, 2024
43b44bf
Update generated code for v1045
stripe-openapi[bot] May 21, 2024
471fb21
Update generated code for v1046
stripe-openapi[bot] May 22, 2024
3b91e90
Update generated code for v1047
stripe-openapi[bot] May 22, 2024
320bb94
Update generated code for v1048
stripe-openapi[bot] May 23, 2024
de5b7af
Merge pull request #1331 from stripe/latest-codegen-beta
stripe-openapi[bot] May 23, 2024
7990f66
Bump version to 9.9.0b1
prathmesh-stripe May 23, 2024
7c8e15c
Merge upstream and update generated code for v1048
stripe-openapi[bot] May 23, 2024
6c2bce9
Merge upstream and update generated code for v1048
stripe-openapi[bot] May 24, 2024
47be259
Update generated code for v1049
stripe-openapi[bot] May 25, 2024
681ab16
Update generated code for v1050
stripe-openapi[bot] May 28, 2024
6e2f939
Update generated code for v1051
stripe-openapi[bot] May 28, 2024
388f7ac
Update generated code for v1052
stripe-openapi[bot] May 28, 2024
dd1b73d
Update generated code for v1053
stripe-openapi[bot] May 29, 2024
ccb1572
Update generated code for v1054
stripe-openapi[bot] May 29, 2024
a4632c9
Update generated code for v1055
stripe-openapi[bot] May 29, 2024
2db8008
Merge upstream and update generated code for v1055
stripe-openapi[bot] May 29, 2024
b0ebc5a
Update generated code for v1056
stripe-openapi[bot] May 30, 2024
8658744
Update generated code for v1058
stripe-openapi[bot] May 30, 2024
a4a1a24
Merge pull request #1334 from stripe/latest-codegen-beta
stripe-openapi[bot] May 30, 2024
f150867
Bump version to 9.10.0b1
ramya-stripe May 30, 2024
bfe4c33
Merge upstream and update generated code for v1058
stripe-openapi[bot] May 30, 2024
9ee626a
Update generated code for v1060
stripe-openapi[bot] Jun 3, 2024
8404658
Update generated code for v1061
stripe-openapi[bot] Jun 3, 2024
6d396f5
Update generated code for v1062
stripe-openapi[bot] Jun 5, 2024
c8aab6d
Update generated code for v1063
stripe-openapi[bot] Jun 6, 2024
f105e98
Update generated code for v1064
stripe-openapi[bot] Jun 6, 2024
3db112d
Update generated code for v1065
stripe-openapi[bot] Jun 6, 2024
e3f6bc6
Update generated code for v1065
stripe-openapi[bot] Jun 6, 2024
90949f6
Merge pull request #1339 from stripe/latest-codegen-beta
stripe-openapi[bot] Jun 6, 2024
e0f0fc5
Bump version to 9.11.0b1
prathmesh-stripe Jun 6, 2024
95ab7d5
Merge upstream and update generated code for v1066
stripe-openapi[bot] Jun 6, 2024
72afc88
Update generated code for v1067
stripe-openapi[bot] Jun 7, 2024
6cdebf7
Update generated code for v1068
stripe-openapi[bot] Jun 7, 2024
bbae023
Update generated code for v1069
stripe-openapi[bot] Jun 7, 2024
3e5ceb6
Update generated code for v1070
stripe-openapi[bot] Jun 7, 2024
cb0b225
Update generated code for v1071
stripe-openapi[bot] Jun 7, 2024
07a6254
Update generated code for v1072
stripe-openapi[bot] Jun 10, 2024
d454b3f
Update generated code for v1073
stripe-openapi[bot] Jun 10, 2024
9551dfa
Update generated code for v1076
stripe-openapi[bot] Jun 11, 2024
0e3f81f
Update generated code for v1077
stripe-openapi[bot] Jun 12, 2024
d532f81
Update generated code for v1077
stripe-openapi[bot] Jun 12, 2024
6b6c5df
Update generated code for v1077
stripe-openapi[bot] Jun 12, 2024
06bae8b
Update generated code for v1077
stripe-openapi[bot] Jun 12, 2024
76d63e9
Merge upstream and update generated code for v1077
stripe-openapi[bot] Jun 13, 2024
fa988a3
Merge pull request #1343 from stripe/latest-codegen-beta
stripe-openapi[bot] Jun 13, 2024
4a62cc3
Bump version to 9.12.0b1
ramya-stripe Jun 13, 2024
3fa4d3b
Update generated code for v1078
stripe-openapi[bot] Jun 13, 2024
672017b
Update generated code for v1079
stripe-openapi[bot] Jun 14, 2024
edc4654
Update generated code for v1080
stripe-openapi[bot] Jun 14, 2024
2d86d22
Update generated code for v1081
stripe-openapi[bot] Jun 14, 2024
4b1d783
Update generated code for v1082
stripe-openapi[bot] Jun 14, 2024
79a0a14
Update generated code for v1083
stripe-openapi[bot] Jun 15, 2024
9a3e69a
Merge upstream and update generated code for v1083
stripe-openapi[bot] Jun 17, 2024
52026c3
Update generated code for v1084
stripe-openapi[bot] Jun 18, 2024
aeee6d1
Update generated code for v1087
stripe-openapi[bot] Jun 18, 2024
1854563
Update generated code for v1088
stripe-openapi[bot] Jun 18, 2024
3db366c
Update generated code for v1091
stripe-openapi[bot] Jun 20, 2024
a247bfa
Update generated code for v1092
stripe-openapi[bot] Jun 21, 2024
83d538f
Update generated code for v1093
stripe-openapi[bot] Jun 21, 2024
e5cbd0a
Update generated code for v1094
stripe-openapi[bot] Jun 24, 2024
83020c0
Update generated code for v1095
stripe-openapi[bot] Jun 24, 2024
8b9fb4a
Update generated code for v1095
stripe-openapi[bot] Jun 24, 2024
e3e3ffe
Merge upstream and update generated code for v1095
stripe-openapi[bot] Jun 25, 2024
57d568c
Update generated code for v1096
stripe-openapi[bot] Jun 25, 2024
345499a
Update generated code for v1097
stripe-openapi[bot] Jun 25, 2024
02a9392
Update generated code for v1099
stripe-openapi[bot] Jun 25, 2024
7b08994
Update generated code for v1101
stripe-openapi[bot] Jun 26, 2024
bf12abe
Update generated code for v1102
stripe-openapi[bot] Jun 26, 2024
6f7a4a5
Update generated code for v1103
stripe-openapi[bot] Jun 27, 2024
018156a
Update generated code for v1104
stripe-openapi[bot] Jun 27, 2024
4dd3161
Merge upstream and update generated code for v1104
stripe-openapi[bot] Jun 27, 2024
ef5bf53
Merge pull request #1349 from stripe/latest-codegen-beta
stripe-openapi[bot] Jun 27, 2024
61b6c61
Bump version to 10.2.0b1
ramya-stripe Jun 27, 2024
0e27dfe
Update generated code for v1105
stripe-openapi[bot] Jun 28, 2024
c211233
Update generated code for v1106
stripe-openapi[bot] Jun 28, 2024
42fb43e
Update generated code for v1107
stripe-openapi[bot] Jul 1, 2024
d08a92a
Update generated code for v1108
stripe-openapi[bot] Jul 1, 2024
48bddd5
Update generated code for v1110
stripe-openapi[bot] Jul 2, 2024
c70da2c
Update generated code for v1112
stripe-openapi[bot] Jul 3, 2024
a0e4a82
Update generated code for v1113
stripe-openapi[bot] Jul 3, 2024
608e490
Update generated code for v1114
stripe-openapi[bot] Jul 3, 2024
29feb90
Update generated code for v1115
stripe-openapi[bot] Jul 3, 2024
6e30322
Update generated code for v1116
stripe-openapi[bot] Jul 5, 2024
827758d
Merge pull request #1355 from stripe/latest-codegen-beta
stripe-openapi[bot] Jul 5, 2024
5e81dca
Bump version to 10.3.0b1
prathmesh-stripe Jul 5, 2024
0addf29
Merge upstream and update generated code for v1116
stripe-openapi[bot] Jul 5, 2024
150ded9
Merge upstream and update generated code for v1117
stripe-openapi[bot] Jul 8, 2024
155da6f
Update generated code for v1120
stripe-openapi[bot] Jul 8, 2024
3d0ec8a
Update generated code for v1121
stripe-openapi[bot] Jul 9, 2024
925ca3b
Update generated code for v1122
stripe-openapi[bot] Jul 10, 2024
ebfacc7
Update generated code for v1124
stripe-openapi[bot] Jul 11, 2024
be24b05
Merge pull request #1356 from stripe/latest-codegen-beta
stripe-openapi[bot] Jul 11, 2024
9c75962
Bump version to 10.4.0b1
xavdid-stripe Jul 11, 2024
ffa6b84
Merge upstream and update generated code for v1125
stripe-openapi[bot] Jul 12, 2024
2bd110f
Update generated code for v1126
stripe-openapi[bot] Jul 12, 2024
2460cf3
Update generated code for v1127
stripe-openapi[bot] Jul 12, 2024
4cc4760
Update generated code for v1128
stripe-openapi[bot] Jul 12, 2024
3f6d0d0
Update generated code for v1129
stripe-openapi[bot] Jul 15, 2024
fcefeea
Update generated code for v1130
stripe-openapi[bot] Jul 16, 2024
34bdc7e
Update generated code for v1131
stripe-openapi[bot] Jul 16, 2024
f03d574
Update generated code for v1132
stripe-openapi[bot] Jul 17, 2024
d83b2d8
Update generated code for v1134
stripe-openapi[bot] Jul 17, 2024
f834b0d
Update generated code for v1135
stripe-openapi[bot] Jul 17, 2024
67ab6cd
Update generated code for v1136
stripe-openapi[bot] Jul 18, 2024
af98c89
Merge upstream and update generated code for v1137
stripe-openapi[bot] Jul 18, 2024
8fe00b7
Update generated code for v1137
stripe-openapi[bot] Jul 19, 2024
1c9f61f
Update generated code for v1138
stripe-openapi[bot] Jul 22, 2024
34b0138
Update generated code for v1140
stripe-openapi[bot] Jul 22, 2024
3445513
Update generated code for v1141
stripe-openapi[bot] Jul 22, 2024
e9c4874
Update generated code for v1142
stripe-openapi[bot] Jul 22, 2024
99db42c
Update generated code for v1144
stripe-openapi[bot] Jul 23, 2024
4e8083a
Update generated code for v1145
stripe-openapi[bot] Jul 23, 2024
7211adc
Update generated code for v1146
stripe-openapi[bot] Jul 23, 2024
e2b603a
Update generated code for v1147
stripe-openapi[bot] Jul 23, 2024
daa5f5f
Update generated code for v1148
stripe-openapi[bot] Jul 23, 2024
f690949
Update generated code for v1149
stripe-openapi[bot] Jul 24, 2024
07be143
Update generated code for v1150
stripe-openapi[bot] Jul 24, 2024
67b3a81
Update generated code for v1150
stripe-openapi[bot] Jul 24, 2024
121d3d1
Update generated code for v1151
stripe-openapi[bot] Jul 25, 2024
fe9f696
Update generated code for v1152
stripe-openapi[bot] Jul 25, 2024
aec8d93
Update generated code for v1153
stripe-openapi[bot] Jul 25, 2024
f0783cb
Update generated code for v1154
stripe-openapi[bot] Jul 25, 2024
1944c58
Merge upstream and update generated code for v1155
stripe-openapi[bot] Jul 25, 2024
bff178a
Merge upstream and update generated code for v1156
stripe-openapi[bot] Jul 25, 2024
94284fc
Update generated code for v1157
stripe-openapi[bot] Jul 25, 2024
e624b27
Merge pull request #1361 from stripe/latest-codegen-beta
stripe-openapi[bot] Jul 25, 2024
9642179
Bump version to 10.6.0b1
helenye-stripe Jul 25, 2024
338307f
Update generated code for v1158
stripe-openapi[bot] Jul 25, 2024
d74c314
Update generated code for v1159
stripe-openapi[bot] Jul 25, 2024
b8ad28b
Update generated code for v1161
stripe-openapi[bot] Jul 30, 2024
402d8ad
Update generated code for v1162
stripe-openapi[bot] Jul 30, 2024
fe88720
Update generated code for v1163
stripe-openapi[bot] Jul 30, 2024
8aa5d7d
Update generated code for v1164
stripe-openapi[bot] Jul 31, 2024
465a7af
Update generated code for v1165
stripe-openapi[bot] Jul 31, 2024
24fd389
Update generated code for v1166
stripe-openapi[bot] Jul 31, 2024
58ea509
Update generated code for v1167
stripe-openapi[bot] Jul 31, 2024
090f8db
Update generated code for v1169
stripe-openapi[bot] Aug 1, 2024
7b70f16
Merge upstream and update generated code for v1169
stripe-openapi[bot] Aug 1, 2024
56b6f13
Merge pull request #1370 from stripe/latest-codegen-beta
stripe-openapi[bot] Aug 1, 2024
666bf86
Bump version to 10.7.0b1
prathmesh-stripe Aug 1, 2024
743210a
Update generated code for v1170
stripe-openapi[bot] Aug 1, 2024
3556c8c
Update generated code for v1171
stripe-openapi[bot] Aug 2, 2024
30efed7
Update generated code for v1172
stripe-openapi[bot] Aug 2, 2024
c4bf63a
Update generated code for v1173
stripe-openapi[bot] Aug 2, 2024
82a3320
Update generated code for v1174
stripe-openapi[bot] Aug 2, 2024
738a80a
Update generated code for v1175
stripe-openapi[bot] Aug 5, 2024
0885bb1
Update generated code for v1176
stripe-openapi[bot] Aug 5, 2024
17fe60a
Update generated code for v1177
stripe-openapi[bot] Aug 5, 2024
70b4b9d
Update generated code for v1179
stripe-openapi[bot] Aug 6, 2024
06c9a8c
Update generated code for v1180
stripe-openapi[bot] Aug 6, 2024
9f76faf
Update generated code for v1181
stripe-openapi[bot] Aug 6, 2024
f070afb
Update generated code for v1182
stripe-openapi[bot] Aug 6, 2024
f7d2dfa
Update generated code for v1183
stripe-openapi[bot] Aug 7, 2024
48f3378
Update generated code for v1184
stripe-openapi[bot] Aug 7, 2024
1e5a318
Update generated code for v1186
stripe-openapi[bot] Aug 7, 2024
09594dd
Update generated code for v1188
stripe-openapi[bot] Aug 8, 2024
d395df0
Update generated code for v1189
stripe-openapi[bot] Aug 8, 2024
f324095
Merge upstream and update generated code for v1190
stripe-openapi[bot] Aug 9, 2024
6e31bd1
Update generated code for v1191
stripe-openapi[bot] Aug 9, 2024
802b87b
Update generated code for v1192
stripe-openapi[bot] Aug 9, 2024
9dd9a3b
Update generated code for v1193
stripe-openapi[bot] Aug 9, 2024
eca8c79
Update generated code for v1194
stripe-openapi[bot] Aug 12, 2024
9e3db40
Update generated code for v1195
stripe-openapi[bot] Aug 12, 2024
d6a4514
Update generated code for v1196
stripe-openapi[bot] Aug 12, 2024
7173f90
Merge pull request #1372 from stripe/latest-codegen-beta
stripe-openapi[bot] Aug 12, 2024
7ecbe62
Bump version to 10.8.0b1
helenye-stripe Aug 12, 2024
16f3d8f
Update generated code for v1197
stripe-openapi[bot] Aug 13, 2024
406c892
Update generated code for v1198
stripe-openapi[bot] Aug 14, 2024
3d24482
Update generated code for v1199
stripe-openapi[bot] Aug 14, 2024
d7a4608
Update generated code for v1200
stripe-openapi[bot] Aug 14, 2024
d94ad20
Update generated code for v1201
stripe-openapi[bot] Aug 15, 2024
60c27d2
Merge pull request #1375 from stripe/latest-codegen-beta
stripe-openapi[bot] Aug 15, 2024
1bd1b7d
Bump version to 10.9.0b1
helenye-stripe Aug 15, 2024
0990772
Update generated code for beta (#1377)
stripe-openapi[bot] Aug 22, 2024
4b36e41
Bump version to 10.9.0b2
xavdid-stripe Aug 22, 2024
9c46614
Merge upstream and update generated code for v1215
stripe-openapi[bot] Aug 23, 2024
a315f74
Merge upstream and update generated code for v1216
stripe-openapi[bot] Aug 26, 2024
1a7a182
Update generated code for v1218
stripe-openapi[bot] Aug 26, 2024
8675970
Update generated code for v1219
stripe-openapi[bot] Aug 27, 2024
59b8f3d
Update generated code for v1220
stripe-openapi[bot] Aug 27, 2024
4aceb97
Update generated code for v1222
stripe-openapi[bot] Aug 27, 2024
a87c44d
Merge upstream and update generated code for v1224
stripe-openapi[bot] Aug 28, 2024
b9ff520
Update generated code for v1225
stripe-openapi[bot] Aug 28, 2024
8a5279d
Update generated code for v1226
stripe-openapi[bot] Aug 28, 2024
b4054fc
Merge pull request #1380 from stripe/latest-codegen-beta
stripe-openapi[bot] Aug 28, 2024
3f821c3
Merge from master after the changes to not pass api_mode from individ…
ramya-stripe Aug 29, 2024
710a305
Merge changes from stripe/stripe-python master
ramya-stripe Aug 30, 2024
e0938b1
Merge pull request #1386 from stripe/ramya/merge-python-beta
ramya-stripe Aug 30, 2024
7bae5ce
Update generated code for v1235
stripe-openapi[bot] Aug 30, 2024
214e7a2
Update generated code for v1236
stripe-openapi[bot] Aug 30, 2024
cbb5a9d
Update generated code for v1238
stripe-openapi[bot] Aug 30, 2024
0f5add6
Update generated code for v1243
stripe-openapi[bot] Sep 4, 2024
f25faa9
Update generated code for v1244
stripe-openapi[bot] Sep 4, 2024
6df6daf
Update generated code for v1244
stripe-openapi[bot] Sep 4, 2024
9289aeb
Update generated code for v1245
stripe-openapi[bot] Sep 4, 2024
146cbf4
Update generated code for v1246
stripe-openapi[bot] Sep 5, 2024
be9ed01
Update generated code for v1247
stripe-openapi[bot] Sep 5, 2024
937c4b3
Merge upstream and update generated code for v1247
stripe-openapi[bot] Sep 5, 2024
c2ec10c
Merge pull request #1387 from stripe/latest-codegen-beta
stripe-openapi[bot] Sep 5, 2024
63489ea
Bump version to 10.11.0b1
ramya-stripe Sep 5, 2024
02184ee
moved raw_request, raw_request_async, and deserialize from stripe __i…
jar-stripe Sep 5, 2024
e84a867
Merge branch 'beta' into jar/rawrequest-client-only
jar-stripe Sep 6, 2024
29b5180
removed api_key, stripe_version, and stripe_account args from deseria…
jar-stripe Sep 6, 2024
39b0fc2
Merge remote-tracking branch 'refs/remotes/origin/jar/rawrequest-clie…
jar-stripe Sep 6, 2024
6d2884f
removed _preview and associated test
jar-stripe Sep 6, 2024
a69aa46
deleted _raw_request.py and copied method bodies into _stripe_client,…
jar-stripe Sep 9, 2024
f38f7c0
fixed client creation in test_integration, removed use of MOCK_API_KE…
jar-stripe Sep 10, 2024
939557c
Support new Usage Billing APIs
ramya-stripe Sep 24, 2024
d14909f
Merge remote-tracking branch 'origin' into next-major-infra
ramya-stripe Sep 24, 2024
603ca49
fix tests
xavdid-stripe Sep 25, 2024
1919d72
Pull changes from latest spec
ramya-stripe Sep 25, 2024
85018b3
Update generated code for 2024-09-30 release
ramya-stripe Sep 25, 2024
be86266
Pull latest proto, V2 suffix is now gone from MeterEvent & MeterEvent…
ramya-stripe Sep 25, 2024
721c89d
Merge branch 'sdk-release/next-major' into next-major-infra
ramya-stripe Sep 25, 2024
8bf2cf9
preview version not needed anymore
ramya-stripe Sep 25, 2024
a821898
Merge branch 'next-major-infra' of github.com:stripe/stripe-python in…
jar-stripe Sep 25, 2024
8365f94
added examples and a new example template, and instructions on how to…
jar-stripe Sep 25, 2024
cd3558e
Revert "Merge branch 'sdk-release/next-major' into next-major-infra"
ramya-stripe Sep 25, 2024
57784ec
preview version not needed anymore
ramya-stripe Sep 25, 2024
9f99fd1
add ThinEvent class (stripe-python-next#641)
xavdid-stripe Sep 25, 2024
21ff423
Merge branch 'next-major-infra' into jar/rawrequest-client-only
jar-stripe Sep 25, 2024
9ee84e8
Merge pull request #1390 from stripe/jar/rawrequest-client-only
jar-stripe Sep 25, 2024
2e5e91f
Revert "Merge pull request #1390 from stripe/jar/rawrequest-client-only"
jar-stripe Sep 25, 2024
6fa52f6
just changes related to raw_request
jar-stripe Sep 25, 2024
170f025
moved requestor_options back to a local variable (no longer needed to…
jar-stripe Sep 25, 2024
47ef0a0
changed raw_request and raw_request_async to determine api mode from …
jar-stripe Sep 25, 2024
9467274
added stripe webhook handler example
jar-stripe Sep 26, 2024
65d0379
Merge branch 'next-major-infra' into jar/next-major-infra-with-rawreq…
jar-stripe Sep 26, 2024
ede92d8
fixed merge issue
jar-stripe Sep 26, 2024
f19da7c
deleted _raw_request.py and removed imports from __init__.py
jar-stripe Sep 26, 2024
9fedbd7
Merge pull request #1399 from stripe/jar/next-major-infra-with-rawreq…
jar-stripe Sep 26, 2024
e095fa9
Update API version
ramya-stripe Sep 26, 2024
5186ff2
Update generated code
ramya-stripe Sep 27, 2024
eb2c92b
Remove unused import
ramya-stripe Sep 27, 2024
91ffc94
Use the right class in isIsntance check in test_preview_request_post
ramya-stripe Sep 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Running an example

From the examples folder, run:
`PYTHONPATH=../ python your_example.py`

## Adding a new example

1. Clone new_example.py
2. Implement your example
3. Run it (as per above)
4. 👍
44 changes: 44 additions & 0 deletions examples/meter_event_stream.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
from datetime import datetime, timezone
import stripe

# Global variable for the meter event session
meter_event_session = None


def refresh_meter_event_session(api_key):
global meter_event_session

# Check if the session is None or expired
if meter_event_session is None or datetime.fromisoformat(
meter_event_session["expires_at"]
) <= datetime.now(timezone.utc):
# Create a new meter event session if the existing session has expired
client = stripe.StripeClient(api_key)
meter_event_session = client.v2.billing.meter_event_session.create()


def send_meter_event(meter_event, api_key):
# Refresh the meter event session if necessary
refresh_meter_event_session(api_key)
if not meter_event_session:
raise RuntimeError("Unable to refresh meter event session")

# Create a meter event with the current session's authentication token
client = stripe.StripeClient(meter_event_session["authentication_token"])
client.v2.billing.meter_event_stream.create(
params={"events": [meter_event]}
)


# Set your API key here
api_key = "{{API_KEY}}"
customer_id = "{{CUSTOMER_ID}}"

# Send meter event
send_meter_event(
{
"event_name": "alpaca_ai_tokens",
"payload": {"stripe_customer_id": customer_id, "value": "25"},
},
api_key,
)
8 changes: 8 additions & 0 deletions examples/new_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import stripe

# Set your API key here
api_key = "{{API_KEY}}"

print("Hello world")
# client = stripe.StripeClient(api_key)
# client.v2....
40 changes: 40 additions & 0 deletions examples/stripe_webhook_handler.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import os
from stripe import StripeClient
from stripe.events import V1BillingMeterErrorReportTriggeredEvent

from flask import Flask, request, jsonify

app = Flask(__name__)
api_key = os.environ.get("STRIPE_API_KEY")
webhook_secret = os.environ.get("WEBHOOK_SECRET")

client = StripeClient(api_key)


@app.route("/webhook", methods=["POST"])
def webhook():
webhook_body = request.data
sig_header = request.headers.get("Stripe-Signature")

try:
thin_event = client.parse_thin_event(
webhook_body, sig_header, webhook_secret
)

# Fetch the event data to understand the failure
event = client.v2.core.events.retrieve(thin_event.id)
if isinstance(event, V1BillingMeterErrorReportTriggeredEvent):
# CHECK: fetch_object is present and callable, returning a strongly-typed object (without casting)
meter = event.fetch_related_object()
meter_id = meter.id

# Record the failures and alert your team
# Add your logic here

return jsonify(success=True), 200
except Exception as e:
return jsonify(error=str(e)), 400


if __name__ == "__main__":
app.run(port=4242)
54 changes: 51 additions & 3 deletions stripe/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from typing import Optional
import sys as _sys
import os
import warnings

# Stripe Python bindings
# API docs at http://stripe.com/docs/api
Expand All @@ -25,29 +26,70 @@
DEFAULT_API_BASE: str = "https://api.stripe.com"
DEFAULT_CONNECT_API_BASE: str = "https://connect.stripe.com"
DEFAULT_UPLOAD_API_BASE: str = "https://files.stripe.com"
DEFAULT_METER_EVENTS_API_BASE: str = "https://meter-events.stripe.com"


api_key: Optional[str] = None
client_id: Optional[str] = None
api_base: str = DEFAULT_API_BASE
connect_api_base: str = DEFAULT_CONNECT_API_BASE
upload_api_base: str = DEFAULT_UPLOAD_API_BASE
meter_events_api_base: str = DEFAULT_METER_EVENTS_API_BASE
api_version: str = _ApiVersion.CURRENT
verify_ssl_certs: bool = True
proxy: Optional[str] = None
default_http_client: Optional["HTTPClient"] = None
app_info: Optional[AppInfo] = None
enable_telemetry: bool = True
max_network_retries: int = 0
max_network_retries: int = 2
ca_bundle_path: str = os.path.join(
os.path.dirname(__file__), "data", "ca-certificates.crt"
)

# Lazily initialized stripe.default_http_client
default_http_client = None
_default_proxy = None


def ensure_default_http_client():
if default_http_client:
_warn_if_mismatched_proxy()
return
_init_default_http_client()


def _init_default_http_client():
global _default_proxy
global default_http_client

# If the stripe.default_http_client has not been set by the user
# yet, we'll set it here. This way, we aren't creating a new
# HttpClient for every request.
default_http_client = new_default_http_client(
verify_ssl_certs=verify_ssl_certs, proxy=proxy
)
_default_proxy = proxy


def _warn_if_mismatched_proxy():
global _default_proxy
from stripe import proxy

if proxy != _default_proxy:
warnings.warn(
"stripe.proxy was updated after sending a "
"request - this is a no-op. To use a different proxy, "
"set stripe.default_http_client to a new client "
"configured with the proxy."
)


# Set to either 'debug' or 'info', controls console logging
log: Optional[Literal["debug", "info"]] = None

# OAuth
from stripe._oauth import OAuth as OAuth
from stripe._oauth_service import OAuthService as OAuthService

# Webhooks
from stripe._webhook import (
Expand All @@ -58,6 +100,8 @@
# StripeClient
from stripe._stripe_client import StripeClient as StripeClient # noqa

from stripe.v2._event import ThinEvent as ThinEvent # noqa


# Sets some basic information about the running application that's sent along
# with API requests. Useful for plugin authors to identify their plugin when
Expand Down Expand Up @@ -180,8 +224,6 @@ def set_app_info(
from stripe import _request_metrics as request_metrics
from stripe._file import File as FileUpload

import warnings

# Python 3.7+ supports module level __getattr__ that allows us to lazy load deprecated modules
# this matters because if we pre-load all modules from api_resources while suppressing warning
# users will never see those warnings
Expand Down Expand Up @@ -218,6 +260,7 @@ def __getattr__(name):
checkout as checkout,
climate as climate,
entitlements as entitlements,
events as events,
financial_connections as financial_connections,
forwarding as forwarding,
identity as identity,
Expand All @@ -229,6 +272,7 @@ def __getattr__(name):
terminal as terminal,
test_helpers as test_helpers,
treasury as treasury,
v2 as v2,
)
from stripe._account import Account as Account
from stripe._account_capability_service import (
Expand Down Expand Up @@ -355,6 +399,9 @@ def __getattr__(name):
from stripe._ephemeral_key_service import (
EphemeralKeyService as EphemeralKeyService,
)
from stripe._error import (
TemporarySessionExpiredError as TemporarySessionExpiredError,
)
from stripe._event import Event as Event
from stripe._event_service import EventService as EventService
from stripe._exchange_rate import ExchangeRate as ExchangeRate
Expand Down Expand Up @@ -529,6 +576,7 @@ def __getattr__(name):
from stripe._usage_record_summary import (
UsageRecordSummary as UsageRecordSummary,
)
from stripe._v2_services import V2Services as V2Services
from stripe._webhook_endpoint import WebhookEndpoint as WebhookEndpoint
from stripe._webhook_endpoint_service import (
WebhookEndpointService as WebhookEndpointService,
Expand Down
2 changes: 1 addition & 1 deletion stripe/_api_mode.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing_extensions import Literal


ApiMode = Literal["V1"]
ApiMode = Literal["V1", "V2"]
Loading
Loading