رفتن به مطلب

آموزش تصویری امن کردن پرداخت درون برنامه ای با استفاده از Api بازار


ارسال های توصیه شده

در 2 ساعت قبل، amir1335pp گفته است :

 

 

 

 

 

مشکل از کتابخونتونه عزیز. کتابخونه درون پرداخت بازار رو از فروشگاه انجمن تهیه کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 10 ماه بعد...
  • پاسخ 90
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

پست های محبوب

به نام خداوند آپدیت ویژه: دریافت خودکار توگن سمت سرور و ارسال نتیجه خرید به صورت رمز شده با استفاده از Persian_Encryption لینک دریافت آپدیت Purchace_Aouto_Incryption.7z  

سلام. اموزش رو هنوز ندیدم ولی نظرات رو خوندم. خوشحالم که این همه علاقه مند به برنامه نویسی و امنیت داریم و هر کسی روش خاص خودشو داره. دوستان بهتره اطلاعاتی رو که داریم در اختیار هم بزاریم نه اینکه دعو

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

تصاویر ارسال شده

سلام

پرداخت اشتراکی رو هم میشه توضیح بدید؟

من با این کتابخونه پرداخت اشتراکی رو انجام دادم ولی نمیدونم چجوری هر بار چک کنم ببینم ایا مدت اشتراک تموم شده یا نه

لطفا کمک کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 6 ماه بعد...

سلام

من از کتابخونه های شما دارم استفاده میکنم

کتابخونه m_httputils2 توی اینشیالایز خطا میده کلا به جاش من از کتابخونه httputils2 استفاده کردم اون خطا نمیده و اطلاعات رو ارسال میکنه

فایل php رو هم توی سرور مطابق فایهای جدید کتابخونه پرشین انکریپت درست کردم

توی نتیجه درخواست که به اپ برمیگرده خطا هست که فکر میکنم به خاطر اینه که اطلاعات درست ارسال نمیشه

هر دفعه یکی از متغیرهایی که ارسال شده رو خطا میگیره نمیتونه دیکریپت کنه

<b>Warning</b>:  file_get_contents(https://pardakht.cafebazaar.ir/devapi/v2/api/validate/error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length/inapp/testkhosh/purchases/0RbWLIR4wXYqMGdY/?access_token=J47cijHc9XTfiPY3YLSJKdhD1xxUcg): failed to open stream: HTTP request failed! HTTP/1.1 404 NOT FOUND

مثلا الان به پکیج نیم ایراد گرفته یه بار دیگه ممکنه یکی دیگه رو خطا بگیره

توی برنامه لاگ گرفتم کد ها به درستی ساخته میشن 

 

اینم کد php هست

include 'PersianCipher.php';
const secretKey ='fthrvxdgfrhju56f';
$packageName = $productId = $purchaseToken =$id= "";
////////////////////////////////////////
if ($_POST)
{	
   $packageName =decrypt($_POST['packageName']);
   $productId= decrypt($_POST['productId']);
   $purchaseToken = decrypt($_POST['purchaseToken']);
   $id = decrypt($_POST['id']);
}
function test_input($data)
{
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}

function encrypt($text){
    $encrypt = AesCipher::encrypt(secretKey, $text);
    if(!$encrypt->hasError()){
      return  $encryppt->getData();
    }else{
         return  $encryppt->getErrorMessage();
    }
}
 function decrypt($text){
    $decrypted = AesCipher::decrypt(secretKey, $text);
    if(! $decrypted->hasError()){
      return  $decrypted->getData();
    }else{
         return  $decrypted->getErrorMessage();
    }
}
//////////////////////////////////////

$togenurl ='https://pardakht.cafebazaar.ir/devapi/v2/auth/token/';
$data = array('grant_type' => 'refresh_token', 
'refresh_token' => 'توکن',
'client_id'=>'آی دی',
'client_secret'=>'سکرت');
$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data),
    ),
);
$context  = stream_context_create($options);
$result = file_get_contents($togenurl, false, $context);
$obj=json_decode($result);
$acesstogen=$obj->{'access_token'};
ini_set("allow_url_fopen", 1);
$chekpurchaseurl="https://pardakht.cafebazaar.ir/devapi/v2/api/validate/".$packageName."/inapp/".$productId."/purchases/".$purchaseToken."/?access_token=".$acesstogen;
$json = file_get_contents($chekpurchaseurl);
$obj = json_decode($json);
$stat=$obj->purchaseState;
if($stat===0){
$decryptvalue="am".$id."nr";
$decrypted = encrypt($decryptvalue);
print $decrypted;
}

