Skip to main content

Python bindings for the Vipps API

Project description

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

Project details


Release history Release notifications | RSS feed

This version

0.1

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

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.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page