An open API service indexing awesome lists of open source software.

https://github.com/antidasoftware/cloudpayments-python-client

CloudPayments Python Client Library
https://github.com/antidasoftware/cloudpayments-python-client

client cloudpayments python

Last synced: 2 months ago
JSON representation

CloudPayments Python Client Library

Awesome Lists containing this project

README

          

===================================
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 `_. Позволяет обращаться к `API CloudPayments `_ из кода на 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 осуществляется через методы клиента.

| **Тестовый метод** (`описание `__)

.. code:: python

test(self, request_id=None)

``request_id`` — идентификатор для `идемпотентного запроса `__.

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

| **Оплата по криптограмме** (`описание `__)

.. 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** (`описание `__)

.. code:: python

finish_3d_secure_authentication(self, transaction_id, pa_res)

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

| **Оплата по токену** (`описание `__)

.. 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``.

| **Подтверждение оплаты** (`описание `__)

.. code:: python

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

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

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

| **Отмена оплаты** (`описание `__)

.. code:: python

void_payment(self, transaction_id)

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

| **Возврат денег** (`описание `__)

.. code:: python

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

``request_id`` — идентификатор для `идемпотентного запроса `__.

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

| **Выплата по токену** (`описание `__)

.. code:: python

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

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

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

| **Получение транзакции** (`описание `__)

.. code:: python

get_transaction(self, transaction_id)

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

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

| **Проверка статуса платежа** (`описание `__)

.. code:: python

find_payment(self, invoice_id)

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

| **Выгрузка списка транзакций** (`описание `__)

.. code:: python

list_payments(self, date, timezone=None)

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

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

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

| **Создание подписки** (`описание `__)

.. 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``.

| **Выгрузка списка подписок** (`описание `__)

.. code:: python

list_subscriptions(self, account_id)

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

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

| **Запрос статуса подписки** (`описание `__)

.. code:: python

get_subscription(self, subscription_id)

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

| **Изменение подписки** (`описание `__)

.. 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``.

| **Отмена подписки** (`описание `__)

.. code:: python

cancel_subscription(self, subscription_id)

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

| **Отправка счета по почте** (`описание `__)

.. 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``.

| **Формирование кассового чека** (`описание `__)

.. 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`` — идентификатор для `идемпотентного запроса `__.

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

| **Получение данных чека** (`описание `__)

.. code:: python

get_receipt(self, receipt_id)

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

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

| **Изменение настроек уведомлений** (`описание `__)

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

Лицензия
========

MIT