Skip to content

Commit 58117aa

Browse files
authored
Merge pull request #3 from Fewsats/billing-info
Add billing info call
2 parents 6cf52eb + 09a5f0a commit 58117aa

File tree

6 files changed

+161
-137
lines changed

6 files changed

+161
-137
lines changed

fewsats/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.0.18"
1+
__version__ = "0.0.19"

fewsats/_modidx.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
'fewsats.core.Fewsats.add_webhook': ('core.html#fewsats.add_webhook', 'fewsats/core.py'),
1313
'fewsats.core.Fewsats.as_tools': ('core.html#fewsats.as_tools', 'fewsats/core.py'),
1414
'fewsats.core.Fewsats.balance': ('core.html#fewsats.balance', 'fewsats/core.py'),
15+
'fewsats.core.Fewsats.billing_info': ('core.html#fewsats.billing_info', 'fewsats/core.py'),
1516
'fewsats.core.Fewsats.create_offers': ('core.html#fewsats.create_offers', 'fewsats/core.py'),
1617
'fewsats.core.Fewsats.get_payment_details': ('core.html#fewsats.get_payment_details', 'fewsats/core.py'),
1718
'fewsats.core.Fewsats.get_payment_status': ('core.html#fewsats.get_payment_status', 'fewsats/core.py'),

fewsats/core.py

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,27 @@ def me(self: Fewsats):
4545
return self._request("GET", "v0/users/me")
4646

4747

48-
# %% ../nbs/00_core.ipynb 15
48+
# %% ../nbs/00_core.ipynb 14
49+
@patch
50+
def billing_info(self: Fewsats):
51+
"Retrieve the user's billing info."
52+
return self._request("GET", "v0/users/me/billing-info")
53+
54+
# %% ../nbs/00_core.ipynb 17
4955
@patch
5056
def balance(self: Fewsats):
5157
"Retrieve the balance of the user's wallet. Amounts are always in USD cents."
5258
return self._request("GET", "v0/wallets")
5359

5460

55-
# %% ../nbs/00_core.ipynb 18
61+
# %% ../nbs/00_core.ipynb 20
5662
@patch
5763
def payment_methods(self: Fewsats) -> List[Dict[str, Any]]:
5864
"Retrieve the user's payment methods, raises an exception for error status codes."
5965
return self._request("GET", "v0/stripe/payment-methods")
6066

6167

62-
# %% ../nbs/00_core.ipynb 22
68+
# %% ../nbs/00_core.ipynb 24
6369
@patch
6470
def _preview_payment(self: Fewsats,
6571
amount: str): # The amount in USD cents
@@ -68,15 +74,15 @@ def _preview_payment(self: Fewsats,
6874
return self._request("POST", "v0/l402/preview/purchase/amount", json={"amount_usd": amount})
6975

7076

71-
# %% ../nbs/00_core.ipynb 25
77+
# %% ../nbs/00_core.ipynb 27
7278
@patch
7379
def create_offers(self:Fewsats,
7480
offers:List[Dict[str,Any]], # List of offer objects following OfferCreateV0 schema
7581
) -> dict:
7682
"Create offers for L402 payment server"
7783
return self._request("POST", "v0/l402/offers", json={"offers": offers})
7884

79-
# %% ../nbs/00_core.ipynb 28
85+
# %% ../nbs/00_core.ipynb 30
8086
@patch
8187
def get_payment_details(self:Fewsats,
8288
payment_request_url:str, # The payment request URL
@@ -89,7 +95,7 @@ def get_payment_details(self:Fewsats,
8995
return httpx.post(payment_request_url, json=data)
9096

9197

92-
# %% ../nbs/00_core.ipynb 31
98+
# %% ../nbs/00_core.ipynb 33
9399
@patch
94100
def get_payment_status(self:Fewsats,
95101
payment_context_token:str, # The payment context token
@@ -98,7 +104,7 @@ def get_payment_status(self:Fewsats,
98104
Vendors should use this to check if anyone has paid for their offer associated with the token."""
99105
return self._request("GET", f"v0/l402/payment-status?payment_context_token={payment_context_token}")
100106

101-
# %% ../nbs/00_core.ipynb 34
107+
# %% ../nbs/00_core.ipynb 36
102108
@patch
103109
def add_webhook(self:Fewsats,
104110
webhook_url:str,
@@ -107,7 +113,7 @@ def add_webhook(self:Fewsats,
107113
The webhook will be triggered for every successful payment."""
108114
return self._request("POST", f"v0/users/webhook/add", json={"webhook_url": webhook_url})
109115

110-
# %% ../nbs/00_core.ipynb 37
116+
# %% ../nbs/00_core.ipynb 39
111117
@patch
112118
def pay_lightning(self: Fewsats,
113119
invoice: str, # lightning invoice
@@ -123,7 +129,7 @@ def pay_lightning(self: Fewsats,
123129
}
124130
return self._request("POST", "v0/l402/purchases/lightning", json=data)
125131

126-
# %% ../nbs/00_core.ipynb 40
132+
# %% ../nbs/00_core.ipynb 42
127133
class Offer(BasicRepr):
128134
"Represents a single L402 offer"
129135
def __init__(self,
@@ -178,7 +184,7 @@ def from_dict(cls, d: Dict[str, Any]) -> 'L402Offers':
178184
)
179185

180186

181-
# %% ../nbs/00_core.ipynb 44
187+
# %% ../nbs/00_core.ipynb 46
182188
@patch
183189
def pay_offer(self:Fewsats,
184190
offer_id : str, # the offer id to pay for
@@ -207,7 +213,7 @@ def pay_offer(self:Fewsats,
207213
return self._request("POST", "v0/l402/purchases/from-offer", json=data)
208214

209215

210-
# %% ../nbs/00_core.ipynb 47
216+
# %% ../nbs/00_core.ipynb 49
211217
@patch
212218
def pay_offer_str(self:Fewsats,
213219
offer_id : str, # the offer id to pay for
@@ -219,7 +225,7 @@ def pay_offer_str(self:Fewsats,
219225
{
220226
'offers': [
221227
{
222-
'offer_id': 'test_offer_2', # String identifier for the offer
228+
'id': 'test_offer_2', # String identifier for the offer
223229
'amount': 1, # Numeric cost value
224230
'currency': 'usd', # Currency code
225231
'description': 'Test offer', # Text description
@@ -244,7 +250,7 @@ def pay_offer_str(self:Fewsats,
244250

245251
return self._request("POST", "v0/l402/purchases/from-offer", timeout=20, json=data)
246252

247-
# %% ../nbs/00_core.ipynb 50
253+
# %% ../nbs/00_core.ipynb 52
248254
@patch
249255
def pay_link(self:Fewsats,
250256
url: str, # URL to purchase from
@@ -274,14 +280,14 @@ def pay_link(self:Fewsats,
274280
}
275281
return self._request("POST", "v0/l402/purchases/from-link", json=data)
276282

277-
# %% ../nbs/00_core.ipynb 53
283+
# %% ../nbs/00_core.ipynb 55
278284
@patch
279285
def payment_info(self:Fewsats,
280286
pid:str): # purchase id
281287
"Retrieve the details of a payment."
282288
return self._request("GET", f"v0/l402/outgoing-payments/{pid}")
283289

284-
# %% ../nbs/00_core.ipynb 56
290+
# %% ../nbs/00_core.ipynb 58
285291
@patch
286292
def as_tools(self:Fewsats):
287293
"Return list of available tools for AI agents"

0 commit comments

Comments
 (0)