آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

zarinpal  12 سال پیش  11 سال پیش
+25 0

با سلام

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

+1 0
جناب امیری عزیز، حضور شما و پیش قدم در این زمینه باعث افتخار هست. لطفاً در قسمت پروفایل لوگو مناسب خودتون رو درج نمایید. همینطور هر کمکی از دست من بر بیاد ، در خدمت شما هستم. (12 سال پیش)
+1 0
جناب امیری عزیز، دسترسی یوزر شما به سرویس های سایت و آموزشها، ویژه شد. هدیه بود برای خدمات بسیار عالی سایت شما. (12 سال پیش)
+1 0
دست شما درد نکنه. ما دوست داريم شما رو متقاعد کنيم که اگر کاربران آواتار خودشون رو آپلود نکرده بودن از چهرک استفاده کنيد :) (12 سال پیش)
+1 0
این موضوع نیازمند برنامه نویسی شدن آن در سایت ما هم هست. ابتدا تاپیکی مجزا در خصوص چهرک، معرفی آن، لینک آن، قابلیت های آن درج نمایید و در صورتی که API برای آن موجود است اطلاع دهید تا هم در سایت خودمان کاربردی کنیم و هم چنانچه مفید بود به عنوان یک آموزش ویدئویی در اندروید استفاده کنیم. (12 سال پیش)
+1 0
به به جناب امیری عزیز (البته نمیدونم کدوم جناب امیری هستید.آقا مصطفی یا آقای علی امیری) ولی بهرحال بسیار از حضور شما خرسندم. (البته کارهای فنی رو جناب "امینی" پیگیر بودن.) امیدوارم بزودی این سروریس هم فعال بشه.تا اینجای کار از خدمات شرکت در زمینه های مختلف بهره بردم و بسیار راضی ام.بنده هم در حدتوان در خدمتم (البته تا جناب آقاجانی هست بنده چیزی برای عرضه ندارم. ;) ) (12 سال پیش)
+1 0
چشم. برای چهرک انشالله يک پرسش مجزا باز ميکنيم. برگرديم به اصل موضوع. علی اميری هستم جناب عظيمی و در خدمتتون. انشالله بتونيم با پيشنهاداتی که عزيزان ميدن بتونيم اين سرويس رو پياده سازی کنيم. در کل فکر ميکنيد برای پياده سازی اين موضوع چه نيازهایی وجود داره ؟ (12 سال پیش)
+1 0
به نظر می رسه این مطالعه این تاپیک در ابتدای کار مفید باشه لینک (12 سال پیش)
+2 0
با سلام و تشکر فراوان از شما. بنده هم آماده کمک به شما هستم و هر کاری که از دستم بر بیاد مضایقه نمیکنم (12 سال پیش)
+1 0
من فکر می کنم شاید بهتر باشه خودتون امکاناتی رو که بر اساس پرداخت درون برنامه ای PayPal یا Play Store استخراج و مطالعه کردید رو به اشتراک بگذارید که البته در خصوص Play Store چون پذیرنده مالی و پذیرنده اطلاعات یکی هستند کمی می تواند با سیستم فعلی مغایرت داشته باشد. اما پرداخت درون برنامه ای PayPal به نظر بسیار مفید است. برای درج مطالب دقیقتر می توانید هم سئوال را ویرایش نمایید و هم پاسخی جدید برای همین سئوال درج کنید. هر دو مورد تأیید هستند. (12 سال پیش)
+1 0
تا جائی که ما بررسی کرديم پرداخت درون برنامه ای PayPal به صورت ساده پياده سازی شده ولی با دريافت نظرات دوستان متوجه شديم نيازهای خاصی وجود داره که به طور مثال به عنوان مورد اصلی ميشه به دسترسی به آرشيو پرداخت های کاربر اشاره کرد. يعنی برنامه نويسان اندرويد به سرويسی نياز دارن که از طريق اون بتونن به آرشيو پرداخت های هر کاربر دسترسی داشته باشن. (12 سال پیش)
+1 0
آماده همکاری با شما هستیم :) (12 سال پیش)
+1 0
آماده همکاری با شما هستیم :) (12 سال پیش)
+1 0
جناب امیری در حقیقت آرشیو پرداخت های کاربر نیاز نیست. هر یه پرداخت رو بشه چک کرد که انجام شده یا نه - یعنی هر پرداختی با یه مولفه جدا از سمت برنامه نویس قابل چک کردن باشه (12 سال پیش)
+1 0
دوستان، منم میتونم یک رابط کاربری مناسب برای سیستم پرداخت طراحی کنم... (12 سال پیش)
+1 0
سلام دوستان، پرداخت های مدت دار هم در نظر گرفته بشه خیلی خوبه، برای پیاده کردن اشتراک ها (12 سال پیش)
+1 0
برای پرداخت مدت دار، موقع چک کردن داشتن زمان پرداخت کافیه (12 سال پیش)
+1 0
(اشتراک) سپاس از همه دوستان (12 سال پیش)
+1 0
سلام .. اگه کمکی از دست من بر می آید در خدمتم . (12 سال پیش)
+1 0
سلام - با تشکر از شما، من هم آماده همکاری با شما هستم و امیدوارم که با این تجربه کم بتونم توی این پروژه کمکی بکنم. (12 سال پیش)
+1 0
آماده همکاری هستیم :دی (12 سال پیش)
+1 0
منم هر کمکی بتونم می کنم (12 سال پیش)
+1 0
منم در صحنه حاضرم دوستان :) (12 سال پیش)
+1 0
البته این پروژه این همه نیرو لازم نداره ، ولی خوب کار تیمی کیفیت بهتری خواهد داشت ، در کنار دوستان بودن افتخار ماست (12 سال پیش)
0 0
بنده هم اگر کمکی از دستم بر بیاد در خدمتم :) (12 سال پیش)
0 0
سلام بنده هم در خدمتم . (12 سال پیش)
0 0
تشکر از شما به نظرم ماه عسل این کار هر چه شد باید مستندات ، نمونه کد و توضیحات قوی برای برنامه نویسان داشته باشه (12 سال پیش)
+1 0
به نظرم بهتره آقای امیری داشته های فعلی خودشون رو مطرح کنند تا دوستان بتونن نظر بدن و امکانات کم و زیاد بشه تا به جمع بندی کلی برسیم (12 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
zarinpal  12 سال پیش
+9 0

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

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

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

پاسخ به سوال 
uncocoder  12 سال پیش
+8 0

باید این نکته را در نظر گرفت که خیلی از استفاده کنندگان سرویس شما، خیلی چیزها را بلد نیستند. چنانچه در 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 لازم نیست.

+1 0
استاد مطمئنا ایمیلی هم باید برای ارسال رسید پرداخت از کاربر دریافت بشه. شاید بشه از اون هم توی ساخت کد یونیک استفاده کرد (12 سال پیش)
+1 0
استاد شما می تونید اموزش تصویر درست کنید در این زمینه؟ (12 سال پیش)
+1 0
ایمیل راهکار مناسبی نیست. چرا که میشه در قسمت account های اندروید چندین ایمیل را ثبت کرد. در این شرایط ممکنه یه سایتی بیاد برای مشتریان ویژه خودش یک ایمیلی رو ارسال کنه و بگه هر کی می خواد نرم افزارهای سایت ما براش رایگان بشه، این ایمیل رو به لیست ایمیل هاش اضافه کنه. اون موقع هر چی اون سایت با اسم اون ایمیل بخره برای سایر کاربرانی که ایمیل رو به لیست ایمیل هاشون اضافه کردن، رایگان میشه. (12 سال پیش)
+5 0
اپلیکیشن آندروید زرین پال رو از لینک میتونید بگیرید، به نقل از فیس بوک آقای علی امیری: "اپليکيشن اندرويد زرين پال رو مدتی بود تست ميکرديم و از خيلی از دوستان پيشنهاد های مختلفی گرفته بوديم که سعی کرديم تا جای ممکن اعمال کنيم. از صبح امروز نسخه آزمايشی اپليکيشن رو برای استفاده عمومی منتشر کرديم و خوشحال ميشيم دوستانی که تست ميکنن، باز هم پيشنهادات و نظرات خودشون رو در مورد اپليکيشن به ما بدن تا انشالله در نسخه اول اونها رو اعمال کنيم." (11 سال پیش)

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