Gate2Shop网关,用于接受您网站上的付款。

django-gate2shop的Python项目详细描述


如何安装

  1. 使用PIP:
$ pip install django-gate2shop
  1. 编辑“settings.py”
    • 将“G2S”添加到“已安装的应用程序”
    • 添加以下设置:
G2S_MERCHANT_ID="123456"G2S_SECRET_KEY="YourSecretWord"G2S_MERCHANT_SITE_ID="1234567"G2S_CURRENCY='USD'
  1. 添加到“url.py”路径
urlpatterns=patterns('',url(r'^g2s/g2s_form/$','g2s_form',name='g2s-form'),url(r'^g2s/',include('g2s.urls')),)
  1. 在数据库中创建表
$ python manage.py syncdb
$ python manage.py migrate
  1. 创建/呈现窗体

在“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/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
刷卡时java更改recyclerview项目背景   java如何在ServerSocketChannel上收集I/O统计信息   安卓 EditText始终返回Null Java NullPointerException   java 1美元的类文件名是什么?   java这是一个有效的方法吗?Eclipse似乎暗示我的代码存在ab问题。。我就是看不出来   在后台收到推送通知后更改java活动   java如何在TableViewerColumn中使用CheckBoxTableCell   java静态方法使用泛型创建内部类   java struts2<s:选择…>标签   java中变量范围内的错误输出   在类型与该类相同的类中声明的java静态变量   java在随机数列表中查找三角形   java如何检测Mac OS的右击事件   java为现有CSV文件创建DAO   javax的ClassNotFoundException。xml。绑定切换到Java 9时,JAXBEException与Spring启动   安卓将Kotlin算法翻译成Java代码   java m从recylerview获取错误,因为我试图从sqlite获取数据并设置为recylerview