用于wirecard rest api的python包装器。

wirecard的Python项目详细描述


无线网卡

用于Wirecard REST API的python包装器。仅支持三维安全注册的信用卡支付。

CircleCI

下面的所有示例都使用有线卡测试数据。您可以在下面的链接中找到它们:

设置环境变量

exportWIRECARD_USERNAME='70000-APILUHN-CARD'exportWIRECARD_PASSWORD='8mhwavKVb91T'exportWIRECARD_MERCHANT_ACCOUNT_ID='33f6d473-3036-4ca5-acb5-8c64dac862d1'exportWIRECARD_API_URL='https://api-test.wirecard.com/engine/rest/payments'exportWIRECARD_ORIGIN_IP='127.0.0.1'

使用它

fromwirecardimportAccountHolder,Card,RequestedAmount,Wirecardcard=Card(account_number='4012000300001003',expiration_month='01',expiration_year='2023',security_code='003',_type='visa',)account_holder=AccountHolder(first_name='John',last_name='Doe',)requested_amount=RequestedAmount(amount='10.99',currency='ZAR',)w=Wirecard()result=w.check_3d_enrollment(card,account_holder,requested_amount)# If everything is fine, you should redirect the user to the ACS page# https://document-center.wirecard.com/display/PTD/Payment+Features#PaymentFeatures-ACSHTTPSRedirect# Here's a Django View Exampletransaction_id=result.get('payment').get('transaction-id')acs_url=result.get('payment').get('three-d').get('acs-url')pareq=result.get('payment').get('three-d').get('pareq')context={'acs_url':acs_url,'pareq':pareq,'term_url':'https://your_callback_url','md':f'{"transaction_id": {transaction_id}, "cvv": {card.security_code}}',}returnrender(request,'acs_template.html',context,)# The bank successfully calls your callback# Here's a Django View Examplepares=request.POST.get('PaRes')md=json.loads(request.POST.get('MD','null'))parent_transaction_id=md['transaction_id']cvv=md['cvv']w=Wirecard()result=w.authorize_and_capture_payment(pares,parent_transaction_id,cvv)

您可以使用必要的信息来初始化Wirecard,而不是使用环境变量:

w=Wirecard(username='70000-APILUHN-CARD',password='8mhwavKVb91T',merchant_account_id='33f6d473-3036-4ca5-acb5-8c64dac862d1',url='https://api-test.wirecard.com/engine/rest/payments',)

例外情况

  • WirecardFailedInit:当初始化Wirecard失败时引发
  • WirecardInvalidCard:当给Card无效卡时引发
  • WirecardInvalidRequestedAmount:向RequestedAmount提供无效卡时引发
  • WirecardFailedTransaction:与无线网卡平台的任何通信失败时引发
  • WirecardInvalidResponse:当wirecard无法返回json时引发

测试

安装poetry

$ poetry install
$ poetry run pytest

许可证

MIT

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

推荐PyPI第三方库


热门话题
带Maven的Eclipse Java存储库:缺少工件:compile   java如何以编程方式停止RMI服务器并通知所有客户端   java Roboguice抛出ClassNotFoundException:AnnotationDatabaseImpl   java为什么lucene 4.0删除IndexWriter类的两个构造函数?   nls如何避免java项目上不需要的日志消息?   测试无法在Selenium Webdriver(java)中定位iframe   使用XML的java servlet   java如何使用jxl用****屏蔽单元格   java使用SQLite从数据库中选择“没有这样的列”   导入扫描程序后出现java编译错误   插入查询的java空指针异常   使用创建PostgreSQL数据库。Java应用中的sql脚本   java使用jsoup将HTML解析为格式化的明文