cloudpayments-python-client icon indicating copy to clipboard operation
cloudpayments-python-client copied to clipboard

CloudPayments Python Client Library

=================================== CloudPayments Python Client Library

.. image:: https://img.shields.io/pypi/v/cloudpayments.svg :target: https://pypi.python.org/pypi/cloudpayments/ :alt: Python Package Index

.. image:: https://img.shields.io/travis/antidasoftware/cloudpayments-python-client.svg :target: https://travis-ci.org/antidasoftware/cloudpayments-python-client :alt: Travis CI

Клиент для платежного сервиса CloudPayments <http://cloudpayments.ru/>. Позволяет обращаться к API CloudPayments <http://cloudpayments.ru/Docs/Api> из кода на Python.

Установка

::

pip install cloudpayments

Требования

Python 2.7 или 3.4+

Использование

.. code:: python

from cloudpayments import CloudPayments

client = CloudPayments('public_id', 'api_secret')
client.test()

При создании клиента задаются аутентификационные параметры: Public ID и Api Secret. Оба этих значения можно получить в личном кабинете.

Обращение к API осуществляется через методы клиента.

| Тестовый метод (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#test>__)

.. code:: python

test(self, request_id=None)

request_id — идентификатор для идемпотентного запроса <https://developers.cloudkassir.ru/#idempotentnost-api>__.

В случае успеха возвращает строку с сообщением от сервиса.

| Оплата по криптограмме (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#pay_with_crypto>__)

.. code:: python

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 (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#3ds>__)

.. code:: python

finish_3d_secure_authentication(self, transaction_id, pa_res)

В случае успеха возвращает объект типа Transaction.

| Оплата по токену (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#paywithtoken>__)

.. code:: python

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.

| Подтверждение оплаты (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#approval>__)

.. code:: python

confirm_payment(self, transaction_id, amount, data=None)

data — произвольные данные, при отправке будут сериализованы в JSON.

В случае успеха метод ничего не возвращает, при ошибке бросает исключение.

| Отмена оплаты (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#void>__)

.. code:: python

void_payment(self, transaction_id)

В случае успеха метод ничего не возвращает, при ошибке бросает исключение.

| Возврат денег (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#refund>__)

.. code:: python

refund(self, transaction_id, amount, request_id=None)

request_id — идентификатор для идемпотентного запроса <https://developers.cloudkassir.ru/#idempotentnost-api>__.

В случае успеха возвращает идентификатор транзакции возврата.

| Выплата по токену (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#payment_token>__)

.. code:: python

topup(self, token, amount, account_id, currency, invoice_id=None)

currency — одна из констант, определенных в классе Currency

В случае успеха возвращает объект типа Transaction.

| Получение транзакции (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#oper_info>__)

.. code:: python

get_transaction(self, transaction_id)

transaction_id — ID транзакции

В случае успеха возвращает объект типа Transaction.

| Проверка статуса платежа (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#status_check>__)

.. code:: python

find_payment(self, invoice_id)

В случае успеха возвращает объект типа Transaction.

| Выгрузка списка транзакций (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#oper_load>__)

.. code:: python

list_payments(self, date, timezone=None)

date — объект типа datetime.date.

timezone — одна из констант, определенных в классе Timezone.

В случае успеха возвращает список объектов типа Transaction.

| Создание подписки (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#create_recurrent>__)

.. code:: python

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.

| Выгрузка списка подписок (описание <https://developers.cloudpayments.ru/#poisk-podpisok>__)

.. code:: python

list_subscriptions(self, account_id)

account_id — идентификатор пользователя.

В случае успеха возвращает список объектов типа Subscription.

| Запрос статуса подписки (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#rec_info>__)

.. code:: python

get_subscription(self, subscription_id)

В случае успеха возвращает объект типа Subscription.

| Изменение подписки (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#rec_change>__)

.. code:: python

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.

| Отмена подписки (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#rec_cancel>__)

.. code:: python

cancel_subscription(self, subscription_id)

В случае успеха метод ничего не возвращает, при ошибке бросает исключение.

| Отправка счета по почте (описание <https://cloudpayments.ru/wiki/integration/instrumenti/api#create_invoice>__)

.. code:: python

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.

| Формирование кассового чека (описание <https://cloudpayments.ru/wiki/integration/instrumenti/apikassa#form>__)

.. code:: python

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 — идентификатор для идемпотентного запроса <https://developers.cloudkassir.ru/#idempotentnost-api>__.

В случае успеха возвращает строку с уникальным идентификатором чека.

| Получение данных чека (описание <https://cloudpayments.ru/wiki/integration/instrumenti/apikassa#Получение%20данных%20чека>__)

.. code:: python

get_receipt(self, receipt_id)

receipt_id — идентификатор чека

В случае успеха возвращает объект типа Receipt

| Изменение настроек уведомлений (описание <https://developers.cloudpayments.ru/#izmenenie-nastroek-uvedomleniy>__)

.. code:: python

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 <http://antidasoftware.com>. Мы создаем SaaS-продукты и сервисы, интегрированные с платежными системами. Пишите нам, если вам нужна консультация по работе с биллинговыми системами: [email protected] <[email protected]>.

Лицензия

MIT