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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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