@@ -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
5056def 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
5763def 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
6470def _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
7379def 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
8187def 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
94100def 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
103109def 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
112118def 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
127133class 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
183189def 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
212218def 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
249255def 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
279285def 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
286292def as_tools (self :Fewsats ):
287293 "Return list of available tools for AI agents"
0 commit comments