Skip to main content

Vipps Python Library

The Unofficial* Vipps Python library provides convenient access to the Vipps AS API from applications written in the Python language.

Currently Supports:

Documentation

See the Vipps Developers resources

Installation

pip install vipps

Requirements

Test on Python3.7

  • Python 3.7
  • requests 2+

Usage

Vipps eCommerce API version 2. Initiate payment and get redirect Url:

from vipps import VippsEcomApi


payment = VippsEcomApi(
    client_id="fb492b5e-7907-4d83-ba20-c7fb60ca35de",
    client_secret="Y8Kteew6GE2ZmeycEt6egg==",
    vipps_subscription_key="0f14ebcab0ec4b29ae0cb90d91b4a84a",
    merchant_serial_number="123456",
    vipps_server="https://apitest.vipps.no",
    callback_prefix="https://example.com/vipps/callbacks-for-payment-updates"
    fall_back="https://example.com/vipps/fallback-order-result-page/acme-shop-123-order123abc"
)

# Initiate payment
initiate = payment.init_payment(
    order_id="acme-shop-123-order123abc",
    amount=200,
    transaction_text="One pair of Vipps socks",
)

# Redirect Url
redirect_url = initiate.get("url")

# Capture Payment
capture = payment.capture_payment(
    order_id="acme-shop-123-order123abc",
    amount=200,
    transaction_text="One pair of Vipps socks",
)

# Cancel Payment
cancel = payment.cancel_payment(
    order_id="acme-shop-123-order123abc",
    transaction_text="One pair of Vipps socks",
)

# Refund Payment
refund = payment.refund_payment(
    order_id="acme-shop-123-order123abc",
    amount=200,
    transaction_text="One pair of Vipps socks",
)

# Payment details
details = payment.details_payment(
    order_id="acme-shop-123-order123abc"
)

*Unofficial

I am not affiliate or associate of the Vipps AS in any possible way. Used publicly available info to build this software.

Create PyPI package

  1. Docs:
  • packaging.python.org
  • I'l do it in docker:
  • touch Dockerfile
  • nano Dockerfile
    # Dockerfile
    FROM python:latest
    
    RUN apt update
    
    ENV PYTHONDONTWRITEBYTECODE 1
    
    ENV PYTHONUNBUFFERED 1
    
    RUN pip install --upgrade pip    
    
  • docker build -t ipy .
  • docker run -it -v ${PWD}:/home --name py ipy bash
  1. Setup:
  • mkdir /home/vipps-python
  • cd /home/vipps-python
  • mkdir vipps
  • mkdir tests
  • touch vipps/__init__.py
  • touch LICENSE
  • touch README.md
  • touch pyproject.toml
  • touch setup.cfg
  • touch setup.py
  • nano pyproject.toml
    # pyproject.toml
    [build-system]
    requires = [
        "setuptools>=42",
        "wheel"
    ]
    build-backend = "setuptools.build_meta"
    
  • nano setup.cfg
    # setup.cfg
    [metadata]
    name = vipps
    version = 0.3
    author = Almaz Kunpeissov
    author_email = hi@akun.dev
    description = Python bindings for the Vipps API
    long_description = file: README.md
    long_description_content_type = text/markdown
    url = https://github.com/almazkun/vipps-python
    keywords = vipps api payments
    license = MIT License
    license_files = LICENSE
    project_urls =
        Documentation = https://github.com/almazkun/vipps-python
        Source = https://github.com/almazkun/vipps-python
        Tracker = https://github.com/almazkun/vipps-python/issues
    classifiers =
        Development Status :: 2 - Pre-Alpha
        Intended Audience :: Developers
        Operating System :: OS Independent
        Programming Language :: Python :: 3 :: Only
        Programming Language :: Python :: 3.7
        Programming Language :: Python :: Implementation :: PyPy
        Topic :: Software Development :: Libraries :: Python Modules
    
    [options]
    packages = find:
    python_requires = >=3.7
    include_package_data = true
    zip_safe = false
    install_requires = requests >= 2
    
    [options.packages.find]
    exclude =
        tests
        tests.*
    
  • nano setup.py
    from setuptools import setup
    
    setup()
    
  1. Creating distribution archives
  • python3 -m pip install --upgrade build
  • python3 -m build
  1. Upload to Test.PyPI:
  • python3 -m pip install --user --upgrade twine
  • python3 -m twine upload --repository testpypi dist/*
  • username: token, password: your test PyPI token
  • curl https://test.pypi.org/project/vipps/0.1/
  1. Installing package:
  • python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps vipps
  • python3
  • import vipps
  1. Upload to the PyPI:
  • python3 -m twine upload dist/*
  • username: token, password: your PyPI token

Download files

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

Source Distribution

vipps-0.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vipps-0.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file vipps-0.1.tar.gz.

File metadata

  • Download URL: vipps-0.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for vipps-0.1.tar.gz
Algorithm Hash digest
SHA256 3ab738c70337fd1f352fdf5e505f818722d002ca680a443c3101cbd2ca98ffe9
MD5 43c76295dad7bd6d167452ac639c3711
BLAKE2b-256 590f9f863eb0b9a218233e6892a82ed623a0ca2a6d5ba5c2cfa48be597760241

See more details on using hashes here.

File details

Details for the file vipps-0.1-py3-none-any.whl.

File metadata

  • Download URL: vipps-0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for vipps-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c03434e37652ddc2f0fac46d5fb2edf00c83a098e7a64defd37c44cf235361fe
MD5 a17eca2fd7d3a0a3139f76159b5988b1
BLAKE2b-256 091b2bdaa415d9c3b6d21e58cdc0df73466acb15096572e97b245e3f67e28019

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page