fix: some problems are fixed

This commit is contained in:
2026-07-05 18:40:53 +03:30
parent 5017e9a613
commit e94f03c499
16 changed files with 384 additions and 152 deletions
+2 -2
View File
@@ -21,12 +21,12 @@ class BazaarPaymentGateway implements PaymentGateway {
}
@override
Future<PurchaseResult> purchase(String productSku) async {
Future<PurchaseResult> purchase(String productSku, {String payload = ''}) async {
try {
await connect();
final info = await FlutterPoolakey.purchase(
productSku,
payload: 'hakemsho',
payload: payload.isNotEmpty ? payload : 'hakemsho',
);
if (info.purchaseToken.isEmpty) {
return const PurchaseResult.failure();
+1 -1
View File
@@ -11,7 +11,7 @@ class DevPaymentGateway implements PaymentGateway {
Future<void> connect() async {}
@override
Future<PurchaseResult> purchase(String productSku) async {
Future<PurchaseResult> purchase(String productSku, {String payload = ''}) async {
final stamp = DateTime.now().millisecondsSinceEpoch;
return PurchaseResult.success(
token: 'dev-$productSku-$stamp',
+5 -3
View File
@@ -19,10 +19,12 @@ class MyketPaymentGateway implements PaymentGateway {
}
@override
Future<PurchaseResult> purchase(String productSku) async {
Future<PurchaseResult> purchase(String productSku, {String payload = ''}) async {
await connect();
final Map<dynamic, dynamic> result =
await MyketIAP.launchPurchaseFlow(sku: productSku, payload: 'hakemsho');
final Map<dynamic, dynamic> result = await MyketIAP.launchPurchaseFlow(
sku: productSku,
payload: payload.isNotEmpty ? payload : 'hakemsho',
);
final Purchase? purchase = result[MyketIAP.PURCHASE] as Purchase?;
if (purchase == null || purchase.mToken.isEmpty) {
+3 -1
View File
@@ -33,7 +33,9 @@ abstract class PaymentGateway {
String get store;
/// جریانِ خریدِ [productSku] (همان UUIDِ محصول در پنلِ فروشگاه) را باز می‌کند.
Future<PurchaseResult> purchase(String productSku);
/// [payload] در فروشگاه ذخیره و در پنلِ توسعه‌دهنده نمایش داده می‌شود؛ اینجا
/// شماره‌ی موبایلِ کاربر را می‌فرستیم تا خرید قابلِ ردیابی باشد.
Future<PurchaseResult> purchase(String productSku, {String payload = ''});
/// اتصالِ اولیه (در صورتِ نیاز). پیش از اولین خرید صدا زده می‌شود.
Future<void> connect() async {}