Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Python implementation of Transbank's Webpay protocol.

Project Description

Attention: Beta not ready for production

Python implementation of Transbank’s Webpay protocol.

Installation

pip install tbk

Usage

Set environment variable for Commerce and initialize.

os.environ['TBK_COMMERCE_ID'] = "597026007976"
os.environ['TBK_COMMERCE_KEY'] = "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAn3HzPC1ZBzCO3edUCf/XJiwj3bzJpjjTi/zBO9O+DDzZCaMp...""

from tbk.webpay.commerce import Commerce

commerce = Commerce.create_commerce()
# for development purposes you can use
# commerce = Commerce(testing=True)

If you want to set the official webpay log (for certification issues):

from tbk.webpay.logging import configure_logger
from tbk.webpay.logging.official import WebpayOfficialHandler

configure_logger(WebpayOfficialHandler(LOG_BASE_PATH))

Create a new payment and redirect user.

from tbk.webpay.payment import Payment

payment = Payment(
    request_ip='123.123.123.123',
    commerce=commerce,
    success_url='http://localhost:8080/webpay/success/',
    confirmation_url='http://127.0.0.1:8080/webpay/confirmation/',
    failure_url='http://localhost:8080/webpay/failure/',
    session_id='SOME_SESSION_VALUE',
    amount=123456,
    order_id=1,
)
payment.redirect_url

Then to confirm payment, use an endpoint with:

from tbk.webpay.confirmation import Confirmation

def confirmation(request):
    conf = Confirmation(
        commerce=commerce,
        request_ip=request.ip_address,
        data=request.POST
    )

    # validate_confirmation validate if order_id and amount are valid.
    if conf.is_success() and validate_confirmation(conf) and not conf.is_timeout():
        return HttpResponse(commerce.acknowledge)

    return HttpResponse(commerce.reject)

About webpay communication protocol: http://sagmor.com/rants/technical/webpay-communication-protocol/

Release History

Release History

This version
History Node

0.2.0

History Node

0.1.1

History Node

0.1.0

History Node

0.0.4

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
tbk-0.2.0.tar.gz (16.3 kB) Copy SHA256 Checksum SHA256 Source Nov 24, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting