WHMCS فارسی

دموی آنلاین

نمایش تعادل دروازه پرداخت

نمایش تعادل دروازه پرداخت

در WHMCS 8.2، ما امکان مشاهده اطلاعات موجودی درگاه پرداخت را در ناحیه مدیریت WHMCS اضافه کردیم. در اصل، این شامل نمایش اطلاعات از Stripe و PayPal Basic در لیست تراکنش ها در Billing > List Transactions و از Stripe در اطلاعات برای تراکنش های فردی است.

این پست وبلاگ نمایش ترازها را پوشش می دهد. برای اطلاعات بیشتر درباره نمایش اطلاعات تراکنش، به اطلاعات تراکنش در اسناد برنامه‌نویس ما مراجعه کنید .

ماژول های موجودی و درگاه پرداخت

ماژول Gateway اکنون به شما امکان می دهد داده ها را از هر درگاه پرداخت از طریق دو کلاس جدید نمایش دهید: Balanceو BalanceCollection. برای توسعه‌دهندگان، به‌ویژه توسعه‌دهندگان درگاه پرداخت، این قابلیت جدید هیجان‌انگیزی است که به شما امکان می‌دهد پشتیبانی از نمایش تعادل را به هر درگاه پرداخت اضافه کنید.

به‌طور پیش‌فرض در WHMCS، ما قبلاً نمایش تعادل داخلی را برای Stripe و PayPal Basic در لیست تراکنش‌ها پیاده‌سازی کرده‌ایم. با این حال، وقتی از این کلاس‌های جدید برای سفارشی‌سازی یک ماژول درگاه پرداخت استفاده می‌کنید، می‌تواند شامل هر درگاه پرداختی باشد که با موفقیت با WHMCS استفاده می‌کنید.

نمایش اطلاعات موجودی

برای نمایش این اطلاعات از WHMCS\Module\Gateway\Balanceو WHMCS\Module\Gateway\BalanceCollectionکلاس ها استفاده کنید.

هنگامی که از این کلاس ها استفاده می کنید، توصیه می کنیم این مراحل را برای اجرای آنها انجام دهید:

1. برای بازیابی اطلاعات لازم به گیت وی متصل شوید.
از WHMCS\Module\Gateway\Balance استفاده کنید.
از WHMCS\Module\Gateway\BalanceCollection استفاده کنید./**
*@param آرایه $params
*
*@return BalanceCollection
*/

تابع yourmodulename_account_balance(آرایه $params = []): BalanceCollection
{
$balanceInfo = [];
/**
* برای بازیابی اطلاعات تعادل به دروازه متصل شوید.
*/
$postfields = [
‘حساب’ => $params[‘apikey’]،
];
$ch = curl_init();
curl_setopt($ch، CURLOPT_URL، ‘https://www.example.com/api/balance’);
curl_setopt($ch، CURLOPT_POST، 1);
curl_setopt($ch، CURLOPT_POSTFIELDS، http_build_query($postfields));
curl_setopt($ch، CURLOPT_RETURNTRANSFER، 1);
$response = curl_exec($ch);
curl_close ($ch);

$balanceData = json_decode($response);

 

2. یک شی برای کلاس Balance با استفاده از برچسب پیش فرض و رنگ قالب بندی اضافه کنید.

این مرحله را برای هر یک از کدهای ارز پشتیبانی شده دروازه که موجودی متفاوتی را نشان می دهد، تکرار کنید. به عنوان مثال، Stripe از موجودی های موجود و معلق پشتیبانی می کند. با این حال، اکثر دروازه ها فقط یک نوع دارند Balance.

foreach ($balanceData[‘available’] به عنوان $availableData) {
$currencyCode = strtoupper($availableData[‘currency’]);
$amount[$currencyCode] = ($availableData[‘amount’] / 100);    /**
* با استفاده از برچسب و رنگ فرمت پیش فرض، یک شی Balance اضافه کنید.
*/
$balanceInfo[] = موجودی::factory(
$amount[$currencyCode],
$currencyCode
);
}

 

3. یک شی برای کلاس Balance اضافه کنید، برچسب و رنگ را لغو کنید.

این اختیاری است، و مانند مرحله بالا، اگر یک دروازه از انواع مختلف تعادل پشتیبانی می کند، می توانید آن را هر چند بار که لازم است تکرار کنید.

foreach ($balanceData[‘pending’] به عنوان $pendingData) {
$currencyCode = strtoupper($pendingData[‘currency’]);
$pending[$currencyCode] = ($pendingData[‘amount’] / 100);    /**
* یک شی Balance اضافه کنید و برچسب و رنگ پیش فرض را لغو کنید.
*/
$balanceInfo[] = موجودی::factory(
$pending[$currencyCode]،
$currencyCode،
‘status.pending’، //لیبل پیش‌فرض is status.available
‘#6ecacc’ //رنگ پیش‌فرض #5dc560 است
);
}

 

4. یک شی برای کلاس BalanceCollection اضافه کنید تا آرایه ای از اشیاء Balance را بپذیرد.

توجه به این نکته مهم است که اگر چیزی در آرایه یک شی نباشد Balance، WHMCS با یک خطای مهلک مواجه خواهد شد.

/**
* شی BalanceCollection آرایه ای را می پذیرد که شامل هر تعداد شی Balance باشد.
* ارسال یک آیتم در آرایه که یک شی Balance نیست، باعث خطای مهلک می شود.
*/
return BalanceCollection::factory(…$balanceInfo);
}

 

موفقیت

برای استفاده موفق از این عملکرد با ماژول درگاه پرداخت، کد شما باید شبیه به مثال زیر باشد:

از WHMCS\Module\Gateway\Balance استفاده کنید.
از WHMCS\Module\Gateway\BalanceCollection استفاده کنید./**
* @param آرایه $params
*
* @return BalanceCollection
*/
تابع yourmodulename_account_balance(آرایه $params = []): BalanceCollection
{
$balanceInfo = [];
/**
* برای بازیابی اطلاعات تعادل به دروازه متصل شوید.
*/
$postfields = [
‘حساب’ => $params[‘apikey’]،
];
$ch = curl_init();
curl_setopt($ch، CURLOPT_URL، ‘https://www.example.com/api/balance’);
curl_setopt($ch، CURLOPT_POST، 1);
curl_setopt($ch، CURLOPT_POSTFIELDS، http_build_query($postfields));
curl_setopt($ch، CURLOPT_RETURNTRANSFER، 1);
$response = curl_exec($ch);
curl_close ($ch);

$balanceData = json_decode($response);
foreach ($balanceData[‘available’] به عنوان $availableData) {
$currencyCode = strtoupper($availableData[‘currency’]);
$amount[$currencyCode] = ($availableData[‘amount’] / 100);

/**
* با استفاده از برچسب و رنگ فرمت پیش فرض، یک شی Balance اضافه کنید.
*/
$balanceInfo[] = موجودی::factory(
$amount[$currencyCode],
$currencyCode
);
}

foreach ($balanceData[‘pending’] به عنوان $pendingData) {
$currencyCode = strtoupper($pendingData[‘currency’]);
$pending[$currencyCode] = ($pendingData[‘amount’] / 100);

/**
* یک شی Balance اضافه کنید و برچسب و رنگ پیش فرض را لغو کنید.
*/
$balanceInfo[] = موجودی::factory(
$pending[$currencyCode]،
$currencyCode،
‘status.pending’، //لیبل پیش‌فرض is status.available
‘#6ecacc’ //رنگ پیش‌فرض #5dc560 است
);
}

/**
* شی BalanceCollection آرایه ای را می پذیرد که شامل هر تعداد شی Balance باشد.
* ارسال یک آیتم در آرایه که یک شی Balance نیست، باعث خطای مهلک می شود.
*/
return BalanceCollection::factoryFromItems(…$balanceInfo);
}

هنگامی که از کد خود در WHMCS استفاده می کنید، مطمئن شوید که کاربرانی که وارد شده اند مجوزهای صحیح را دارند. به‌طور پیش‌فرض، مدیران کامل به نمایش‌های موجودی درگاه پرداخت دسترسی کامل دارند، اما سایر نقش‌های سرپرست از شما می‌خواهند که View Gateway Balance Totals را برای مشاهده این اطلاعات فعال کنید.

مراحل بعدی

پس از ارتقاء به WHMCS 8.2، می‌توانید موجودی‌های Stripe و PayPal Basic را به راحتی در Billing > List Transactions مشاهده کنید .

همچنین شایان ذکر است که جدا از این ماژول و عملکرد، یک ویجت جدید داشبورد Admin Area به طور خاص برای تعادل Stripe اضافه کردیم. می‌توانید در این وبلاگ، در اسناد ما اطلاعات بیشتری در مورد آن بخوانید ، یا اطلاعات مربوط به ایجاد ویجت‌های سفارشی برای داشبورد Admin Area را در اینجا مشاهده کنید .

به اشتراک گذاری:

Twitter
WhatsApp
Email
Telegram

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب

تخفیف ویژه WHMCS
انتشار آخرین نسخه

جدیدترین اخبار و مقالات

مطالب مرتبط

بروزرسانی امنیتی WHMCS

به روز رسانی امنیتی 2023-06-20

یک مشکل مهم ادعای پرداخت و یک مشکل امنیتی XSS شناسایی شده است که همه نسخه‌های WHMCS را تحت تأثیر قرار می‌دهد. ما نسخه‌های جدیدی