Skip to content

djpg is a Django module that integrates with the online payment service PagSeguro (API v2).

License

Notifications You must be signed in to change notification settings

rafaelcanovas/djpg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

djpg

djpg is a Django module that integrates with the online payment service PagSeguro.

It will not touch your database neither alter your Django installation, djpg simply provides the machinery for you to send and receive requests from PagSeguro in a clean and pythonic way.

Installation

Simply run:

$ pip install djpg

After installing, the only configurations required are PAGSEGURO_EMAIL and PAGSEGURO_TOKEN. You should add them to your settings.py file. The first is your signup email from PagSeguro, the other is the token they'll give you when you have a seller account. For example:

PAGSEGURO_EMAIL = 'john@example.com'
PAGSEGURO_TOKEN = '78W52AQQ9Q8Q7D45S98AS8715SAQLEB1'

Usage

Creating a cart and redirecting the user

from djpg import Cart, Item

def my_checkout_view(request):
    cart = Cart(reference='myref123', redirect_url='https://mysite.com/')
    item = Item(id=1, amount=19.50, description='Cool T-shirts!', quantity=2)
    cart.add_item(item)

    code = cart.checkout()
    if code:
        # This will redirect the user to the checkout page,
        # where the cart can be paid.
        return cart.proceed(code)

Receiving notifications

The following snippet will ensure djpg receives notifications from PagSeguro and dispatch them to the respective signals.

urlpatterns += patterns('',
    url(r'^pagseguro/', include('djpg.urls'))
)

Keep in mind that this endpoint needs to be configured in your PagSeguro account also (e.g.: https://mysite.com/pagseguro/notifications/). Then you can connect listeners to the signals that are relevant to you.

from djpg.signals import transaction_paid

def on_paid(sender, **kwargs):
    transaction = kwargs.pop('transaction')
    ref = transaction['reference']
    status = transaction['status']
    # ...

transaction_paid.connect(on_paid)

The following signals are available:

  • notification_received
  • transaction_received
  • transaction_waiting
  • transaction_analysis
  • transaction_paid
  • transaction_available
  • transaction_dispute
  • transaction_returned
  • transaction_canceled
  • transaction_unknown

About

djpg is a Django module that integrates with the online payment service PagSeguro (API v2).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages