Cafebazaar.InAppBilling
0.0.8
dotnet add package Cafebazaar.InAppBilling --version 0.0.8
NuGet\Install-Package Cafebazaar.InAppBilling -Version 0.0.8
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cafebazaar.InAppBilling" Version="0.0.8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cafebazaar.InAppBilling" Version="0.0.8" />
<PackageReference Include="Cafebazaar.InAppBilling" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Cafebazaar.InAppBilling --version 0.0.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Cafebazaar.InAppBilling, 0.0.8"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Cafebazaar.InAppBilling@0.0.8
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Cafebazaar.InAppBilling&version=0.0.8
#tool nuget:?package=Cafebazaar.InAppBilling&version=0.0.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Cafebazaar In-App Billing for .NET MAUI
کتابخانه غیررسمی و ساده برای پیادهسازی پرداخت درونبرنامهای کافه بازار (Cafebazaar) در پروژههای .NET MAUI.
این کتابخانه مشکل عدم وجود فایلهای AIDL و پیادهسازیهای پیچیده بایندرها را حل کرده و یک رابط کاربری ساده async/await
در اختیار شما قرار میدهد.
ویژگیها
- ✅ اتصال آسان به سرویس پرداخت کافه بازار
- ✅ خرید محصول (Purchase)
- ✅ خرید اشتراک (Subscription)
- ✅ مصرف محصول (Consume) برای محصولات مصرفی (سکه، جم و...)
- ✅ بدون نیاز به فایلهای Java یا AIDL خارجی
- ✅ کاملاً منطبق با .NET 9 , 10+ و MAUI
- ✅ منطبق با اندروید نسخه 26+
نصب
پکیج را از طریق NuGet به پروژه خود اضافه کنید:
dotnet add package Cafebazaar.InAppBilling
راهاندازی (Setup)
۱. تنظیمات AndroidManifest.xml
در فایل Platforms/Android/AndroidManifest.xml مجوزهای زیر را اضافه کنید:
<uses-permission android:name="ir.cafebazaar.pardakht.BILLING"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<queries>
<package android:name="ir.cafebazaar.pardakht"/>
</queries>
نحوه استفاده (Usage)
خرید اشتراک در یک ViewModel
using Cafebazaar.InAppBilling;
private async Task PurchaseViaCafeBazaarAsync(string productId)
{
await MainThread.InvokeOnMainThreadAsync(async () =>
{
try
{
CrossCafebazaarBilling.Initialize(Platform.CurrentActivity,"CAFEBAZAAR_RSA_KEY",new List<string>(){ productId });
var result = await CrossCafebazaarBilling.Subscription(productId);
if (result.Status)
{
await CafeBazaarService.CheckFirstPurchaseAsync();
}
else
{
Console.WriteLine("خطا در خرید");
}
}
catch (Exception ex)
{
Console.WriteLine($"خطای درگاه کافه بازار: {ex.Message}");
}
finally
{
IsLoading = false;
}
});
}
خرید و مصرف محصول در یک ViewModel
using Cafebazaar.InAppBilling;
private async Task PurchaseViaCafeBazaarAsync(string productId)
{
await MainThread.InvokeOnMainThreadAsync(async () =>
{
try
{
CrossCafebazaarBilling.Initialize(Platform.CurrentActivity,"CAFEBAZAAR_RSA_KEY",new List<string>(){ productId });
//پرداخت برای خرید و مصرف محصولات دیجیتال (غیر اشتراکی) اعم از یکبار مصرف و چندبار مصرف
var result = await CrossCafebazaarBilling.Purchase(productId);
if (result.Status)
{
// بعد از خرید محصولات یکبارمصرف توسط کاربر، به هیچ عنوان این تابع را صدا نزنید
var cosumed = await CrossCafebazaarBilling.Consume(result.Product);
if (cosumed.Status)
{
//پرداخت نهایی شده و کاربر آماده دریافت محصول خریداری شده است
}
else
{
// در مصرف محصول خریداری شده مشکلی وجود داشت، خرید فعلی را ابطال و مجددا آغاز نمایید. در ضمن مبلغ از حساب کاربر کسر شده است و تنها فرآیند مصرف شکست خورده.
}
}
else
{
Console.WriteLine("خطا در خرید");
}
}
catch (Exception ex)
{
Console.WriteLine($"خطای درگاه کافه بازار: {ex.Message}");
}
finally
{
IsLoading = false;
}
});
}
نکات مهم
- تست روی دستگاه: پرداخت درونبرنامهای بدون نصب بودن و ورود به نرم افزار کافه بازار کار نمیکند. بهتر است روی گوشی واقعی که اپلیکیشن * کافه بازار* روی آن نصب است و کاربر در آن لاگین کرده، تست کنید.
- شناسه محصول: شناسه محصول (Product ID) باید دقیقاً با پنل کافه بازار مطابقت داشته باشد.
- نسخه اندروید: این کتابخانه با Android 5.0 (API 21) به بالا سازگار است.
لایسنس
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-android36.0 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0-android36.0
- BazaarPayment (>= 1.0.1)
- Microsoft.Maui.Controls (>= 10.0.2)
- Microsoft.Maui.Essentials (>= 10.0.20)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Android 26+ support problems has been fixed