Skip to content

Platron/python-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Platron Python SDK

Установка через pip

pip install platron

Тесты

Для запуска тестов нужно выполнить

pip install -r requirements-dev.txt

Для выполнения тестов на текущей версии python

pytest

Для выполнения тестов на разных версия проекта

tox

Модуль тестировался на python 2.7, 3.3, 3.4, 3.5, 3.6

В проекте есть интеграционные тесты. Для запуска нужно создать файл с настройками merchant_settings.py, скопировав его с файла merchant_settings_sample.py в папке \tests\integration\ и внести свои настройки

Примеры использования

1. Создание транзакции

from platron.request.request_builders.init_payment_builder import InitPaymentBuilder
from platron.request.clients.post_client import PostClient
from platron.sdk_exception import SdkException

client = PostClient('merchant_id', 'secret_key')
request = InitPaymentBuilder('10', 'Test description')

try:
    response = client.request(request)
    print(response)
except SdkException as msg:
    print(msg)

2. Запрос реестра

from platron.request.request_builders.get_registry_builder import GetRegistryBuilder
from platron.request.clients.post_client import PostClient
from platron.sdk_exception import SdkException

client = PostClient('merchant_id', 'secret_key')
request = GetRegistryBuilder('2017-01-01')

try:
    response = client.request(request)
    print(response)
except SdkException as msg:
    print(msg)

3. Проведение клиринга

from platron.request.request_builders.do_capture_builder import DoCaptureBuilder
from platron.request.clients.post_client import PostClient
from platron.sdk_exception import SdkException

client = PostClient('merchant_id', 'secret_key')
request = DoCaptureBuilder('3334455')

try:
    response = client.request(request)
    print(response)
except SdkException as msg:
    print(msg)

4. Обработка запроса от Platron (check)

from platron.callback import Callback
from platron.sdk_exception import SdkException

order_available = 1
params_from_platron = {}

callback = Callback('merchant_return_url_script', 'sdvsfdvsfdvsdv')
if callback.validate_sig(params_from_platron) :
    if order_available:
        callback.response_ok(params_from_platron)
    else :
        if callback.can_reject(params_from_platron) :
            callback.response_reject(params_from_platron, 'Заказ недоступен для оплаты')
        else :
            ''' Сделать запрос через систему выплат или через заявку на возврат '''
            pass
else:
    callback.response_error(params_from_platron, 'Неправильная подпись')

order_available - вместо переменной метод, проверяющий доступность заказа

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages