بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

نيازمندی های پرداخت درون برنامه ای - زرين پال

مدیریت گفتگو
zarinpal 12 سال پیش
آخرین تغییر: 12 سال پیش

با سلام

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

نظرات

uncocoder 12 سال پیش
جناب امیری عزیز، حضور شما و پیش قدم در این زمینه باعث افتخار هست. لطفاً در قسمت پروفایل لوگو مناسب خودتون رو درج نمایید. همینطور هر کمکی از دست من بر بیاد ، در خدمت شما هستم.
uncocoder 12 سال پیش
جناب امیری عزیز، دسترسی یوزر شما به سرویس های سایت و آموزشها، ویژه شد. هدیه بود برای خدمات بسیار عالی سایت شما.
zarinpal 12 سال پیش
دست شما درد نکنه. ما دوست داريم شما رو متقاعد کنيم که اگر کاربران آواتار خودشون رو آپلود نکرده بودن از چهرک استفاده کنيد :)
uncocoder 12 سال پیش
این موضوع نیازمند برنامه نویسی شدن آن در سایت ما هم هست. ابتدا تاپیکی مجزا در خصوص چهرک، معرفی آن، لینک آن، قابلیت های آن درج نمایید و در صورتی که API برای آن موجود است اطلاع دهید تا هم در سایت خودمان کاربردی کنیم و هم چنانچه مفید بود به عنوان یک آموزش ویدئویی در اندروید استفاده کنیم.
Dadparvar 12 سال پیش
به به جناب امیری عزیز (البته نمیدونم کدوم جناب امیری هستید.آقا مصطفی یا آقای علی امیری) ولی بهرحال بسیار از حضور شما خرسندم. (البته کارهای فنی رو جناب "امینی" پیگیر بودن.) امیدوارم بزودی این سروریس هم فعال بشه.تا اینجای کار از خدمات شرکت در زمینه های مختلف بهره بردم و بسیار راضی ام.بنده هم در حدتوان در خدمتم (البته تا جناب آقاجانی هست بنده چیزی برای عرضه ندارم. ;) )
zarinpal 12 سال پیش
چشم. برای چهرک انشالله يک پرسش مجزا باز ميکنيم. برگرديم به اصل موضوع. علی اميری هستم جناب عظيمی و در خدمتتون. انشالله بتونيم با پيشنهاداتی که عزيزان ميدن بتونيم اين سرويس رو پياده سازی کنيم. در کل فکر ميکنيد برای پياده سازی اين موضوع چه نيازهایی وجود داره ؟
uncocoder 12 سال پیش
به نظر می رسه این مطالعه این تاپیک در ابتدای کار مفید باشه لینک
sadeghbarout 12 سال پیش
با سلام و تشکر فراوان از شما. بنده هم آماده کمک به شما هستم و هر کاری که از دستم بر بیاد مضایقه نمیکنم
uncocoder 12 سال پیش
من فکر می کنم شاید بهتر باشه خودتون امکاناتی رو که بر اساس پرداخت درون برنامه ای PayPal یا Play Store استخراج و مطالعه کردید رو به اشتراک بگذارید که البته در خصوص Play Store چون پذیرنده مالی و پذیرنده اطلاعات یکی هستند کمی می تواند با سیستم فعلی مغایرت داشته باشد. اما پرداخت درون برنامه ای PayPal به نظر بسیار مفید است. برای درج مطالب دقیقتر می توانید هم سئوال را ویرایش نمایید و هم پاسخی جدید برای همین سئوال درج کنید. هر دو مورد تأیید هستند.
zarinpal 12 سال پیش
تا جائی که ما بررسی کرديم پرداخت درون برنامه ای PayPal به صورت ساده پياده سازی شده ولی با دريافت نظرات دوستان متوجه شديم نيازهای خاصی وجود داره که به طور مثال به عنوان مورد اصلی ميشه به دسترسی به آرشيو پرداخت های کاربر اشاره کرد. يعنی برنامه نويسان اندرويد به سرويسی نياز دارن که از طريق اون بتونن به آرشيو پرداخت های هر کاربر دسترسی داشته باشن.
جناب امیری در حقیقت آرشیو پرداخت های کاربر نیاز نیست. هر یه پرداخت رو بشه چک کرد که انجام شده یا نه - یعنی هر پرداختی با یه مولفه جدا از سمت برنامه نویس قابل چک کردن باشه
iSheykhi 12 سال پیش
دوستان، منم میتونم یک رابط کاربری مناسب برای سیستم پرداخت طراحی کنم...
محسن 12 سال پیش
سلام دوستان، پرداخت های مدت دار هم در نظر گرفته بشه خیلی خوبه، برای پیاده کردن اشتراک ها
برای پرداخت مدت دار، موقع چک کردن داشتن زمان پرداخت کافیه
Spirit 12 سال پیش
(اشتراک) سپاس از همه دوستان
Mhaghshenas 12 سال پیش
سلام .. اگه کمکی از دست من بر می آید در خدمتم .
CreativeBoy 12 سال پیش
سلام - با تشکر از شما، من هم آماده همکاری با شما هستم و امیدوارم که با این تجربه کم بتونم توی این پروژه کمکی بکنم.
h_r_v 12 سال پیش
آماده همکاری هستیم :دی
omid93 12 سال پیش
منم هر کمکی بتونم می کنم
irwonders 12 سال پیش
منم در صحنه حاضرم دوستان :)
MiRHaDi 12 سال پیش
البته این پروژه این همه نیرو لازم نداره ، ولی خوب کار تیمی کیفیت بهتری خواهد داشت ، در کنار دوستان بودن افتخار ماست
OmidAhmadian 12 سال پیش
بنده هم اگر کمکی از دستم بر بیاد در خدمتم :)
Astro 12 سال پیش
تشکر از شما به نظرم ماه عسل این کار هر چه شد باید مستندات ، نمونه کد و توضیحات قوی برای برنامه نویسان داشته باشه
طاهر 12 سال پیش
به نظرم بهتره آقای امیری داشته های فعلی خودشون رو مطرح کنند تا دوستان بتونن نظر بدن و امکانات کم و زیاد بشه تا به جمع بندی کلی برسیم

