Gate2Shop网关,用于接受您网站上的付款。
django-gate2shop的Python项目详细描述
如何安装
- 使用PIP:
$ pip install django-gate2shop
- 编辑“settings.py”
- 将“G2S”添加到“已安装的应用程序”
- 添加以下设置:
G2S_MERCHANT_ID="123456"G2S_SECRET_KEY="YourSecretWord"G2S_MERCHANT_SITE_ID="1234567"G2S_CURRENCY='USD'
- 添加到“url.py”路径
urlpatterns=patterns('',url(r'^g2s/g2s_form/$','g2s_form',name='g2s-form'),url(r'^g2s/',include('g2s.urls')),)
- 在数据库中创建表
$ python manage.py syncdb $ python manage.py migrate
- 创建/呈现窗体
在“views.py”中创建窗体的实例,并在模板中进行渲染
fromg2s.formsimportG2SFormdefg2s_form(request):# this is what user wants to buyitems_list=[{'item_name':'Test','item_amount':1.11,'item_quantity':1,},]# this data you can get from user profile or from custom user modelpayment_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)returnrender(request,"g2s/order.html",{"form":form})
在“order.html”中:
{{ form.render }}
付款后,G2S向您的服务器发送一个信号(DMN URL)。 事务将保存在数据库中,然后发送一个信号。 您可以使用它来处理自己的操作(向用户帐户添加金额等)
fromdjango.forms.modelsimportmodel_to_dictfromg2s.signalsimportg2s_payment_was_successfulfrompprintimportpprintdeftransaction_result(sender,**kwargs):ifsender.Status=='APPROVED':pprint(model_to_dict(sender))g2s_payment_was_successful.connect(transaction_result,dispatch_uid="demo.models.transaction_result")
演示安装:
$ 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/
完整网关规范可在:http://www.g2s.com/documentation/