amze 0 ارسال شده در 30 اردیبهشت، ۱۳۹۷ اشتراک گذاری ارسال شده در 30 اردیبهشت، ۱۳۹۷ با سلام لطفا یک آموزش کامل در مورد پرداخت درون برنامه ای ایران اپس قرار دهید . یکی از مشکلات بنده در نمونه سورس داخل پنل توسعه دهندگان این است که کلید عمومی ras در کدام خط قرار گیرد و چطور از ان استفاده کنم ؟ با تشکر لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 3 خرداد، ۱۳۹۷ اشتراک گذاری ارسال شده در 3 خرداد، ۱۳۹۷ در در 1397/02/30, 23:10:13، amze گفته است : با سلام لطفا یک آموزش کامل در مورد پرداخت درون برنامه ای ایران اپس قرار دهید . یکی از مشکلات بنده در نمونه سورس داخل پنل توسعه دهندگان این است که کلید عمومی ras در کدام خط قرار گیرد و چطور از ان استفاده کنم ؟ با تشکر سلام اول این خط زیر رو به مانیفیست اضافه میکنید ''سطرزیرجهت پرداخت درون برنامه ایران اپس است IranApps AddPermission(ir.tgbs.iranapps.permission.BILLING) بعدش کتابخانه مربوطه رو فعال میکنید (billing-helper) بعدش مطابق مثالهای زیر اکتیویتی های مربوطه رو با مشخصات محصول خودتان پر میکنید ، برای اینکه هربخش واضحتر بشه توضیحات فارسی اضافه شده . ''محتویات اکتیویتی SkuActivity #Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub Process_Globals Dim lstSkus As List Dim pSku As Product Dim pardakht_Va_adame_pardakht_skuActivity As Int End Sub Sub Globals Dim bmBillingManager As BillingManager Dim lvSku As ListView Private Panel1 As Panel Private Button1 As Button End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("SkuLayout") bmBillingManager.init("bm") End Sub 'دریافت اطلاعات محصول درون پرداختی برنامه 'BillingManager is now connected to IranApps billing service 'and we can call it to get sku details Sub bm_onConnected() 'بررسی پشتیبانی از پرداخت درون برنامه ایران اپس وبه پرداخت ایران اپس متصل می شود Msgbox ("دستگاه شما پرداخت درون برنامه ایران اپس را پشتیبانی می کند","") Dim lstSku As List lstSku.Initialize 'اسم محصولاتت رو پشترسرهم دراین آرایه زیر قرار بده ("product 1", "product 2", "product 3", "product 4") lstSku.AddAll(Array As String("testinapp")) bmBillingManager.getSkuDetails(lstSku) End Sub 'billing manager was unable to connect to IranApps billing service 'one reason could be that IranApps isn't installed on user's device Sub bm_oncantconnect(strError As String) Msgbox(strError, "خطا:اتصال با پرداخت درون برنامه ای ایران اپس قطع شد") End Sub 'billing manager has lost its connection to IranApps billing service Sub bm_onconnectionlost() Msgbox("connection lost", "title") End Sub 'skud details are received from IranApps 'show items in a list Sub bm_onGotSkus(lstSku As List ) lstSkus = lstSku lvSku.Initialize("lvSku") lvSku.SingleLineLayout.ItemHeight = 100dip For i = 0 To lstSku.Size - 1 Dim pSku = lstSku.Get(i) As Product lvSku.Color= Colors.Blue 'lvSku.AddSingleLine("ProductID: " & pSku.productId & Chr(10) ) ' لیست کردن محصولات درون پرداختی' Dim name_mahsol_ba_shenase As String If pSku.productId = "testinapp" Then name_mahsol_ba_shenase = " آموزش الفبای فارسی " 'lvSku.SetLayout(10%x,35%y,60,70) 'خرید آموزش حروف الفبای فارسی lvSku.AddSingleLine(":خرید " & name_mahsol_ba_shenase ) Next Panel1.AddView(lvSku, 10%x, 14%y,85%x, 20%y) 'Msgbox (pardakht_Va_adame_pardakht_skuActivity ,pardakht_Va_adame_pardakht_skuActivity ) If pardakht_Va_adame_pardakht_skuActivity <>1 Then ' pSku = lstSkus.Get(0) ''''درصورت وجود چندمحصول این سطر حذف شود ' StartActivity(BuyActivity)''''درصورت وجود چندمحصول این سطر حذف شود End If End Sub 'this methos calls when getSkuDetail fails Sub bm_onFailedGettingSkus(error As InAppError) 'در صورتی که BillingManager نتواند اطلاعات محصولات را بگیرد این متد فراخوانی میشود. Msgbox(error.Message&" اتصال به اینترنت خود را بررسی کنید ", "خطایی که مانع دریافت محصول می شود از این قرار است::") End Sub 'Sub bm_onFailedGettingPurchases(error As InAppError)'در صورتی که BillingManager نتواند لیست محصولات خریده شده را بگیرد این متد فراخوانی میشود. ' Msgbox(error.Message, "برنامه نتوانست لیست محصولات را دریافت کند") 'End Sub 'starts buy proccess Sub lvSku_ItemClick (Position As Int, Value As Object) pSku = lstSkus.Get(Position) StartActivity(BuyActivity) End Sub Sub Button1_Click ExitApplication End Sub --------- ''محتویات اکتیویتی BuyActivity #Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub Process_Globals Dim pard1000 As Int Dim kharid2 As String Dim pardakht_Va_adame_pardakht As Int End Sub Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim bmBillingManager As BillingManager Dim lblTitle As Label Dim lblPrice As Label Dim btnBuy As Button End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("BuyLayout") bmBillingManager.init("bm") 'shows title and price of sku given skuActivity Dim pSku = SkuActivity.pSku As Product lblTitle.Color =Colors.White lblPrice.Color =Colors.White lblTitle.text="نام محصول" & " : " & pSku.title lblPrice.text="قیمت محصول" & " : " & pSku.price & " تومان" End Sub 'billing manager was unable to connect to IranApps billing service 'one reason could be that IranApps isn't installed on user's device Sub bm_oncantconnect(strError As String) Msgbox(strError, "1خطا") End Sub 'billing manager has lost its connection to IranApps billing service Sub bm_onconnectionlost() Msgbox("اتصال با سرویس پرداخت قطع شد", "title") End Sub 'executes buy proccess Sub btnBuy_Click bmBillingManager.buyProduct(SkuActivity.pSku.productId, "", False) End Sub 'this method calls when buy proccess done succesfully Sub bm_onBuyProductSucceed(purchase As PurchaseItem) Activity.TitleColor =Colors.Blue Msgbox(purchase.productId & " پرداخت باموفقیت انجام شده است", "Product Id") 'نوشتن پرداخت وایجادفایل جدیدنمایانگرپرداخت در گوشی If pard1000 <>1 Then File.WriteString(File.DirInternal ,"payok.txt",(pard1000) ) End If pard1000=1 kharid2 =Msgbox2(" "," ","","از خرید شما متشکرم","",LoadBitmapSample(File.DirAssets,"pardakht1.jpg",45%y,45%x)) SkuActivity.pardakht_Va_adame_pardakht_skuActivity = 1 ExitApplication End Sub ' متد EventName_onBuyProductFailed: ' اگر خرید با موفقیت انجام نشود این متد فراخوانی خواهد شد. Sub bm_onBuyProductFailed(error As InAppError) ' Msgbox(error.Message, "خطا درپرداخت رخ داده است وپرداخت انجام نشد") 'ToastMessageShow("پرداختی انجام نشده است",True) 'If error.values= "BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWEND" Then If error.ErrorCode= 7 Then ''''' این ارور 7 یعنی اگر قبلا پرداخت شده باشد If pard1000 <>1 Then File.WriteString(File.DirInternal ,"payok.txt",(pard1000) ) End If pard1000=1 kharid2 =Msgbox2(" "," ","","از خرید شما متشکرم","",LoadBitmapSample(File.DirAssets,"pardakht1.jpg",45%y,45%x)) SkuActivity.pardakht_Va_adame_pardakht_skuActivity = 1 ExitApplication End If If pard1000=0 Then kharid2 =Msgbox2(" "," ","","؟متاسفانه پرداخت انجام نشد!","",LoadBitmapSample(File.DirAssets,"pardakht0.jpg",45%y,45%x)) pard1000=0 'Msgbox(error,error.ErrorCode) End If SkuActivity.pardakht_Va_adame_pardakht_skuActivity = 1 ExitApplication End Sub Sub Button1_Click SkuActivity.pardakht_Va_adame_pardakht_skuActivity = 1 If pard1000=0 Then kharid2 =Msgbox2(" "," ","","متاسفانه پرداخت انجام نشد!","",LoadBitmapSample(File.DirAssets,"pardakht0.jpg",45%y,45%x)) pard1000=0 End If ExitApplication End Sub _______ ''محتویات اکتیویتی PurchaseActivity #Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub Process_Globals Dim lstPurchases As List Dim pdPurchase As PurchaseData Dim getPurchasesLogin As Boolean End Sub Sub Globals Dim bmBillingManager As BillingManager End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("PurchaseLayout") bmBillingManager.init("bm") End Sub 'this method calls when connected to iranApps Service 'then calls getPurchase method Sub bm_onConnected() bmBillingManager.getPurchases() End Sub 'this method calls when iranApps service connection failed Sub bm_oncantconnect(strError As String) Msgbox(strError, "Error") End Sub Sub bm_onconnectionlost() Msgbox("connection lost", "Error") End Sub 'if getPurchase execute successfully 'shows list of purchase Sub bm_onGotPurchases(lstPurchase As List) lstPurchases=lstPurchase Dim lvPurchase As ListView lvPurchase.Initialize("lvPurchase") lvPurchase.SingleLineLayout.ItemHeight = 50dip For i = 0 To lstPurchase.Size - 1 Dim pdSku = lstPurchase.Get(i) As PurchaseData lvPurchase.AddSingleLine("ProductID: " & pdSku.sku ) Next Activity.AddView(lvPurchase, 0, 0, 100%x, 100%y) End Sub 'this methos calls when getPurchase failed Sub bm_onFailedGettingPurchases(error As InAppError) If error.ErrorCode = 9 Then getPurchasesLogin = True bmBillingManager.loginUser() Else Msgbox(error.Message, "Error") End If End Sub Sub bm_onLoginSucceed() 'if getPurchases needed login now that user is login do it If getPurchasesLogin = True Then bmBillingManager.getPurchases() Else 'if consumeProduct needed login now that user is login do it bmBillingManager.consumeProduct(pdPurchase.PurchaseItem.purchaseToken) End If End Sub 'for getPurchases and consumeProduct 'user should Logging In IranApps 'this method is called when login process is failed Sub bm_onLoginFailed(error As InAppError) Msgbox(error.Message, "Error") End Sub Sub lvPurchase_ItemClick (Position As Int, Value As Object) pdPurchase = lstPurchases.Get(Position) bmBillingManager.consumeProduct(pdPurchase.PurchaseItem.purchaseToken) End Sub 'calls if purchase consume done successfully Sub bm_onConsumeSucceed() Msgbox("Consume Succeed", "Consume") End Sub Sub bm_onItemNotOwned() Msgbox("Item Not Owned", "Error") End Sub 'calls when consume proccess faild Sub bm_onConsumeFailed(error As InAppError) If error.ErrorCode = 9 Then bmBillingManager.loginUser() Else Msgbox(error.Message, "Error") End If End Sub برای مشاهده لیست محصولات این اکتیویتی رو فعال کنید: StartActivity(SkuActivity) وبرای مشاهده لیست محصولات خریداری شده اکتیویتی زیر رو فعال کنید: StartActivity(PurchaseActivity) __ با همینها مشکلتون برطرف میشه ان شاءالله و نیازی به جاگذاری کلید RSA دربرنامه هم ندارید . موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
amze 0
با سلام
لطفا یک آموزش کامل در مورد پرداخت درون برنامه ای ایران اپس قرار دهید .
یکی از مشکلات بنده در نمونه سورس داخل پنل توسعه دهندگان این است که کلید عمومی ras در کدام خط قرار گیرد و چطور از ان استفاده کنم ؟
با تشکر
لینک ارسال
به اشتراک گذاری در سایت های دیگر
1 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.