Skip to Content

سرویس کیف پول

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

فهرست مطالب

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

متدتوضیحاتپارامترها
getBalance()دریافت موجودی کاربرuserId, filters
getTransactions()دریافت تاریخچه تراکنش‌هاuserId, page, perPage
createExpense()ایجاد یک هزینهuserId, request
createExpenseFromCredit()ایجاد هزینه از اعتبار خاصuserId, creditId, request
getExpense()دریافت جزئیات هزینهuserId, expenseId
deleteExpense()حذف/بازگشت هزینهuserId, expenseId, rollbackReasonId
getExpenseByRef()دریافت هزینه براساس مرجعuserId, reasonId, referenceId
deleteExpenseByRef()حذف هزینه براساس مرجعuserId, reasonId, referenceId, rollbackReasonId
createRefund()پردازش بازپرداختrequest
canRollbackRefund()بررسی امکان بازگشت بازپرداختrefundReason, refundReferenceId
rollbackRefund()بازگشت بازپرداختrequest

مثال‌ها

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

<?php use Basalam\SDK\BasalamClient; use Basalam\SDK\Auth\ClientCredentials; $auth = new ClientCredentials( clientId: 'your-client-id', clientSecret: 'your-client-secret' ); $client = new BasalamClient($auth);

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

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

<?php use Basalam\SDK\Wallet\Models\BalanceFilter; function getBalanceExample(): object { global $client; $balance = $client->getBalance( userId: 123, filters: [ new BalanceFilter( cash: true, settleable: true, vendor: false, customer: true ) ] ); return $balance; }

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

<?php function getTransactionsExample(): object { global $client; $transactions = $client->getTransactions( userId: 123, page: 1, perPage: 20 ); foreach ($transactions->data as $transaction) { echo "Transaction: {$transaction->time} - Amount: {$transaction->amount}\n"; } return $transactions; }

ایجاد هزینه

<?php use Basalam\SDK\Wallet\Models\SpendCreditRequest; function createExpenseExample(): object { global $client; $expense = $client->createExpense( userId: 123, request: new SpendCreditRequest( reasonId: 1, referenceId: 456, amount: 10000, description: 'Payment for order #456', types: [1, 2], settleable: true, references: [ 'order_id' => 456, 'payment_method' => 1 ] ) ); return $expense; }

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

<?php use Basalam\SDK\Wallet\Models\SpendSpecificCreditRequest; function createExpenseFromCreditExample(): object { global $client; $expense = $client->createExpenseFromCredit( userId: 123, creditId: 789, request: new SpendSpecificCreditRequest( reasonId: 1, referenceId: 456, amount: 5000, description: 'Payment from specific credit', settleable: true, references: [ 'order_id' => 456, 'credit_type' => 1 ] ) ); return $expense; }

دریافت هزینه

<?php function getExpenseExample(): object { global $client; $expense = $client->getExpense( userId: 123, expenseId: 456 ); return $expense; }

حذف هزینه

<?php function deleteExpenseExample(): object { global $client; $result = $client->deleteExpense( userId: 123, expenseId: 456, rollbackReasonId: 2 ); return $result; }

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

<?php function getExpenseByRefExample(): ?object { global $client; $expense = $client->getExpenseByRef( userId: 123, reasonId: 1, referenceId: 456 ); if ($expense) { echo "Found expense: {$expense->id}\n"; } return $expense; }

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

<?php function deleteExpenseByRefExample(): object { global $client; $result = $client->deleteExpenseByRef( userId: 123, reasonId: 1, referenceId: 456, rollbackReasonId: 2 ); return $result; }

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

<?php use Basalam\SDK\Wallet\Models\RefundRequest; function createRefundExample(): object { global $client; $refund = $client->createRefund( request: new RefundRequest( originalReason: 1, originalReferenceId: 456, reason: 2, referenceId: 789, amount: 5000, description: 'Refund for cancelled order', references: [ [ 'reference_type_id' => 1, 'reference_id' => 456 ] ] ) ); return $refund; }

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

<?php function canRollbackRefundExample(): bool { global $client; $canRollback = $client->canRollbackRefund( refundReason: 2, refundReferenceId: 789 ); return $canRollback; }

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

<?php use Basalam\SDK\Wallet\Models\RollbackRefundRequest; function rollbackRefundExample(): object { global $client; $result = $client->rollbackRefund( request: new RollbackRefundRequest( refundReason: 2, rollbackRefundReason: 3, refundReferenceId: 789, referenceId: 456, description: 'Rollback refund due to error', references: [ [ 'reference_type_id' => 1, 'reference_id' => 456 ] ] ) ); return $result; }
Last updated on