Skip to Content

سرویس کیف پول

سرویس کیف پول امکان مدیریت موجودی، تراکنش‌ها و بازپرداخت‌های کاربران را فراهم می‌کند. این سرویس مجموعه‌ای کامل از ابزارها برای انجام عملیات مالی ارائه می‌دهد — شامل دریافت موجودی کیف پول و تاریخچه تراکنش‌ها، ایجاد و مدیریت هزینه‌ها، پردازش بازپرداخت‌ها، و اجرای عملیات مرتبط با اعتبار.

فهرست مطالب

متد‌های کیف پول

متدتوضیحاتپارامترها
get_balance()دریافت موجودی کاربرuser_id, filters
get_transactions()دریافت تاریخچه تراکنش‌هاuser_id, page, per_page
create_expense()ایجاد یک هزینهuser_id, request
create_expense_from_credit()ایجاد هزینه از اعتبار خاصuser_id, credit_id, request
get_expense()دریافت جزئیات هزینهuser_id, expense_id
delete_expense()حذف/بازگشت هزینهuser_id, expense_id, rollback_reason_id
get_expense_by_ref()دریافت هزینه براساس مرجعuser_id, reason_id, reference_id
delete_expense_by_ref()حذف هزینه براساس مرجعuser_id, reason_id, reference_id, rollback_reason_id
create_refund()پردازش بازپرداختrequest
can_rollback_refund()بررسی امکان بازگشت بازپرداختrefund_reason, refund_reference_id
rollback_refund()بازگشت بازپرداختrequest

مثال‌ها

پیکربندی اولیه

from basalam_sdk import BasalamClient, PersonalToken auth = ClientCredentials( client_id="your-client-id", client_secret="your-client-secret" ) client = BasalamClient(auth=auth)

توجه داشته باشید که برای ریکوئست به APIهای سرویس کیف پول باید از احراز هویت اعتبارنامه کلاینت (Client Credentials) استفاده کنید.

دریافت موجودی

def get_balance_example(): balance = client.get_balance( user_id=123, filters=[ BalanceFilter( cash=True, settleable=True, vendor=False, customer=True ) ] ) return balance

دریافت تراکنش‌ها

def get_transactions_example(): transactions = client.get_transactions( user_id=123, page=1, per_page=20 ) for transaction in transactions.data: print(f"Transaction: {transaction.time} - Amount: {transaction.amount}") return transactions

ایجاد هزینه

from basalam_sdk.wallet.models import SpendCreditRequest def create_expense_example(): expense = client.create_expense( user_id=123, request=SpendCreditRequest( reason_id=1, reference_id=456, amount=10000, description="Payment for order #456", types=[1, 2], settleable=True, references={ "order_id": 456, "payment_method": 1 } ) ) return expense

ایجاد هزینه از اعتبار خاص

from basalam_sdk.wallet.models import SpendSpecificCreditRequest def create_expense_from_credit_example(): expense = client.create_expense_from_credit( user_id=123, credit_id=789, request=SpendSpecificCreditRequest( reason_id=1, reference_id=456, amount=5000, description="Payment from specific credit", settleable=True, references={ "order_id": 456, "credit_type": 1 } ) ) return expense

دریافت هزینه

def get_expense_example(): expense = client.get_expense( user_id=123, expense_id=456 ) return expense

حذف هزینه

def delete_expense_example(): result = client.delete_expense( user_id=123, expense_id=456, rollback_reason_id=2 ) return result

دریافت هزینه براساس مرجع

def get_expense_by_ref_example(): expense = client.get_expense_by_ref( user_id=123, reason_id=1, reference_id=456 ) if expense: print(f"Found expense: {expense.id}") return expense

حذف هزینه براساس مرجع

def delete_expense_by_ref_example(): result = client.delete_expense_by_ref( user_id=123, reason_id=1, reference_id=456, rollback_reason_id=2 ) return result

ایجاد بازپرداخت

from basalam_sdk.wallet.models import RefundRequest def create_refund_example(): refund = client.create_refund( request=RefundRequest( original_reason=1, original_reference_id=456, reason=2, reference_id=789, amount=5000, description="Refund for cancelled order", references=[ { "reference_type_id": 1, "reference_id": 456 } ] ) ) return refund

بررسی امکان بازگشت بازپرداخت

def can_rollback_refund_example(): can_rollback = client.can_rollback_refund( refund_reason=2, refund_reference_id=789 ) return can_rollback

بازگشت بازپرداخت

from basalam_sdk.wallet.models import RollbackRefundRequest def rollback_refund_example(): result = client.rollback_refund( request=RollbackRefundRequest( refund_reason=2, rollback_refund_reason=3, refund_reference_id=789, reference_id=456, description="Rollback refund due to error", references=[ { "reference_type_id": 1, "reference_id": 456 } ] ) ) return result
Last updated on