pip3 install merchant001_sdk
pdm add merchant001_sdk
pip3 install merchant001_sdk[cli]
pdm add merchant001_sdk[cli]
from merchant001_sdk import Client
with Client(token=...) as client:
# comming soon...
from merchant001_sdk import Client
async def main(token: str) -> None:
async with Client(token=token) as client:
# comming soon...
In this section I use async-only, but you can use sync/async (as in previous 2-level section).
from merchant001_sdk import Client
async def main(token: str) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.get_merchant_healthcheck()
print(result)
On Success:
MerchantHealthcheck(success=True)
On Error (invalid token for example):
ErrorResult(status_code=401, message='Unavailable api token', error='Unauthorized')
Params:
- raw_dict (boolean) - eq. to makeArray, default is false.
- method_names_only (boolean) - eq. to onlyMethod, default is false.
- amount (int; > 0) - eq. to amount, default is null (optional).
from merchant001_sdk import Client
async def main(token: str) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.get_payment_methods(raw_dict=True, method_names_only=False)
print(result)
On Success:
[PaymentMethodType(type='GATE [RUB/USDT] CARD', methods=[{'type': 'GATE [RUB/USDT] CARD', 'method': 'tinkoff', 'imageUrl': None, 'name': 'Тинькофф'}, {'type': 'GATE [RUB/USDT] CARD', 'method': 'sberbank', 'imageUrl': None, 'name': 'Сбербанк'}])] # raw_dict=False
[PaymentMethodType(type='GATE [RUB/USDT] CARD', methods=['tinkoff', 'sberbank'])] # raw_dict=False, method_names_only=True
{'GATE [RUB/USDT] CARD': {'tinkoff': {'type': 'GATE [RUB/USDT] CARD', 'method': 'tinkoff', 'imageUrl': None, 'name': 'Тинькофф'}, 'sberbank': {'type': 'GATE [RUB/USDT] CARD', 'method': 'sberbank', 'imageUrl': None, 'name': 'Сбербанк'}}} # raw_dict=True
On Error (invalid token for example):
ErrorResult(status_code=401, message='Unavailable api token', error='Unauthorized')
Params: pricing (mapping[str, mapping[str, str | float]]) - eq. to pricing. provider_type (str) - eq. to selectedProvider.type. provider_method (str) - eq. to selectedProvider.method. is_partner_fee (boolean) - eq. to amount, default is null (optional).
from merchant001_sdk import Client
async def main(token: str) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.create_transaction(
pricing={"local": {"amount": 1, "currency": "RUB"}},
provider_type="GATE [RUB/USDT] CARD",
provider_method="SBERBANK",
is_partner_fee=False,
)
print(result)
Params:
- transaction_id (str)
from merchant001_sdk import Client
async def main(token: str, transaction_id: str) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.get_transaction(transaction_id=transaction_id)
print(result)
Params:
- transaction_id (str)
from merchant001_sdk import Client
async def main(token: str, transaction_id: str) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.get_transaction_requisite(transaction_id=transaction_id)
print(result)
Params:
- transaction_id (str)
from merchant001_sdk import Client
async def main(token: str, transaction_id: str) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.claim_transaction_paid(transaction_id=transaction_id)
print(result)
Params:
- transaction_id (str)
from merchant001_sdk import Client
async def main(token: str, transaction_id: str) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.claim_transaction_canceled(transaction_id=transaction_id)
print(result)
Params:
- transaction_id (str)
- provider_type (str)
- provider_method (str)
from merchant001_sdk import Client
async def main(
token: str, transaction_id: str, provider_type: str, provider_method: str
) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.set_transaction_payment_method(
transaction_id=transaction_id,
provider_type=provider_type,
provider_method=provider_method,
)
print(result)
Params:
- payment_method (str)
from merchant001_sdk import Client
async def main(token: str, payment_method: str) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.get_payment_method_rate(payment_method=payment_method)
print(result)
On Success:
PaymentMethodRate(method='sberbank', rate=103.38)
Params:
- transaction_id (str)
- receipt_file (str) - filepath or opened file with mode "rb".
- amount (float; optional) - if you need to specify the amount.
from merchant001_sdk import Client
async def main(token: str, transaction_id: str, filepath: str, amount: int) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.upload_payment_receipt(
transaction_id=transaction_id, receipt_file=filepath, amount=amount
)
print(result)
On Success:
StatusStub(status=True)