# Native Code > برنامه نویسی موبایل > Android Studio >  آموزش کامل پرداخت درون برنامه ای بازار

## Pam.goudarzi

دیدم خیلی ها تو پرداخت درون برنامه ای مشکل دارن، گفتم مشکلو حل کنیم! اول فایل ضمیه InAppBilling رو دانلود کنید. بعد اکسترکتش کنید. فولد com رو داخل پوشه ی src بزارید. حواستون باشه override اش نکنید. بعد فایل های billing و BuyPremiumActiivty رو داخل پکیج اصلی برنامه تون برزید. (اونی که مثلا mainActivity) توش هست. بعد ایمپورت های بازم رو انجام بدید، و BuyPremiumActivity رو داخل مانیفست تعریف کنید. بعدش داخل مانیفست مجوز دسترسی رو مثل زیر اضافه کنید.
<uses-permission android:name="com.farsitel.bazaar.permission.PAY_T  HROUGH_BAZAAR"/>
بعدش پروژه رو داخل بازار آپلود کنید و بعد به صفحه توسعه دهنده برید. جلوی اسم برنامه روی ورود کلیک کنید. وارد بخش محصولات بشید و چیزی رو که میخواین به فروش برسونید اونجا مشخص کنید و قیمتس رو صفر بزارید(برای تست). بعد روی محصولات فروشنده کلیک کنید و روی کلید RSA بزنید.  یه کدی می آأ. اونو باید داخل billing جای کد های زیر بزارید. (بین کوتیشن) های زیر بزارید.
public static final String PUBLIC_KEY = "MIHNMA0GCSqGSIb3DQEBAQUAA4G7ADCBtwKBrwCullGEa1O+y  cp4oRwZMa82eq5SrOhUCZ6QizGwT6vP3VgGjgTjL4X9HmjPmoC  k5hEFEEF5jvLfM2/5lqSk0m6SZ54W7OP6VIhX7PXj7jhoG0TJPDOljMjbtfl7DcKqF  4BeURNV6268pxgtw9tIcnvprMwm4trFt99RsdLIWuCHWNjgJWb  ikJY8pAU3sht3xGEmVmwwleRYI1gSbXpHPHQMoB0gJylxWEuMI  LiiSBcCAwEAAQ==";

بعد شناسه برنامه رو(همون که موقع ساخت تو بازار تعریف کردید) رو جای upgradetogolden بزارید.
public static final String SKU_NAME_PREMIUM="upgradetogolden"; 
بعدش فایل xml ایکسترکت شده رو تو res/layout بریزید!
و تمام شد! سوالی داشتید بنده در خدمتم!

----------


## hamedjj

تو این تاپیک قرار میدادی خیلی بهتر بود
https://barnamenevis.org/showthread.php?429143

----------


## badname

این قضیه توسط آقا حامد حل و فصل شده ست  ... مگر اینکه بخوایید حرکت جدیدی بزنید روش  :لبخند:

----------


## TohidNajafi

<uses-permission android:name="com.farsitel.bazaar.permission.PAY_T  HROUGH_BAZAAR"/>
اینو دقدقا کجای منیفست اضافه کنم؟ خطا میگیره
میگه name attribute  نمیتونه فاصله داشته باشه توش
com.farsitel.bazaar.permission.PAY_T  HROUGH_BAZAAR داخلش فاصله هست

----------


## SASAN_AH

شما اينطور بزاريد

<uses-permission android:name="com.farsitel.bazaar.permission.PAY_T  HROUGH_BAZAAR" />





شما فاصله رو باك كنيد اين تگ ها مشكل دارند

----------


## TohidNajafi

ارتقا به نسخه کامل چیه؟
ما فقط میخوایم محتوا برداره

----------


## TohidNajafi

دوستان من چند تا دیتابیس دارم که می خوام درون برنامه اونا رو بردارن
الان این آموزش میتونه این کارو انجام بده؟
این آموزش که چیزی رو از بازار برنمیداره! من همه مراحل رو رفتم محصول رو ایجاد کردم و دریافت انجام گرفت ولی محصول واقعا چیه؟ مثلا یه عکسه یا فایل یا دیتابیس 
بعد چطور میشه این محصولات رو لیست کرد؟

----------


## hamidhtc

کسی میتونه رو این لیست ویو من پردا خت درون برنامه ای رو پیاده کنه ؟ هرکاری میکنم نمیشه!! http://s5.picofile.com/file/81379543...pBill.zip.html 
میخوام چند آیتم اول نشون داده شه ولی برای آیتم های بعدی پرداخت درون برنامه ای انجام شه https://barnamenevis.org/images/smilies/yahoo/107.gif

----------


## omid.n1990

سلام، الان میخواستم یک تاپیک جدید درست کنم سوال بپرسم در مورد پرداخت درون برنامه ای برای برنامه های مصرفی
این موضوع رو کسی حل نکرده!!؟!
اگر کسی از دوستان پرداخت درون برنامه ای رو برای موارد مصرفی مثل خرید سکه ایجاد کرده یک توضیحی بده خیلی ممون میشم. آخه تو موارد مصرفی دوتا بحث هست.
یک کالا ممکنه چندین بار استفاده بشه و همینطور بحث اینکه کاربر چه میزان از کالا رو مصرف کرده هم باید نگه داشته بشه برای حذف و نصب های بعدی.
کسی میدونه باید چیکار کرد؟