* اون قسمت توکن و آی دی و سکرت هم درست هستند

بدون انکریپت و دیکریپت تست شد به درستی کار میکرد و خرید تایید میشد

ممنون مشم راهنمایی بفرمایید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، aminmoghadas گفته است :

 

از کتابخونه persianfastnet برای ارسال دیتا استفاده کنید و اینکه چک کنید کانفیگ بین سرور و اندروید تو بحث رمزنگاری به درستی انجام شده باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 13 دقیقه قبل، محمدرضا شاهپیری گفته است :

از کتابخونه persianfastnet برای ارسال دیتا استفاده کنید و اینکه چک کنید کانفیگ بین سرور و اندروید تو بحث رمزنگاری به درستی انجام شده باشه

الان اطلاعات بدون کد کردن درست رد و بدل میشه بدون هیچ خطایی چندین بار تست شد.

فقط وقتی انکریپت میشن این مشکل پیش میاد

توی فایل php طبق آموزش جدید کتابخونه تنظیم شده

توی اپ هم وقتی لاگ میگیرم قبل از ارسال همه متغیر ها درست انکریپت میشن

یعنی وقتی انکریپت میشن توی ارسالشون کتابخونه httputils2 مشکل پیدا میکنه؟ چون بدون انکریپت شاید 100 بار تست کردم هیچ دفعه ای خطا نخورد

کدهای فایل php رو گذاشتم اگر نیازه تا کد های اپلیکیشن رو هم بزارم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 47 دقیقه قبل، aminmoghadas گفته است :

 

عزیز کتابخونه httputil کتابخونه استانداردی برای ارتباط با سرور نیست و برای کارهای ساده خوبه. از کتابخونه fastnet استفاده کنید انشالا که موردی نباشه. چون اگه طبق آموزش پیش رفتین نباید موردی باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

عذر خواهی میکنم که تاپیک رو بالا میارم دوباره

از کتابخونه پرشین فست نتورک استفاده شد 

فقط مشکل اینه که توی ارسال اطلاعات بعد از چند ثانیه لاگ های زیر رو میده با این که فایل موجوده 

Log(Error.ErrorDetails) => connectionError
Log(Error.ErrorMsage) => com.androidnetworking.error.ANError: java.net.SocketTimeoutException
Log(Error.CauseMessage) => java.net.SocketTimeoutException
Log(Error.ErrorBody) => null
Log(Error.ErrorLocalizedMsage) => com.androidnetworking.error.ANError: java.net.SocketTimeoutException
Log(Error.ResponseBody) => null

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 2 ساعت قبل، aminmoghadas گفته است :

 

در خواستتون تایم اوت شده هموطن که دیگه مشخص هست چه مشکلی به وجود اومده. سورس پروژه رو برام خصوصی بفرستید تا بررسی کنم.

 
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

خیلی عالی بود آموزشتون فقط دو تا سوال:

1-  access_token همیشه ثابت هست؟

2- refresh_token رو تو php  وارد کردیم. راهی هست که اتوماتیک هر سری از سرور درخواست کنه؟

3- بلاخره نفهمیدم که هر چند ثانیه این expires_in باطل میشه.

بازم ممنون از شما.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 5 ماه بعد...

باسلام  خیلی  عالی  

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

 

هرچند  اینم  میتونن  پکیج نیمه  برنامه  رو  عوض  کنن  ولی   توی  اندروید  ۶  به بالا بعدش  نصب نمیشه     بعد  تعدادم این افرادم  خیلی  محدود  میشه  اگه  کسی  میدونه  چطور  میشه  این  حرکت  پیاد  کرد  بگه   استفاده  کنیم :crazy::ireful:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 2 هفته بعد...
در در 12 اسفند 1395 در 16:25، محمدرضا شاهپیری گفته است :

اولا که هر توگن 42 روز اعتبار داره نه یه ساعت.

ثانیا تفاوت تو امنیت منظور بوده نه تازه سازی توگن.

 

برای این مساله هم یه راه خیلی ساده وجود داره که از طریق خود برنامه میشه این کار رو انجام داد و هیچ نیازی نیست که سمت سرور کاری انجام بشه

انشالا آموزش تکمیلی در این خصوص تهیه میشه و خدمت دوستان ارائه میشه.

 

سلام آموزش این قسمت ساخته شده؟

چطور میشه در خود برنامه توکن دسترسی رو گرفت؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.


×
  • اضافه کردن...