PDA

View Full Version : سوالی در رابطه با developer payload(امن کردن پرداخت درون برنامه ای)



bahman72313
دوشنبه 11 خرداد 1394, 00:04 صبح
سلام دوستان میشه بفرمایید آیا developer payload همون SKU_PREMIUM هست یا نه؟ میدونم به احتمال زیاد جواب نه هستش.خوب اون موقع ما چطوری می تونیم یک developer payload تعریف کنیم و به هنگام خرید بفرستیم و بعد از عملیات خرید مچ بودن اطلاعات رو چک کنیم؟

djtrex
دوشنبه 11 خرداد 1394, 00:42 صبح
SKU شناسه محصولتون هست.
developer payload مقداری هست که اپتون به هنگام خرید میفرسته و پس از خرید بازار(یا مارکت های دیگه!) اونو به همراه اطلاعات خرید بر میگردونه. همچنین توی rest api مربوط به خرید درون برنامه ای و موقع query inventory هم این مقدار رو بر می گردونه.

بهترین و امن ترین حالت که به نظرم میرسه اینه که قبل از خرید، اپ یه درخواست به سرور خودتون بده و یه payload بگیره (یه مقدار رندوم با تعداد کاراکتر بالا مثلا ۶۴ کاراکتر یا یه uuid) بعد موقع خرید اونو به بازار بده. موقع برگشت وقتی دارید خرید رو با api بازار سمت سرور چک میکنید مقدار payload رو هم چک می کنید. (همه این انتقال های دیتا بین سرور و اپ هم از طریق https صورت بگیره)

ولی خوب این روش با اینکه امنیت بالایی داره پیچیدگی خودشو داره. می تونید صرفا یه مقدار رندوم تولید کنید (یا یه الگوریتمی که مخصوص اپ خودتون هست) و با api بازار سمت سرور خریدتون رو چک کنید .

در ضمن lucky patcher همین developer payload رو برمیگردونه!!

bahman72313
دوشنبه 11 خرداد 1394, 10:01 صبح
ممنون دوست عزیز.مطلب برام جا افتاد.فقط یه چیزه دیگه ذهنمو مشغول کرده.ما چطوری این
developer payload رو به بازار می فرستیم؟ تا جایی که من می دونم برای دکمه خرید کد زیر رو اجرا می کنیم تا به بازار متصل شویم:
[JAVA]
mHelper.launchPurchaseFlow(ActivityMain.this, SKU_PREMIUM, 0, onIabPurchaseFinished);


فقط با این کد با بازار ارتباط برقرار میکنیم.در این کد شناسه محصول رو به بازار می فرستیم اما چطوری میتونیم developer payload رو هم به بازار ارسال کنیم؟

djtrex
دوشنبه 11 خرداد 1394, 11:23 صبح
پنجمین آرگومان که اختیاری هست مربوط به payload هست:


mHelper.launchPurchaseFlow(
activity,
SKU_PREMIUM,
RC_REQUEST,
mPurchaseFinishedListener,
developerPayload
);

navab1362
شنبه 01 آبان 1395, 12:02 عصر
سلام
من developer payload رو به بازار ارسال کردم. ولی زمانیکه از بازار جواب میاد تو کلاس Purchase متد getDeveloperPayload خالیه. این در حالیه که موقع ارسال خرید توسط متد launchPurchaseFlow ، پارامتر مربوطه مقدار داره! و بقیه متدها نظیر getOrderId،getSku و ... موقع جواب مقدار دارن.
ممنون میشم اگه راهنمایی کنید. متاسفانه پشتیبانی بازار هم جواب نداد و گفتند مستندات را مطالعه کنم!!