رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

مشکل در پرداخت درون برنامه بازار


پست های پیشنهاد شده

سلام من یه برنامه نوشتم که کد پرداخت درون برنامه ی اون اینجوریه :

private IabHelper mHelper;
private String base64EncodedPublicKey;  // کدم را وارد کردم
private String SKU_PREMIUM ";// شناسه محصولم را وارد کردم
private String TAG = "";
private int RC_REQUEST = 10005;
private Activity _activity = ActivityHome.this;
private ProgressDialog _pgDialog;
private IabHelper.QueryInventoryFinishedListener mQueryFinishedListener;
private IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener;

btnBuy.setOnClickListener(new OnClickListener() {
		@Override
		public void onClick(View arg0) {
			if(!isFullVersion()){
				if(isNetworkAvailable()){
					mHelper = new IabHelper(_context, base64EncodedPublicKey);

					mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
						   public void onIabSetupFinished(IabResult result) {
						      if (!result.isSuccess()) {
						         Log.d(TAG, "Problem setting up In-app Billing: " + result);
						      }
						      else{
						    	// Hooray, IAB is fully set up!

						    	  ArrayList additionalSkuList = new ArrayList();
						    	  additionalSkuList.add(SKU_PREMIUM);
						    	  mHelper.queryInventoryAsync(true, additionalSkuList, mQueryFinishedListener);
						      }
						   }
					});
				}else{
					// internet not conected
				}
			}
		}
	});

mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
		public void onQueryInventoryFinished(IabResult result, Inventory inventory)  
		{
			if (result.isFailure()) {
				// faild
				return;	
			}
			else{
				if(inventory.hasPurchase(SKU_PREMIUM)){
					// full version enable
					Toast.makeText(_context, "شما قبلا نسخه ی کامل برنامه را خریداری نمودید", Toast.LENGTH_LONG).show();
				}else{
					mHelper.launchPurchaseFlow(_activity, SKU_PREMIUM, RC_REQUEST,  
							   mPurchaseFinishedListener, "");
				}
			}
	   }
	};

mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
	   public void onIabPurchaseFinished(IabResult result, Purchase purchase){
		   if (result.isFailure()) {
			   Log.d(TAG, "Error purchasing: " + result);
			   return;
		   }      
		   if (purchase.getSku().equals(SKU_PREMIUM)) {
			     // full version enable
                                    Toast.makeText(_context, "نسخه ی کامل برنامه با موفقیت خریداری شد", Toast.LENGTH_LONG).show();
		   }
	   }
	};

وقتی کاربر خرید میکنه خرید انجام میشه و پول از حساب کاربر خارج میشه ولی mPurchaseFinishedListener فراخوانی نمیشه و توی قسمت سوم هم inventory.hasPurchase(SKU_PREMIUM) خروجی false میده.

کسی مشکلشو میدونه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر
لینک ارسال
به اشتراک گذاری در سایت های دیگر

من خودم از روی یه فیلم آموزشی دیدم. برا اون جواب میداد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام 

میشه بگید اون اموزشی که شما دیدید از کجا پیدا کردید . چون من خودم هم نمی دونم میخوام بیشتر در این مورد یاد بگیرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...