Skip to content

AlanBogarin/pagopar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pagopar

Client to consume pagopar.com REST API, created based on official documentation.

Asynchronous Python wrapper for the Pagopar API, designed for efficiency and type safety.

Installation

pip install pagopar

Configuration

You can configure the application by passing your credentials directly or by using environment variables.

Environment Variables

Set the following environment variables:

  • PAGOPAR_PRIVATE_TOKEN
  • PAGOPAR_PUBLIC_TOKEN

Manual Initialization

from pagopar import initialize_app app = initialize_app( private_token="your_private_token", public_token="your_public_token" )

Usage Examples

Initialize Application

import asyncio from pagopar import initialize_app, close_app # Initialize with environment variables or pass tokens here app = initialize_app() async def main(): # Your logic here await close_app() if __name__ == "__main__": asyncio.run(main())

Create a Transaction

Generate a payment link for a user.

import datetime from pagopar import checkout, _enums async def create_order(): # Define items item = checkout.Item( name="Product Name", description="Product Description", price=150000, quantity=1, total_price=150000, product_id=123, image_url="https://example.com/image.png" ) # Start transaction transaction = await checkout.start_transaction( commerce_order_id="ORDER-001", items=[item], amount=150000, payment_type=_enums.PaymentType.PAGO_EXPRESS, max_payment_date=datetime.datetime.now() + datetime.timedelta(days=1), buyer_name="John Doe", buyer_email="john.doe@example.com", buyer_phone="0981123456", buyer_document="1234567", buyer_document_type=_enums.DocumentType.CI ) # Get checkout URL url = checkout.pagopar_checkout_url(transaction.order_id) print(f"Checkout URL: {url}")

Check Payment Status

Validate if a payment notification is authentic.

from pagopar import checkout def validate_pagopar_notification(notification_token: str, order_id: str) -> bool: return checkout.check_pagopar_payment(notification_token, order_id)

Get Order Details

Retrieve the current status of an order.

async def check_order_status(order_hash: str): order = await checkout.get_order(order_hash) print(f"Order Status: {'Paid' if order.paid else 'Pending'}")

Modules

  • checkout: Transaction initialization, payment link generation, and order status checking.
  • courier: Integration with shipping providers (AEX, Mobi) and freight calculation.
  • login: Pagopar Login / Registration linking flow.
  • payment: Recurring payments and tokenized card management.
  • subs: Subscription notifications parsing.
  • sync: Product and inventory synchronization with Pagopar.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages