Skip to main content

Gate2Shop gateway for accept payments on your website.

Project description

How to install

  1. Using pip:

$ pip install django-gate2shop
  1. Edit “settings.py”
    • add “g2s” to your “INSTALLED_APPS”

    • add following settings:

G2S_MERCHANT_ID = "123456"
G2S_SECRET_KEY = "YourSecretWord"
G2S_MERCHANT_SITE_ID = "1234567"
G2S_CURRENCY = 'USD'
  1. Add to “urls.py” paths

urlpatterns = patterns('',
    url(r'^g2s/g2s_form/$', 'g2s_form', name='g2s-form'),
    url(r'^g2s/', include('g2s.urls')),
)
  1. Create table in your database

$ python manage.py syncdb
$ python manage.py migrate
  1. Create/render form

Create an instance of the form in your “views.py” and make render in your template

from g2s.forms import G2SForm

def g2s_form(request):
    # this is what user wants to buy
    items_list = [
        {
            'item_name': 'Test',
            'item_amount': 1.11,
            'item_quantity': 1,
        },
    ]

    # this data you can get from user profile or from custom user model
    payment_details = {
        'country': 'Russia',
        'city': 'Moscow',
        'address1': 'Moscow, Arbat',
        'zip': '121099',
        'first_name': 'Ivan',
        'last_name': 'Ivanov',
        'email': 'ivanov.ivan@yandex.ru',
        'phone1': '+79031234567',
        'total_amount': 1.11,
        'user_token_id': 1,
        'productId': 1,
    }

    form = G2SForm(items_list, initial=payment_details)
    return render(request, "g2s/order.html", {"form": form})

In “order.html”:

{{ form.render }}

After payment G2S sends a signal to your server (DMN URL). The transaction will be saved in the database, then will be send a signal. You can use it to process your own actions (add amount to users account, etc..)

from django.forms.models import model_to_dict
from g2s.signals import g2s_payment_was_successful
from pprint import pprint


def transaction_result(sender, **kwargs):
    if sender.Status == 'APPROVED':
        pprint(model_to_dict(sender))


g2s_payment_was_successful.connect(
    transaction_result, dispatch_uid="demo.models.transaction_result")

Demo installation:

$ pip install virtualenvwrapper
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv django-gate2shop
$ git clone https://github.com/gotlium/django-gate2shop.git
$ cd django-gate2shop
$ python setup.py develop
$ cd demo
$ pip install -r requirements.txt
$ python manage.py syncdb --noinput && python manage.py migrate --noinput
$ python manage.py runserver >& /tmp/runserver.log &
$ xdg-open http://127.0.0.1:8000/g2s/

Full Gateway Specification available at: http://www.g2s.com/documentation/

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

django-gate2shop-1.0.2.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

django_gate2shop-1.0.2-py2.py3-none-any.whl (13.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-gate2shop-1.0.2.tar.gz.

File metadata

File hashes

Hashes for django-gate2shop-1.0.2.tar.gz
Algorithm Hash digest
SHA256 aad8f7f48144f48689eb0b73fb973c467300b9e1b22146c382ea3242eb4d8623
MD5 37fb2c45329c14a44cad80d002fce8f1
BLAKE2b-256 c32cc764860ddc3ada0a49251c3a32e5116d4e22955bf63ce7ee7ee5f84b1114

See more details on using hashes here.

File details

Details for the file django_gate2shop-1.0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_gate2shop-1.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 057752fdb0c1fb047277daeae913a4ed7455025e29f7d87c54bb5922e5a6706d
MD5 3cc0677517b2db28e93d0c4414a12954
BLAKE2b-256 32fb09174ea8a3fae0ac8ca9575280dcc9a5ebf705cbf24cb662bda6bdb738ef

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