Клиент для платежного сервиса CloudPayments. Позволяет обращаться к API CloudPayments из кода на Python.
pip install cloudpayments
Python 2.7 или 3.4+
from cloudpayments import CloudPayments
client = CloudPayments('public_id', 'api_secret')
client.test()
При создании клиента задаются аутентификационные параметры: Public ID и Api Secret. Оба этих значения можно получить в личном кабинете.
Обращение к API осуществляется через методы клиента.
test(self, request_id=None)
request_id
— идентификатор для идемпотентного запроса.
В случае успеха возвращает строку с сообщением от сервиса.
charge_card(self, cryptogram, amount, currency, name, ip_address,
invoice_id=None, description=None, account_id=None,
email=None, data=None, require_confirmation=False,
service_fee=None)
currency
— одна из констант, определенных в классе Currency
.
data
— произвольные данные, при отправке будут сериализованы в JSON.
service_fee
— сервисный сбор.
require_confirmation
— если установлено в True
, платеж будет выполняться по двухстадийной схеме.
В случае успеха возвращает объект типа Transaction
(если не требуется 3-D Secure аутентификация) либо Secure3d
(если требуется).
finish_3d_secure_authentication(self, transaction_id, pa_res)
В случае успеха возвращает объект типа Transaction
.
charge_token(self, token, account_id, amount, currency,
ip_address=None, invoice_id=None, description=None,
email=None, data=None, require_confirmation=False)
currency
— одна из констант, определенных в классе Currency
data
— произвольные данные, при отправке будут сериализованы в JSON.
require_confirmation
— если установлено в True
, платеж будет выполняться по двухстадийной схеме.
В случае успеха возвращает объект типа Transaction
.
confirm_payment(self, transaction_id, amount, data=None)
data
— произвольные данные, при отправке будут сериализованы в JSON.
В случае успеха метод ничего не возвращает, при ошибке бросает исключение.
void_payment(self, transaction_id)
В случае успеха метод ничего не возвращает, при ошибке бросает исключение.
refund(self, transaction_id, amount, request_id=None)
request_id
— идентификатор для идемпотентного запроса.
В случае успеха возвращает идентификатор транзакции возврата.
topup(self, token, amount, account_id, currency, invoice_id=None)
currency
— одна из констант, определенных в классе Currency
В случае успеха возвращает объект типа Transaction
.
get_transaction(self, transaction_id)
transaction_id
— ID транзакции
В случае успеха возвращает объект типа Transaction
.
find_payment(self, invoice_id)
В случае успеха возвращает объект типа Transaction
.
list_payments(self, date, timezone=None)
date
— объект типа datetime.date
.
timezone
— одна из констант, определенных в классе Timezone
.
В случае успеха возвращает список объектов типа Transaction
.
create_subscription(self, token, account_id, amount, currency,
description, email, start_date, interval, period,
require_confirmation=False, max_periods=None)
currency
— одна из констант, определенных в классе Currency
.
start_date
— объект типа datetime.datetime
.
interval
— одна из констант, определенных в классе Interval
.
В случае успеха возвращает объект типа Subscription
.
list_subscriptions(self, account_id)
account_id
— идентификатор пользователя.
В случае успеха возвращает список объектов типа Subscription
.
get_subscription(self, subscription_id)
В случае успеха возвращает объект типа Subscription
.
update_subscription(self, subscription_id, amount=None, currency=None,
description=None, start_date=None, interval=None,
period=None, require_confirmation=None,
max_periods=None)
currency
— одна из констант, определенных в классе Currency
.
start_date
— объект типа datetime.datetime
.
interval
— одна из констант, определенных в классе Interval
.
В случае успеха возвращает объект типа Subscription
.
cancel_subscription(self, subscription_id)
В случае успеха метод ничего не возвращает, при ошибке бросает исключение.
create_order(self, amount, currency, description, email=None,
send_email=None, require_confirmation=None,
invoice_id=None, account_id=None, phone=None,
send_sms=None, send_whatsapp=None, culture_info=None)
currency
— одна из констант, определенных в классе Currency
.
culture_info
— одна из констант, определенных в классе CultureInfo
.
В случае успеха возвращает объект типа Order
.
create_receipt(self, inn, receipt_type, customer_receipt,
invoice_id=None, account_id=None, request_id=None)
receipt_type
— одна из констант, определенных в классе ReceiptType
.
customer_receipt
— объект типа Receipt
или словарь с данными чека.
request_id
— идентификатор для идемпотентного запроса.
В случае успеха возвращает строку с уникальным идентификатором чека.
get_receipt(self, receipt_id)
receipt_id
— идентификатор чека
В случае успеха возвращает объект типа Receipt
def update_webhook(
self,
webhook_type: WebhookType,
address,
is_enabled: bool = True,
method="GET",
encoding="UTF8",
format_notifications="CloudPayments"
)
webhook_type
— тип уведомления: Pay/Fail и т.д.
address
— адрес для отправки уведомлений (для HTTPS-схемы необходим валидный SSL-сертификат)
is_enabled
— Если значение true — то уведомление включено.
method
— HTTP-метод для отправки уведомлений. Возможные значения: GET, POST. Значение по умолчанию — GET
encoding
— кодировка уведомлений. Возможные значения: UTF8, Windows1251. Значение по умолчанию — UTF8
format_notifications
— Формат уведомлений. Возможные значения: CloudPayments, QIWI, RT. Значение по умолчанию — CloudPayments
Разработано в Antida software. Мы создаем SaaS-продукты и сервисы, интегрированные с платежными системами. Пишите нам, если вам нужна консультация по работе с биллинговыми системами: info@antidasoftware.com.
MIT