پاسخ‌ها 2

zarinpal 12 سال پیش

با سلام،
با توجه به نيازسنجی صورت پذيرفته و جمع آوری مستندات صورت پذيرفته در ساير شيوه های پرداخت موبايلی رايج، عملا صورت نياز عام پياده سازی شده، به صورت زير خواهد بود.

هر درخواست پرداخت بوسيله يک uniqueID مشخص از سوی توسعه دهنده نرم افزار موبايل، مشخص می گردد که می بايست پس از پرداخت به وسيله uniqueID مشخص شده قابليت رهگيری پرداخت وجود داشته باشد. عملا با اين شيوه دوستان قادر خواهند بود که به هر شيوه ای uniqueID را در سمت خودشون ايجاد و به شيوه های متفاوت کنترل نمايند، مثلا برای نسخه های متفاوت نرم افزار، uniqueID های متفاوت ايجاد نموده و با استعلام UniqueID از سوی زرين پال وضعيت پرداخت را مشخص نمايند. ابهام موجود در اين بخش اين هست که شيوه برخورد زرين پال، با اين uniqueID به چه صورتی تعريف گردد و عملا زرين پال اجازه ايجاد درخواست با uniuqueID های تکراری را ميسر نموده و يا بر اساس درخواست اجازه ايجاد درخواست تکراری را ميسر ننمايد.
با توجه به نوع نياز دوستان، ظاهرا زرين پال نبايد کنترلی بر روی اين uniqueID داشته باشد و تنها امکان اخذ گزارشات متفاوت بر اساس پارامتر مورد اشاره ميسر باشد و عملا تکرار درخواست در سمت توسعه دهنده نرم افزار صورت پذيرد.
به صورت نمونه چنانچه با UniqueID درخواست پرداختی ايجاد گردد و در زمان مقرر پرداخت توسط کاربر صورت نپذيرد و يا بنا به هر دليلی پرداخت توسط کاربر با شکست مواجه گردد چنانچه اين کنترل در سمت زرين پال افزوده شده باشد امکان پرداخت ميسر نخواهد بود و عملا اختلالات زيادی ايجاد خواهد شد و باز توليد مجدد UniqueId ها ناممکن خواهد بود.

با توجه به مجموع گفته های فوق، منتظر اعلام نظر دوستان در اين مورد هستيم.
باتشکر
مصطفی امیری

نظرات

uncocoder 12 سال پیش

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

به نظر من بهتر است برای uniqueId شما توسعه دهنده را مجاب به استفاده از اطلاعات زیر کنید:

