用于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第三方库


热门话题
java找不到'com'的版本。谷歌。密码findbugs:jsr305'   java中的文件输入和输出   java如何在eclipse类路径中为jar文件赋予优先级?   java如何使用Ant自动重命名输出apk文件?   java在JavaFX画布中访问GraphicsContext中的元素   java Libgdx GWT WebSocket对象序列化   如何使用Java8流和lambda迭代和处理其值为元素列表的映射的值   java验证来自控制台的用户输入。命令是否有效等   windows server 2008 r2 Java运行时。exec执行不正确   java Openshift监控弹簧,显示吊舱   java一些谷歌搜索结果被复制   java无法通过Apache Camel访问外部HTTP服务   多线程一个简单的java多线程   java BigQuery/Gcp数据传输到Amazon S3   java我可以用子接口重新编译公共API并保持二进制兼容性吗?   javajavax。命名。NameNotFoundException:MyBean#找不到MyBean   java如何从akka参与者抛出异常?   Java流收集器。toMap值是一个集合