استفاده از کتابخانه وب دومرحله‌ای

فروش از طریق کتابخانه وب دومرحله‌ای

نام این کتابخانه به این دلیل دومرحله‌ای است که کاربر در دو مرحله ارایه شماره تلفن و تایید پرداخت، عملیات پرداخت را انجام می‌دهد. در این کتابخانه نیاز است کاربر شماره تلفن خود را وارد نماید. سناریوی پرداخت به این ترتیب است که با زدن دکمه خرید، و با صدا زدن وب‌سرویس ثبت اطلاعات خرید توسط توسعه‌دهنده، شماره تلفن از کاربر دریافت می‌شود و سپس کد ۵ رقمی برای کاربر ارسال شده و پاپ‌آپ پرداخت به کاربر نمایش داده می‌شود. در این پاپ‌آپ اطلاعات خرید وجود دارد و کاربر می‌تواند با تایید خود عملیات خرید را تکمیل کند. لازم به ذکر است که کتابخانه دو‌مرحله‌ای برای مواردی‌ است که توسعه‌دهنده، شماره تلفن کاربر را در اختیار ندارد.


ساختار Header درخواست

نیاز است تا در تمام درخواست‌هایی که از سمت توسعه‌دهنده ارسال می‌شود، ساختار Header رعایت شود. پارامتر‌های موجود در هدر به شرح زیر است:

  • RUID: متنی از نوع GUID که توسط توسعه‌دهنده تولید می‌شود.
  • PRODUCT: شناسه برنامه که در پنل توسعه‌دهنده تعریف شده است.
  • REQUESTDATE: زمان ارسال درخواست به فرمت yyyyMMddHHmmss
  • SIGNATURE: امضا شده body درخواست
  • Appson-Identity-App-Id: شناسه دریافت شده از سامانه احراز هویت (جهت دریافت این شناسه ایمیلی حاوی مشخصات برنامه خود به آدرس danial@appson.ir ارسال نمایید.)


ارسال درخواست فروش برای کاربر

همان‌طور که قبلا ذکر شد، جه انجام فرآیند فروش نیاز است تا ابتدا درخواستی جهت فروش ثبت شده و شناسه مربوطه را دریافت نمایید. سپس از این شناسه جهت پیش بردن پرداخت استفاده کنید. جهت ارسال درخواست فروش و دریافت شناسه نیاز است تا Header درخواست به شکلی که در قسمت قبل ذکر شد، باشد و بدنه درخواست به شکل JSON و شامل پارامترهای زیر باشد:

  • Date: زمان ارسال درخواست.
  • ProductCode: کد برنامه که در پنل کاربری تعریف شده است.
  • ProductItemCode: کد کالای فروشی که درخواست برای فروش آن ثبت می‌شود.
  • RUID: رشته‌ای از نوع GUID.
نمونه‌ای از کد تولید بدنه درخواست به شکل زیر است:
                
				var dto = new ResigterationRequestDto
	            {
	                Date = DateTime.UtcNow.ToString("yyyyMMddHHmmss"),
	                ProductCode = ProductCode,
	                ProductItemCode = ProductItemCode,
	                RUID = Guid.NewGuid().ToString("N")
	            };
	

	            var text = jsonSerializer.SerializeToString(dto);
				
            
توجه شود که تمام پارامترهایی که در Header و Body درخواست مشترک هستند باید مقادیر یکسانی داشته باشند و در غیر این صورت درخواست با خطا مواجه خواهد شد.
پس از ارسال درخواست، در صورت درست بودن پارامترها و تطابق پارامترهای Header و Body، پاسخ شامل پارامتر IsSuccess با مقدار true خواهد بود و شما می‌توانید مقدار پارامتر RequestId را به عنوان شناسه درخواست پرداخت در نظر بگیرید.


خرید توسط کاربر

پس از طی مرحله قبل و دریافت شناسه درخواست پرداخت، می‌توان کاربر را جهت طی مراحل پرداخت راهنمایی نمود. جهت پیمودن مراحل پرداخت نیاز است تا درخواست زیر در واسط کاربری وب تعبیه کرده و اجرا شود. پس از پر کردن پارامترهای request و appId و صدا زدن تابع appson.payment.pay پاپ‌آپ مورد نظر به کاربر نمایش داده ‌می‌شود.
در این قسمت appId شناسه دریافت شده از سامانه احراز هویت است(جهت دریافت این شناسه ایمیلی حاوی مشخصات برنامه خود به آدرس danial@appson.ir ارسال نمایید.).
نمونه کد واسط کاربری جهت طی نمودن مرحل پرداخت به صورت زیر است:

                
				
					<head> 
					<script src="https://pg.appson.ir/libs/js/PopUpPaymentWithPhoneNumber/v/1" ></script> 
					<script> 
					
					var options={}; 
					options.request=getParameterByName('guid'); 
					options.appId=getParameterByName('appId'); 
					
					appson.payment.pay(options, 
					function(e) { 
					if(e.IsSuccess) 
					alert(e.TransactionCode); 
					else 
					alert(e.Error.Message.toString()); 
					} 
					); 
					} 
					</script> 
					
					</head> 

				
				
            


شناسه خرید

پس از اتمام عملیات خرید توسط کاربر، شناسه خرید به صورت پارامتری با عنوان TransactionCode بازگردانده می‌شود. از این شناسه می‌توان جهت پیگیری خرید استفاده نمود.