package //ex: com.uncocoder.course.app.calculator
applicationVersion //ex: 2.03
supportedVersion //ex: 1
deviceUuid //ex: 'androidId-IMEI-MAC'
consumable //ex: 0 or 1

  • package: هر نرم افزار می تواند تنها یک نام پکیج به خود اختصاص دهد. پس نام پکیج اصلی ترین عامل unique بودن یک نرم افزار است.
  • applicationVersion: نسخه نرم افزاری که در حال حاضر جهت استفاده آماده است چون به آن نیاز داریم.
  • supportedVersion: نسخه ای که پرداخت با آن سازگار است. به طور مثال اگر ورژن نرم افزار 2.03 باشد و ورژن پرداخت قابل ساپورت 1 معرفی شود، تمام کاربرانی که نسخه 1 و به بعد آنرا خریده اند می توانند از این نسخه هم استفاده نمایند. اما اگر به طور مثال 2 باشد یعنی تنها کاربرانی که نسخه 2 را خریده اند می توانند از از نسخه 2.03 استفاده رایگان نمایند.
  • deviceUuid: چنانچه بصورت هر ترکیبی از androidId-IMEI-MAC تعریف شود، می تواند معرف unique بودن Device باشد. پس خرید ها به ازای هر device انجام پذیر خواهد بود. حالا ممکن است شخصی هزاران تومان پرداخت کرده باشد و قصد انتقال License های خود را داشته باشد. این کاملاً نیاز است که توسط API زرین پال ساپورت شود که کار دشواری هم نیست. انتقال License ها باعث می شود نرم افزار در گوشی های پیشین قابل استفاده نباشد.
  • consumable: چنانچه این فیلد 1 باشد یعنی خرید برای مصرف است و هیچ مالکیتی را در بر ندارد. به طور مثال خرید جواهرات بازی. در این شرایط فیلدهای applicationVersion و supportedVersion قابل استفاده نخواهد بود. حتی پس از Verify شدن تراکنش توسط کاربر گوشی، این اطلاعات قابل حذف از بانک zarinpal نیز می باشد اما جهت مراجعه آینده اگر نگهداری شود بهتر است. در این شرایط توسط زرین پال هیچ جستجوی جهت تکراری بودن درخواست صورت نخواهد گرفت و هر درخواست در رکورد جداگانه قابل ثبت است.

این اطلاعات می تواند در قالب یک Input به سرور اعمال شود. بهتر است برای خرید های مصرفی API جداگانه ای وجود داشته باشد که مشخص شود که دو فیلد applicationVersion و supportedVersion لازم نیست.

نظرات

sadeghbarout 12 سال پیش
استاد مطمئنا ایمیلی هم باید برای ارسال رسید پرداخت از کاربر دریافت بشه. شاید بشه از اون هم توی ساخت کد یونیک استفاده کرد
MEHDI007 12 سال پیش
استاد شما می تونید اموزش تصویر درست کنید در این زمینه؟
uncocoder 12 سال پیش
ایمیل راهکار مناسبی نیست. چرا که میشه در قسمت account های اندروید چندین ایمیل را ثبت کرد. در این شرایط ممکنه یه سایتی بیاد برای مشتریان ویژه خودش یک ایمیلی رو ارسال کنه و بگه هر کی می خواد نرم افزارهای سایت ما براش رایگان بشه، این ایمیل رو به لیست ایمیل هاش اضافه کنه. اون موقع هر چی اون سایت با اسم اون ایمیل بخره برای سایر کاربرانی که ایمیل رو به لیست ایمیل هاشون اضافه کردن، رایگان میشه.
Amin_913 12 سال پیش
اپلیکیشن آندروید زرین پال رو از لینک میتونید بگیرید، به نقل از فیس بوک آقای علی امیری: "اپليکيشن اندرويد زرين پال رو مدتی بود تست ميکرديم و از خيلی از دوستان پيشنهاد های مختلفی گرفته بوديم که سعی کرديم تا جای ممکن اعمال کنيم. از صبح امروز نسخه آزمايشی اپليکيشن رو برای استفاده عمومی منتشر کرديم و خوشحال ميشيم دوستانی که تست ميکنن، باز هم پيشنهادات و نظرات خودشون رو در مورد اپليکيشن به ما بدن تا انشالله در نسخه اول اونها رو اعمال کنيم."

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .