Welcome to بیسیک فور ایکس

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

جستجو در تالار: در حال نمایش نتایج برای برچسب های 'درون پرداخت'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالار ها

  • انجمن برنامه نویسی Basic4X
    • قوانین
    • انتقادات و پیشـــنهادات
    • پشتیبانی
    • اخبار
    • بازارچه
  • Basic4Android - برنامه نویسی اندروید
    • کتابخانه ها Libraries
    • کتابخانه های رپ شده library wrapper
    • آموزش های مبتدی
    • متریال
    • درخواست ها
    • سورس کد
    • آموزش های تصویری
    • آمورش های متنی
    • پاسخگوی به سوالات
    • برنامه های ساخته شده شما
  • Basic4IOS - برنامه نویسی ای او اس
    • IOS کتابخانه ها Libraries
    • IOS آموزش های تصویری
    • IOS سورس کد
    • IOS برنامه های ساخته شده شما
  • Basic4Java - برنامه نویسی کامپیوتر - شبکه - جاوا
    • B4J کتابخانه ها Libraries
    • B4J آموزش های تصویری
    • B4J سورس کد
    • B4J پاسخگوی به سوالات
    • B4J برنامه های ساخته شده شما
  • Basic4Arduino - برنامه نویسی آردوینو
    • B4R کتابخانه ها Libraries
    • B4R آموزش و سورس کد
  • برنامه های مورد نیاز برنامه نویسی بیسیک
    • برنامه های ویندوز
    • برنامه های اندروید و ای او اس
    • دیگر نیازمندی ها
  • دیگر برنامه ها و زبان های برنامه نویسی
    • آموزش PHP
    • آموزش RUBY
    • اندروید استودیو
    • اکلیپس
    • پاسخگویی به سوالات
  • گرافیک
    • ابرازهای طراحی
    • طرح های لایه باز
    • درخواست ها
  • متفرقه
    • آگاه سازی
    • بازی TownShip-تاون شیپ
    • VIP
    • صندلی داغ
    • بحث آزاد
  • بایگانی
    • بایگانی

