Skip to main content

SDK for WayForPay API

Project description

WayForPay API python implementation

version 0.0.1

Installation

    pip install wayforpay-python

or add wayforpay-python to requirements.txt

Project structure

wayforpaymodule.py

Made requests to WFP API

payments.py

Create objects for payment API section

invoice.py

Create objects for invoice API section

USAGE

Available methods sections

  • Payment methods
    • Payment form ( html )
    • Payment widget ( html )
    • Payment widget ( json obj )
  • Invoices
    • Create invoice
    • Edit invoice
    • Pause invoice
    • Resume invoice
    • Remove invoice

You can create objects to made requests by yourself or lett lib make requests and return json response object

Examples

Status invoice object

    from invoice import statusInvoiceObject
    account_data = {
        'merchant_account': 'XXXXXXXXXXXXXXXXXXXXXX',
        'merchant_password': 'XXXXXXXXXXXXXXXXXXXXXX',
    }
    order_reference = 'XXXXXXXXXXXXXXXXXXXXXXXXXX'
    print(statusInvoiceObject(
        accound_data,
        order_reference
    ))
    """
        {
            "requestType": "STATUS",
            "merchantAccount": 'XXXXXXXXXXXXXXXXXXXXXX',
            "merchantPassword": 'XXXXXXXXXXXXXXXXXXXXXX',
            "orderReference": 'XXXXXXXXXXXXXXXXXXXXXX',
        }
    """

Create widget json object

    from wayforpay import WayForPayAPI
    import calendar
    import time
    ts = calendar.timegm(time.gmtime())
    wp = WayForPayAPI(
            'XXXXXXXXXXXXX',
            'XXXXXXXXXXXXX',
            'XXXXXXXXXXXXX',
            'XXXXXXXXXXXXX'
    )
    names = ['value', 'value2']
    cost = ['1', '2']
    amount = ['1', '1']
    data = {
        'orderReference': ts,
        'orderDate': ts,
        'amount': '3',
        'currency': 'UAH',
        'productName': names,
        'productPrice': cost,
        'serviceUrl': 'http://127.0.0.1:8000/finish-order/',
        'returnUrl': 'http://127.0.0.1:8000/finish-order/',
        'productCount': amount,
        'straightWidget': True
    }
    print(wp.generateWidgetJson(data))
    """
        {
            'merchantAccount': 'XXXXXXXXXXXXX',
            'merchantDomainName': 'XXXXXXXXXXXXX',
            'merchantTransactionType': 'AUTO',
            'merchantTransactionSecureType': 'AUTO',
            'orderReference': '1234243234324',
            'orderDate': '1234243234324',
            'amount': '3',
            'authorizationType': 'SimpleSignature',
            'currency': 'USD',
            'productName':   ['value', 'value2'],
            'productPrice':  ['1', '2'],
            'productCount':  ['1', '1'],
            'merchantSignature': signature,
            'language': 'EN',
            'straightWidget': True
        }
    """

Create widget html script

    from wayforpay import WayForPayAPI
    import calendar
    import time
    ts = calendar.timegm(time.gmtime())
    wp = WayForPayAPI(
            'XXXXXXXXXXXXX',
            'XXXXXXXXXXXXX',
            'XXXXXXXXXXXXX',
            'XXXXXXXXXXXXX'
    )
    names = ['value', 'value2']
    cost = ['1', '2']
    amount = ['1', '1']
    data = {
        'orderReference': ts,
        'orderDate': ts,
        'amount': '3',
        'currency': 'UAH',
        'productName': names,
        'productPrice': cost,
        'serviceUrl': 'http://127.0.0.1:8000/finish-order/',
        'returnUrl': 'http://127.0.0.1:8000/finish-order/',
        'productCount': amount,
        'straightWidget': True
    }
    widget = wp.generateWidget(data)
    print(widget)
    """

        <script type="text/javascript">
        function pay(){
            var payment = new Wayforpay();
                payment.run({
                    'merchantAccount': 'XXXXXXXXXXXXX',
                    'merchantDomainName': 'XXXXXXXXXXXXX',
                    'merchantTransactionType': 'AUTO',
                    'merchantTransactionSecureType': 'AUTO',
                    'orderReference': '1234243234324',
                    'orderDate': '1234243234324',
                    'amount': '3',
                    'authorizationType': 'SimpleSignature',
                    'currency': 'USD',
                    'productName':   ['value', 'value2'],
                    'productPrice':  ['1', '2'],
                    'productCount':  ['1', '1'],
                    'merchantSignature': signature,
                    'language': 'EN',
                    'straightWidget': True
                }
            );
        }
        window.addEventListener("message", function () {
            if (event.data == 'WfpWidgetEventClose') {
                location.reload()
            }
        }, false);
        </script>
    """

Jinja

<button onclick="pay()"><span style="color:white">Оплата</span></button>
<script id='widget-wfp-script' language='javascript' type='text/javascript' src='https://secure.wayforpay.com/server/pay-widget.js'></script>
{{ widget|safe }}

Project details


Download files

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

Source Distribution

wayforpay-python-1.0.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

wayforpay_python-1.0.1-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file wayforpay-python-1.0.1.tar.gz.

File metadata

  • Download URL: wayforpay-python-1.0.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for wayforpay-python-1.0.1.tar.gz
Algorithm Hash digest
SHA256 bc356a3c4708c4ecc2f309afbf17f6dce80a616c128a5fcc1552fd868cb79f8f
MD5 8b2b96b5d93f0416c72e85085d2c9076
BLAKE2b-256 6104c1871f149a373d108605bb05a8c800af47998575a7a874b76135f34d6c23

See more details on using hashes here.

File details

Details for the file wayforpay_python-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: wayforpay_python-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for wayforpay_python-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be33b2167773fa147afc92881236a24365504ff29b62824562b8012187774793
MD5 5da51310769a163fc3db47ea4f3bcf3d
BLAKE2b-256 21b3310aab787b0c86559c7071c84b566f9d2ce0919337bf447b673261270be0

See more details on using hashes here.

Supported by

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