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

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

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


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

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

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


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

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

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

	            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.payDirect(options, 
					function(e) { 
					if(e.IsSuccess) 
					alert(e.TransactionCode); 
					else 
					alert(e.Error.Message.toString()); 
					} 
					); 
					} 
					</script> 
					
					</head> 

				
				
            


شناسه خرید

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