3 نتیجه پیدا شد

  1. سلام دوستان خواهش میکنم اگر سورس جاوای کتابخانه InAppBilling3 یا همون درون پرداخت (بازار یا گوگل فرق نداره) بزارین یا معرفی کنید. سعی کردم فایل jar و class هارو به java دیکامپایل کنم ولی موفق نشدم
  2. سلام من کتابخونه Activaty manger رو نیاز دارم و این که چطوری محصولات جدید اضافه کنیم؟ مثلا من میخوام چن تا لباس بفروشم ( مثلا) و هر لباسی یک قیمت جدا داره . من میخوام هر لباسی که خریدن متن فایل تکست تغییر کنه و وقتی روی باتون کلیک شد متن فایل تکست چک بشه و اگر دست بود اکتیویتی مربوطه نمایش داده بشه
  3. با نام و یاد خدا تعاریف پرداخت درون‌برنامه‌ای در B4A ماژول پرداخت درون‌برنامه‌ای B4A در مایکت از محصولات مصرف‌شدنی، مصرف‌نشدنی و اشتراکی پشتیبانی می‌کند. قدم اول:ا ضافه کردن ماژول مایکت برای اضافه کردن کتابخانه درون پرداخت مایکت لازم است مراحل زیر را انجام دهید.. 1- ابتدا کتابخانه درون پرداخت بازار را از این لینک دانلود نمایید 2- دو فایل MyketIAP.jar و MyketIAP.xml را در پوشه کتابخانه‌های Basic4Android کپی نمایید. 3-در پنل سمت راست B4A، تب libs را انتخاب و Refresh نمایید تا کتابخانه MyketIAP نمایان شود. 4- با استفاده از Manifest Editor (واقع در منوی Project) کد زیر را به Manifest برنامتون اضافه کنید: AddPermission(ir.mservices.market.BILLING) قدم دوم: معرفی API در B4A کلاس BillingManager3 BillingManager3 رابط B4A با سرویس خرید درون برنامه مایکت است. برای استفاده از این کلاس کافیه در Process_Globals ، این کلاس را تعریف کنید: Dim oBillingManager As BillingManager3 از BillingManager3 برای دریافت اطلاعات محصولات خریده‌ شده، خرید یک محصول (فروشی یا اشتراکی) و مصرف کردن آن استفاده میشه. در ادامه با نحوه استفاده از متد‌های BillingManager3 آشنا میشویم: متد Initialize برای استفاده از BillingManager3 ابتدا حتما باید این کلاس را Initialize نمود: oBillingManager.Initialize("BillingManager", publicKey) پارامتر اول EventName . ابتدای نام CallBack‌های BillingManager3 را مشخص می کنه. که در این مستند فرض بر اینه که پارامتر EventName را "BillingManager" مقدار‌دهی نموده‌ایم. پارامتر دوم PublicKey محصولات شماست. توجه کنید که PublicKey را پس از قرار دادن محصول و یا محصولات خود در پنل برنامه‌نویسان، دریافت می‌نمایید. برای مثال : Private PublicKey As String = "MIGf000GCSqGSIb3DQEBAQ12A4GNADCBiQKBgQCS0+b45Va062Yd+5wsMbH3EOrKgg2s0Rn5HZ8smXqbtbRsenFMhQPZ/RSPIMjAZyN0jF4FQn2eAaYUzzNQ52oBfqPudPllvq9OxsZtqF6MUgF1A8fK6znWc/mBDiVz7lAQyDz6vZFv5DSfGJgG1XPsI3LNbdyyllO8yyig1PQJuwIDAQAB" این کد را باید در قسمت Process_Globals قرار داد توجه کنید که publickey مخصوص به خود را از طریق پنل توسعه دهنده مایکت خود باید دریافت نمایید و PublicKey هر برنامه مخصوص به خودش میباشد قدم سوم :چک کردن پشتیبانی از سرویس درون‌خرید مایکت این Callback، پس از اتمام عملیات متد Initialize صدا زده می شه که مشخص می‌کنه که آیا دستگاه کاربر از سرویس درون خرید مایکت پشتیبانی می‌کنه یا نه. در صورتی که مقدار Supported برابر True باشه، دستگاه کاربر از خرید درون‌برنامه‌ای مایکت پشتیبانی می‌کنه. Sub BillingManager_BillingSupported(Supported As Boolean, Message As String) متد RequestPayment از RequestPayment برای خریدن یک محصول (فروشی یا اشتراکی) استفاده می شود: oBillingManager.RequestPayment("gas", "inapp", "DeveloperPayload") پارامتر اول نام محصول است که در پنل برنامه‌نویسان مایکت وارد کردید. پارامتر دوم نوع محصول را مشخص می‌کنه. که برای محصولات فروشی مقدار "inapp" و برای محصولات اشتراکی مقدار "subs" را میپذیره. پارامتر سوم اطلاعات اضافی یا Developer Payload هست. این فیلد شامل رشته‌ای است که مقدار‌دهی آن اختیاریه و در پردازش مایکت تاثیری نداره. مقداری که به این پارامتر تخصیص داده می‌شه عینا در CallBack اتمام خرید (که در ادامه توضیح داده میشه)، باز‌می‌گرده اتمام فرایند خرید این Callback، پس از اتمام عملیات متد RequestPayment صدا زده می‌شود و وضعیت خرید Product را مشخص می‌کند. درصورتی که Success برابر True باشد خرید با موفقیت انجام شده است. اگر محصول خریداری‌ شده از نوع فروشی و مصرف‌شدنی بود، باید این محصول را با استفاده از متد ConsumeProduct در سرور مایکت مصرف نمود. در صورتی که محصول از نوع فروشی و مصرف‌نشدنی و یا از نوع اشتراکی بود، نباید متد ConsumeProduct صدا زده شود. Sub BillingManager_PurchaseCompleted(Success As Boolean, Product As Purchase) متد ConsumeProduct برای محصولات مصرف‌شدنی باید حتما پس از خرید، متد ConsumeProduct فراخوانی بشه تا این محصول در سرور مایکت مصرف شود. برای این کار کافیه: oBillingManager.ConsumeProduct(Product) این متد Object محصولی که باید مصرف بشه را در تنها پارامتر ورودی خود میگیره. (این object در callback اتمام خرید ارسال شده.) اتمام عملیات مصرف شدن محصول این Callback، پس از اتمام عملیات متد ConsumeProduct صدا زده میشه و در صورتی که پارامتر Success برابر True باشه، باید محصول را به کاربر تحویل داد. Sub BillingManager_ProductConsumed(Success As Boolean, Product As Purchase) متد GetOwnedProducts این متد در اول برنامه پس از Initialize شدن BillingManager صدا زده میشه. هدف از این کار دریافت محصولات فروشی که در سرور مایکت مصرف نشده اند و محصولات اشتراکی می‌باشد. بعد از اتمام کار، این متد در Callback دریافت محصولات کاربر لیستی از محصولات برمیگردونه. به عنوان مثال زمانی که کاربر در برنامه شما اکانت ویژه (Premium Account) خریداری میکنه همیشه این محصول در Callback‌ برگردونده میشه. برای صدا زدن این متد کافیه: oBillingManager.GetOwnedProducts() دریافت محصولات کاربر این Callback، پس از فراخوانی متد GetOwnedProducts صدا زده میشه و لیست purchases شامل محصولات مصرف‌نشدنی کاربر و محصولات مصرف‌شدنی که در سرور مایکت مصرف نشده‌اند میباشد. Sub BillingManager_OwnedProducts(Success As Boolean, purchases As Map) فعال و غیرفعال کردن Log برای فعال یا غیر‌فعال کردن Log کتابخانه سرویس خرید درون‌برنامه‌ای مایکت، کافیهمقدار True/False را به متد DebugLogging بدهید: oBillingManager.DebugLogging = True اول توضیحات زیر را بخونید خرید بنزین یا Buy Gas بنزین در این مثال در دسته‌ی محصولات فروشی و مصرف‌شدنی است. با فشردن این دکمه در صورتی که مخزن بنزین پر نباشد برنامه به خرید درون‌برنامه‌ای مایکت وصل شده و بعد از پرداخت هزینه مورد نظر تعداد ۱۰ واحد به مخزن بنزین اضافه می‌شود. استفاده بنزین یا Use Gas در صورتی که تعداد بنزین ذخیره بیشتر از ۱۰ واحد باشد، ۱۰ واحد بنزین مصرف می‌شود. خرید اکانت ویژه یا Buy Premium اکانت ویژه در این مثال در دسته‌ی محصولات فروشی و مصرف‌نشدنی است. با انتخاب این گزینه برنامه به خرید درون‌برنامه‌ای مایکت وصل شده و با پرداخت هزینه اکانت ویژه خریداری می‌شود این نوع پرداخت مصرف‌نشدنی است. خرید اکانت اشتراکی یا Get Inifite Gas این اکانت به صورت زمان‌دار است که کاربر با پرداخت هزینه می‌تواند اکانت (ماهانه، هفتگی و یا سالانه) را خریداری کند. توجه داشته باشید که کاربر با خریدن اکانت ویژه می‌تواند به صورت نامحدود بنزین مصرف کند بدیهی است که در این مدت زمان کاربر نباید بنزین خریداری کند و همچنین نمی‌تواند اکانت زمان‌دار دیگری نیز بخرد به همین دلیل دکمه اکانت نامحدود مخفی شده و خرید بنزین نیز غیرفعال می‌شود. خب توضیحات بالا برای افراد نیمه حرفه ای بود حالا به صورت خلاصه براتون توضیح میدم به زبان ساده: اول از همه کدهای زیر را در process_globals قرار بدید Dim oBillingManager As BillingManager3 Private key As String = "MIG0156GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCS0+btzVa062Yd+5wsMbH3EOrKgg2s0Rn5HZ8smXqbtbRsenFMhQPZ/RSPIMjAZyN0jF4FQn2eAaYUzzNQ52oBfqPudPllvq9OxsZtqF6MUgF1A8fK6znWc/mBDiVz7lAQyDz6vZFv5DSfGJgG1XPsI3LNbdyyllO8yyig1PQJuwIDAQAB" Dim SKU_PREMIUM As String = "premium" Dim SKU_GAS As String = "gas" Dim bIsoBillingManagerAvailable As Boolean = False کد های زیر رو هم در globals قرار بدید Dim Label_Gas As Label Dim Label_MSG As Label Dim Label_Premium As Label کد زیر رو هم در Activity_Create(FirstTime As Boolean) If FirstTime Then Log("Initialize billing manager") oBillingManager.Initialize("BillingManager", key) 'Its for debug log, set it to false after test and when ready to build the App oBillingManager.DebugLogging = True 'False 'True End If برای نمایش دادن مقدار گاز Show_Gas را در Activity_Create(FirstTime As Boolean) قرار میدیم و برای نمایش نوع حساب(معمولی یا ویژه ) Show_Premium را در Activity_Create(FirstTime As Boolean) قرار میدیم. خب حالا سه تا دکمه به اسم های Button_BuyGas ، Button_BuyPremium و Button_UseGas ایجاد میکنیم . و کدهای زیر را مینویسیم: 'Start the buy gas Sub Button_BuyGas_Click StartBuyGas End Sub 'Start the buy Premium account Sub Button_BuyPremium_Click StartBuyPremium End Sub 'Spend gas and reduce the amount of gas Sub Button_UseGas_Click Dim iCurrentGas As Int = Get_Gas iCurrentGas = iCurrentGas - 10 Save_Gas(iCurrentGas) Show_Gas Label_MSG.Text = "" End Sub Sub StartBuyGas() If Get_Gas = 100 Then Label_MSG.Text = "Your Gas is full" Else oBillingManager.RequestPayment(SKU_GAS, "inapp", "Developer Payload") End If End Sub Sub StartBuyPremium() If Get_Gas = 100 Then Label_MSG.Text = "You alrady have premium account" Else oBillingManager.RequestPayment(SKU_PREMIUM, "inapp", "Developer Payload") End If End Sub StartBuyGas برای شروع خرید گاز و StartBuyPremium برای شروع خرید حساب ویژه هست. برای اینکه ببینیم گوشی از پرداخت درن برنامه ای پشتیبانی میکنه یا نه کد زیر را استفاده میکنیم Sub BillingManager_BillingSupported (Supported As Boolean, Message As String) Log("BillingSupported: " & Supported & ", " & Message) ToastMessageShow(oBillingManager.About , True) Log("Subscriptions supported: " & oBillingManager.SubscriptionsSupported) If Supported = True Then bIsoBillingManagerAvailable = True End If If bIsoBillingManagerAvailable = True Then 'Get Owned Products oBillingManager.GetOwnedProducts End If End Sub برای اینکه ببینیم خرید موفقیت امیز بوده یا نه از کد زیر استفاده میکنیم Sub BillingManager_PurchaseCompleted(Success As Boolean, Product As Purchase) Log("Is Purchase State: " & Success) If Success Then ToastMessageShow("PurchaseCompleted: Success" , True) 'Consume ProductName if you product is consumable If Product.ProductId = SKU_GAS Then oBillingManager.ConsumeProduct(Product) End If 'Check for non-consumable product If Product.ProductId = SKU_PREMIUM Then Premium_Account(True) Else Premium_Account(False) End If Else ToastMessageShow("PurchaseCompleted: Unsuccess" , True) End If End Sub کد زیر رو هم برای محصولات مصرف شدنی قرار میدیم (خرید اعتبار) (برای محصولات مصرف شدنی (مثل گاز)) ub BillingManager_ProductConsumed (Success As Boolean, Product As Purchase) Log("Product ( " & Product.ProductId & " ) Consume : " & Success ) ToastMessageShow("Product ( " & Product.ProductId & " ) Consume : " & Success , False) If Success = True Then Add_Gas End If End Sub کد زیر هم برای نمایش محصولات درون پرداخت قرار بدید Sub BillingManager_OwnedProducts(Success As Boolean, purchases As Map) Log("Product owned : " & Success) If Success Then Log(purchases) For Each P As Purchase In purchases.Values Log("type : " & P.ItemType & "/" & P.DeveloperPayload) 'Check for consumable product (GAS) If P.ProductId = SKU_GAS Then oBillingManager.ConsumeProduct(P) Add_Gas End If 'Check for non-consumable product (PREMIUM) If P.ProductId = SKU_PREMIUM Then 'Premium account available Premium_Account(True) Else Premium_Account(False) End If Log(P.ProductId & ", Purchased? " & (P.PurchaseState = P.STATE_PURCHASED)) Label_MSG.Text = P.ProductId Next End If End Sub حالا دو تا لیبل به اسم های Label_Premium و Label_MSG بسازید . حالا کد زیر را برای نمایش معمولی بودن یا ویژه بودن اکانت کاربر قرار بدید Sub Premium_Account(isAvailable As Boolean) If isAvailable = True Then Label_Premium.Text = "Premium Account" Save_Premium(1) Else Label_Premium.Text = "Normal Account" Save_Premium(0) End If End Sub حالا کد های زیر رو هم قرار بدید و تمام Sub Add_Gas() 'add 10 to gas Save_Gas( Get_Gas + 10 ) 'update the ui to show added gas Show_Gas End Sub 'Load gas from file Sub Get_Gas() As Int Dim i As Int If File.Exists(File.DirInternal , SKU_GAS) Then i = File.ReadString(File.DirInternal , SKU_GAS) Else 'Start with 100 gas if there is not a file (first run of the app after install) i = 100 Save_Gas(i) End If Return i End Sub 'Save gas to file Sub Save_Gas(iGasAmount As Int) File.WriteString(File.DirInternal , SKU_GAS , iGasAmount) End Sub 'Load premium from file Sub Get_Premium() As Int Dim i As Int If File.Exists(File.DirInternal , SKU_PREMIUM) Then i = File.ReadString(File.DirInternal , SKU_PREMIUM) Else i = 0 Save_Premium(i) End If Return i End Sub 'Save Premium account to file Sub Save_Premium(isPremium As Int) File.WriteString(File.DirInternal , SKU_PREMIUM , isPremium) End Sub 'Show gas to user Sub Show_Gas() Label_Gas.Text = "Gas: " & Get_Gas End Sub 'Show premium to user Sub Show_Premium() If Get_Premium = 1 Then Label_Premium.Text = "Premium Account" Else Label_Premium.Text = "Normal Account" End If End Sub سورس پیوست شد .درصورت وجود هرگونه ابهام تاپیک جدید ایجاد کنید. MyketIAP-sample.zip