transbank网页协议的python实现。

tbk的Python项目详细描述


注意:测试版尚未准备好生产

transbank网页协议的python实现。

Latest VersionDevelopment StatusBuild StatusCoverage StatusCode HealthDownloads

安装

pip install tbk

用法

为Commerce设置环境变量并初始化。

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)

如果要设置官方网页日志(用于认证问题):

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

configure_logger(WebpayOfficialHandler(LOG_BASE_PATH))

创建新付款并重定向用户。

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

然后要确认付款,请使用带有以下内容的端点:

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)

关于网页通信协议:http://sagmor.com/rants/technical/webpay-communication-protocol/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java未从Facebook OAuth接收名字、姓氏和姓氏   我自己代码中的java ConcurrentModificationException   java在Android上获得单像素TIFF图像   java图形输出中的swing集成弹出窗口“通知”   将数据库表中的所有数据集插入jTable Java   java如何使用Hibernate获取不完整的集合?   打印无法从java连接到打印机   java使用分隔符拆分带引号的字符串   java Axis2禁用严格验证(wsdl2java中的Eosv)允许什么,如何使其更加严格?   java有人能帮我处理循环代码吗   java将JsonObject数组转换为整数   JavaXWiki扩展:检测事件空间创建   java如何设置图表的文本方向以使用poi旋转所有文本?   eche RecyclerView项的java Set自定义字体   java单元测试带有私有构造函数的spring组件,无需注入   用户界面如何在java中动态显示一组多个元素?   如何从java应用程序调用IDL(交互式数据语言)?   Java的内置库实现