سرویس کیف پول
سرویس کیف پول امکان مدیریت موجودی، تراکنشها و بازپرداختهای کاربران را فراهم میکند. این سرویس مجموعهای کامل از ابزارها برای انجام عملیات مالی ارائه میدهد — شامل دریافت موجودی کیف پول و تاریخچه تراکنشها، ایجاد و مدیریت هزینهها، پردازش بازپرداختها، و اجرای عملیات مرتبط با اعتبار.
فهرست مطالب
متدهای کیف پول
| متد | توضیحات | پارامترها |
|---|---|---|
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 |
مثالها
پیکربندی اولیه
<?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
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;
}Last updated on