----------


## hamidhtc

Unrretitled.png

موقع اجرا این خطا رو میده!!!  :افسرده:

----------


## Pam.goudarzi

> Unrretitled.png
> 
> موقع اجرا این خطا رو میده!!!


بازار روی شبیه ساز نصبه؟

----------


## esmail3309

> دیدم خیلی ها تو پرداخت درون برنامه ای مشکل دارن، گفتم مشکلو حل کنیم! اول فایل ضمیه شده Inappbuilding رو دانلود کنید. بعد اکسترکتش کنید. فولد com رو داخل پوشه ی src بزارید. حواستون باشه override اش نکنید. بعد فایل های billing و BuyPremiumActiivty رو داخل پکیج اصلی برنامه تون برزید. (اونی که مثلا mainActivity) توش هست. بعد ایمپورت های بازم رو انجام بدید،


منظورتون از "بعد ایمپورت های بازم رو انجام بدید" چیه؟

----------


## fagh.faja

سلام دوستان
میشه آموزش پرداخت درون برنامه ای بازار را به زبان b4a هم بذارید؟
من از خود تابع inappbilling بازار میخوام استفاده کنم ولی متاسفانه اجرا نمیشه
لطفا راهنمایی کنید

----------


## saeidcd

لطفا یه بنده خدا طریقه مصرف سکه رو هم داخل اون پروژه اقای  Pam.goudarzi بزاره
مرسی

----------


## amirdelshad

ممنون 
ایا این تاپیک  پرداخت درون برنامه ای برنامه منو محدود میکنه که کاربر فقط اکتیویتی اولو ببینه و بقیه اکتیویتی ها رو تا خرید نکرده  نتونه ببینه ؟
 ایا باید بازم کد خاصی بنویسم؟

----------


## morteza_carefree

سلام دوست عزیز با xamarin برنامه بنویسم چجوری واسش پرداخت بذارم ؟
کلا از بازار استفاده کنم یا راه بهتری هم داره ؟

----------


## hamedjj

> سلام دوست عزیز با xamarin برنامه بنویسم چجوری واسش پرداخت بذارم ؟
> کلا از بازار استفاده کنم یا راه بهتری هم داره ؟


این لینک ها را ببینید :

http://components.xamarin.com/gettin...n.inappbilling
http://components.xamarin.com/view/xamarin.inappbilling
https://github.com/prashantvc/AndroidInAppBillingDemo

----------


## morteza_carefree

دوست عزیز ممنون اما من تازه xamarin رو شروع کردم
میشه نمونه کد بدین ؟

----------


## mohammad_no_one

> کسی میتونه رو این لیست ویو من پردا خت درون برنامه ای رو پیاده کنه ؟ هرکاری میکنم نمیشه!! http://s5.picofile.com/file/81379543...pBill.zip.html 
> میخوام چند آیتم اول نشون داده شه ولی برای آیتم های بعدی پرداخت درون برنامه ای انجام شه https://barnamenevis.org/images/smilies/yahoo/107.gif


به بنده ایمیل بده با یه هزینه ای درستش میکنم.
mohammad_number_one@yahoo.com

----------


## hamedg1366

با عرض سلام و خسته نباشید


دوستان پرداخت درون برنامه ای تا اندروید 5 خیلی خوب و روان کار میکنه ، اما بعد از اندروید 5 و مخصوصا اندروید 5.2 متاسفانه کد های پرداخت درون برنامه همون ابتدای کار (چک کردن کاربر) میمونن ؛ انگار که هیچ جوابی از سرور بازار به برنامه برگشت داده نمیشه


آیا شما هم با چنین مشکلی برخورد داشتین؟ 
چیکار میشه کرد؟


دقیقا تکه کد زیر وقتی اجرا میشه بی جواب باقی میمونه و دیالوگ باکس از بین نمیره

        mHelper = new IabHelper(this, RSA);


        final IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
            public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
               // Log.d(TAG, "Query inventory finished.");
                if (result.isFailure()) {
                    dialog.hide();
                    dialog.cancel();
                    //Log.d(TAG, "Failed to query inventory: " + result);
                    return;
                }
                else {

                   // Log.d(TAG, "Query inventory was successful.");

                    mIsPremium = inventory.hasPurchase(SKU_PREMIUM);

                    if (mIsPremium) {
                        Toast.makeText(Time_update.this, "شما قبلا خرید کرده و کاربر طلائی هستید", Toast.LENGTH_LONG).show();

                    }
                    
                    dialog.hide();
                    dialog.cancel();
                    
                   // Log.d(TAG, "User is " + (mIsPremium ? "PREMIUM" : "NOT PREMIUM"));
                }

               // Log.d(TAG, "Initial inventory query finished; enabling main UI.");
            }
        };

----------

