Skip to content

antidasoftware/cloudpayments-python-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CloudPayments Python Client Library

Python Package Index Travis CI

Клиент для платежного сервиса 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 (если требуется).

Завершение оплаты после прохождения 3-D Secure (описание)
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