No project description provided
Project description
Merchant001 SDK
Install
Client-only
For PIP
pip3 install merchant001_sdk
For PDM
pdm add merchant001_sdk
With CLI
For PIP
pip3 install merchant001_sdk[cli]
For PDM
pdm add merchant001_sdk[cli]
Use
Client
Sync
from merchant001_sdk import Client
with Client(token=...) as client:
# comming soon...
Async
from merchant001_sdk import Client
async def main(token: str) -> None:
async with Client(token=token) as client:
# comming soon...
Methods
In this section I use async-only, but you can use sync/async (as in previous 2-level section).
Merchant Healthcheck
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')
Payment Methods List
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')
Create Transaction
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)
Get Transaction
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)
Get Transaction Requisite
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)
Claim Transaction as PAID
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)
Claim Transaction as CANCELED
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)
Set Transaction payment method
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)
Get Payment Method Rate
Params:
- payment_method (str)
from merchant001_sdk import Client
async def main(token: str, transaction_id: 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)
Upload payment receipt
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) -> None:
async with Client(token=token, endpoint="https://api.merchant001.io/") as client:
result = await client.get_payment_method_rate(
transaction_id=transaction_id, receipt_file=filepath
)
print(result)
On Success:
StatusStub(status=True)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
merchant001-sdk-0.0.17.tar.gz
(11.1 kB
view hashes)
Built Distribution
Close
Hashes for merchant001_sdk-0.0.17-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 576417a70427f76605e2a6d1445cb2af9f630d7a44799467367508afebfec56f |
|
MD5 | 391b40ea15799eeeffe124f7e5afd7e6 |
|
BLAKE2b-256 | f16b0da6d32aba0dec5e8052e91d263a9c30aeecddcd6633973dbce0b173757e |