ThePay API库
项目描述
ThePay
用于从Python访问ThePay支付网关的库
示例
配置ThePay账户
from thepay.config import Config
config = Config()
config.setCredentials(12345, 12345, 'abcdefg12345', 'abcdefg12345') # Credentials from ThePay account settings
列出可用的支付方式
from thepay.dataApi import DataApi
data_api = DataApi(config)
payments = data_api.getPaymentMethods()
以带有图像的单选按钮形式打印方式
<div>
{% for payment in payments %}
<div class="payment-method">
<input type="radio" name="payment_method" value="{{ payment.id }}" id="payment_{{ payment.id }}">
<label for="payment_{{ payment.id }}" title="{{ payment.name }}">
<img src='http://www.thepay.cz/gate/images/logos/public/209x127/{{ payment.id }}.png' alt="{{ payment.name }}">
</label>
</div>
{% endfor %}
</div>
将用户重定向到ThePay - 创建支付
from thepay.payment import Payment
payment = Payment(config)
payment.setValue(321)
payment.setMethodId(13) # ID of payment method from above
payment.setCustomerEmail('test@test.te')
payment.setDescription('Order 123 payment')
payment.setReturnUrl('https://example.com/payment') # where to redirect user after payment
payment.setMerchantData(123) # Any custom data - not visible to user
payment.getCreateUrl() # Redirect user to this URL to begin payment
检查进来的支付
此代码应在上述代码的returnUrl上运行
from thepay.payment import ReturnPayment
return_payment = ReturnPayment(config)
return_payment.parseData(self.request.GET) # Pass all GET received data in form of dict()
if not return_payment.checkSignature():
return False # Invalid payment signature
return_payment.getMerchantData() # -> 123, previously saved custom data
return_payment.getValue() # -> 321
return_payment.getStatus() # Order status, see next paragraph
- 订单状态
2 = STATUS_OK
3 = STATUS_CANCELED
4 = STATUS_ERROR
6 = STATUS_UNDERPAID
7 = STATUS_WAITING
9 = STATUS_CARD_DEPOSIT
获取支付信息
payment_id = return_payment.getPaymentId()
payment = data_api.getPayment(payment_id) # returns object with all payment data
许可证
LGPL
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
nijel-thepay-0.5.tar.gz (9.6 kB 查看哈希值)
构建分布
nijel_thepay-0.5-py3-none-any.whl (11.6 kB 查看哈希值)