هاست لینوکس

آخرین بسته‌ی MyBB: نسخه‌ی 1.8.27 MyBB منتشر شد


امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش نوشتن پلاگین پرداخت آنلاین بانکها برای تمامی سیتمها و مای بی بی
#1
درود
قصد دارم آموزش نوشتن ماژول (پلاگین ) افزونه پرداخت آنی و آنلاین بانکها را برای تمامی سیستمها برای دوستان بگذارم به زودی آموزش رایگان در این قسمت برای پلاگین نویسهای گرامی آغاز خواهد شد Heart
پاسخ
 سپاس شده توسطmhy (۱۳۹۱/۸/۲۵، ۰۰:۰۱:۱۶ صبح) ، Doodoo (۱۳۹۱/۸/۲۵، ۰۰:۰۴:۴۶ صبح) ، Mohammad-Za (۱۳۹۱/۸/۲۵، ۰۰:۴۱:۰۳ صبح) ، geo (۱۳۹۱/۸/۲۵، ۰۰:۵۹:۵۰ صبح) ، khp (۱۳۹۱/۸/۲۵، ۰۱:۰۳:۵۹ صبح) ، S_N (۱۳۹۱/۸/۲۵، ۰۱:۱۶:۰۴ صبح) ، mahpishoni (۱۳۹۱/۸/۲۵، ۰۲:۴۶:۱۶ صبح) ، ms83 (۱۳۹۱/۸/۲۵، ۱۲:۲۸:۳۸ عصر) ، majid1605 (۱۳۹۱/۸/۲۵، ۱۳:۴۱:۴۵ عصر) ، ahmadb (۱۳۹۱/۸/۲۵، ۱۷:۴۲:۴۹ عصر) ، milad1364 (۱۳۹۱/۸/۲۶، ۱۲:۳۷:۰۶ عصر) ، yaser0421 (۱۳۹۱/۸/۲۸، ۲۱:۴۸:۲۷ عصر) ، hamidkag (۱۳۹۱/۱۰/۱۵، ۲۳:۲۹:۴۳ عصر) ، irantaze (۱۳۹۱/۱۲/۱۷، ۱۴:۰۷:۵۷ عصر)
#2
در این قسمت میآموزیم :

توابع مورد نیاز برای پلاگین بانک مبتنی بر استاندارد سازمان مدیریت برای توابع مالی


مدل آموزش بانک سامان
تابع پرداخت

قبل از شروع مطمئن میشویم که آیا در سرور شما بانک شما و سرورتان را از پورت 443 میپذیرد یا نه؟
بتابراین با SSH , و دستور Telnet تست میکنیم

کد php:
telnet 193.8.139.29 443 
در صورت ورود تابع را مبتنی بر SSL , و در غیر اینصورت مبتنی بر پورت 80 و ساده مینگاریم

شما برای پرداخت پس از ساخت فاکتور در سایت و ارجاع مشتری نیاز به تابع پرداخت جهت ارسال مشتری از کامپیوتر خود به بانک و مقدار و مبلغ تاریخ و ساعت و توابع مرچنت آدی و کارنسی ریت (Currency Rate)

شکل تابع

کد php:
$URL 

آدرس تابع پرداخت بانک سامان


کد php:
https://acquirer.sb24.com/CardServices/controller 




تابع تایید

پس از خرید و درست بودن شماره کارت و موجودی و کسر وجه از حساب مشتری بانک شروع به ارسال پکت تایید به سایتتان میکند که اگر مثلا تلنت پورت 443 باز نباشد اررور

کد php:
Fatal errorCall to a member function Verify Transaction() on a non-object in /home/************/public_html/clients/modules/gateways/callback/sbcallback.php on line 0 

دریافت و خرید ناموفق و پول پس از 35 دقیقه ( در بانک سامان) به حساب مشتری میاد )

شکل تابع:
کد php:
$VERIFY_URL 

آدرس تابع در بانک

کد php:
http://Acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL 

شکل برنامه نویسی :

کد php:
$VERIFY_URL 'http://Acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL'); 


همچنین برای فرار از اررور 443 اس اس ال برای سرورهای ایران از

کد php:
$soapclient = new nusoap_client('https://acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL','wsdl');
 if(
$err)
{
$soapclient = new nusoap_client('http://acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL','wsdl'); 


تابع معکوس


ما دونوع تابع معکوس داریم

1- که به صورت اتوماتیک خرید های ناموفق را برگشت میزند
که به این میرسیم

2-
که به صورت دستی خریدهای موفق را قبل تسویه 24 ساعته بانک به حساب مشتری باز میگرداند

شکل تابع به صورت تابع تایید بوده و در آینده به آن اشاره فراوانی میکنیم برای خواندن استانداردهای آن به :

http://Acquirer.sb24.com/ref-payment/ws/...yment?WSDL


بروید




تابع مرچنت آیدی

برای اتصال به درگاه بانک برای شما در سرور مرچنت آی دی یا کد شناسایی میسازد که زمان ارسال پکت های خرید و مشتری به عنوان معرف مشتری را به صفحه پرداخت شما میبرد و نیاز است در کانفیگ تعریف شود


شکل تابع :

کد php:
$MID 


تابع پسورد


هر مرچنت پسووردی دارد که بعضی از درگاه ها نیز نیاز به پسوورد دارند


شکل تابع :

کد php:
$midpass 


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

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


شکل تابع:

کد php:
$currency_rate 

شکل برنامه نویسی
کد php:
$currency_rate 1// use 10 in toman currency 



ادامه در قسمت دوم



سخنی با خوانندگان مطالب:

دوستان اینجانب برای یادگیری این مطالب سختی زیاد کشیده و زحمت پس انتشار آن در هیچ جایی راضی نیستم این یک
دوما خوب بخونید و تست کنید باور کنید بیرون ناقص این و 2 میلیون میگیرن آموزش میدن چون تو یه آموزشگاه همینا رو به ازای ماهی دو میلیون آموزش میدهم
سپاس

کسی که از آموزشهای اینجانب یاد میگیرد پلاگین بنویسد و مالی و بفروشد موظف به پرداخت 25 درصد هزینه فروش به موسسه کودکان سرطانی محک میباشد




در مرحله بعد میآموزیم:

ساخت فایل کانفیگ با توابع بالا برای پلاگین

SOAP

Nusoap





HeartHeartHeartHeartHeart
پاسخ
 سپاس شده توسطMohammad-Za (۱۳۹۱/۸/۲۵، ۰۰:۴۸:۵۶ صبح) ، Doodoo (۱۳۹۱/۸/۲۵، ۰۰:۵۱:۳۱ صبح) ، geo (۱۳۹۱/۸/۲۵، ۰۱:۰۰:۱۰ صبح) ، khp (۱۳۹۱/۸/۲۵، ۰۱:۰۳:۱۷ صبح) ، mhy (۱۳۹۱/۸/۲۵، ۰۱:۰۸:۳۳ صبح) ، S_N (۱۳۹۱/۸/۲۵، ۰۱:۱۶:۰۱ صبح) ، Mohammad.T (۱۳۹۱/۸/۲۵، ۰۱:۲۰:۰۵ صبح) ، majid1605 (۱۳۹۱/۸/۲۵، ۰۱:۲۹:۱۶ صبح) ، iranshahrsaz (۱۳۹۱/۸/۲۵، ۰۱:۳۷:۴۹ صبح) ، ms83 (۱۳۹۱/۸/۲۵، ۱۲:۳۱:۲۱ عصر) ، ahmadb (۱۳۹۱/۸/۲۵، ۱۷:۴۴:۲۸ عصر) ، milad1364 (۱۳۹۱/۸/۲۶، ۱۲:۳۷:۳۰ عصر) ، Mohammad-Mo (۱۳۹۱/۸/۲۷، ۱۶:۳۳:۰۱ عصر) ، hamidkag (۱۳۹۱/۱۰/۱۵، ۲۳:۳۳:۰۶ عصر)
#3
هر کسی یتواند فایل
config.php
را با توجه به توابع بالا بنویسید و قرار دهد یک دامنه آی آر هدیه میگیرد
پاسخ
 سپاس شده توسطmhy (۱۳۹۱/۸/۲۵، ۰۱:۴۳:۰۹ صبح) ، abdollatif (۱۳۹۱/۸/۲۵، ۰۱:۵۲:۲۲ صبح) ، S_N (۱۳۹۱/۸/۲۵، ۰۲:۰۰:۱۴ صبح) ، Doodoo (۱۳۹۱/۸/۲۵، ۱۳:۴۸:۴۹ عصر) ، motorola30 (۱۳۹۳/۲/۳، ۱۶:۲۵:۴۷ عصر)
#4
ممنون ولی ای کاش شما که زحمت کشیدید یه آموزش جامع پلاگین نویسی ارائه میدادید توی سایت چندتا آموزش هست ولی ناقصه ولی شما وقتی یه مطلب آموزشی میزارید خوب جا میندازید سربسته آموزش نمیدیدHeart
پاسخ
 سپاس شده توسطmhy (۱۳۹۱/۸/۲۵، ۱۳:۴۵:۴۹ عصر)
#5
(۱۳۹۱/۸/۲۵، ۱۳:۴۳:۳۹ عصر)majid1605 نوشته است: ممنون ولی ای کاش شما که زحمت کشیدید یه آموزش جامع پلاگین نویسی ارائه میدادید توی سایت چندتا آموزش هست ولی ناقصه ولی شما وقتی یه مطلب آموزشی میزارید خوب جا میندازید سربسته آموزش نمیدیدHeart

دوست عزیز ، آموزش پلاگین نویسی که گذاشتم برای کسی که php بلد باشه کافیه ، عزیزم شما باید php باد بگیرید که بیشتر از یک هفته هم وقت آدم را نمیگیره اگر وقت بذارید و تمرین کنید.
پاسخ
 سپاس شده توسطmhy (۱۳۹۱/۸/۲۵، ۱۴:۵۱:۴۲ عصر) ، Doodoo (۱۳۹۱/۸/۲۵، ۱۷:۳۹:۴۵ عصر) ، irantaze (۱۳۹۱/۱۲/۱۷، ۱۴:۱۰:۰۳ عصر)
#6
خلاصه ببخشید اگه اشتباههTongue
کد:
$MID = 'xxxxxxxx-xxxxxx';                                       //Merchant ID
    $URL = 'https://acquirer.sb24.com/CardServices/controller';     // Saman Payment URL with SSL
    $midpass = 'xxxxxx';
    //$URL = 'http://acquirer.sb24.com/CardServices/controller';    // Saman Payment URL without SSL

    $currency_rate = 1; // use 10 in toman currency
[تصویر:  c613paraglider.png]

برای ثبت نام پرواز پاراگلایدر روی عکس کلیک کنید
پاسخ
 سپاس شده توسطbaxe rapper (۱۳۹۱/۸/۲۶، ۱۱:۲۰:۲۲ صبح)
#7
(۱۳۹۱/۸/۲۶، ۰۰:۲۵:۴۴ صبح)Behr☺uz نوشته است: خلاصه ببخشید اگه اشتباههTongue
کد:
$MID = 'xxxxxxxx-xxxxxx';                                       //Merchant ID
    $URL = 'https://acquirer.sb24.com/CardServices/controller';     // Saman Payment URL with SSL
    $midpass = 'xxxxxx';
    //$URL = 'http://acquirer.sb24.com/CardServices/controller';    // Saman Payment URL without SSL

    $currency_rate = 1; // use 10 in toman currency

غلطه اما خوبه بخش وریفای یادت رفته ها ناقلا

به زودی بخش دوم

نوع کامل کانفیگ

کد:
<?php
//System Config
    $MID = '*****';                                       //Merchant ID
    $midpass = '*****';

        $URL = 'http://acquirer.sb24.com/CardServices/controller';
    $VERIFY_URL = 'http://acquirer.sb24.com:80/ref-payment/ws/ReferencePayment?WSDL';
    $currency_rate = 1; // use 10 in toman currency
?>
پاسخ
 سپاس شده توسطDoodoo (۱۳۹۱/۸/۲۶، ۱۵:۰۸:۰۹ عصر)
#8
بهروز جان کانفیگی که گذاشتی دقیقا کانفیگ بانک سامان whmcs شرکت فراسو هست دقیقا
برا همین ایزادهای پلاگین اونا تو کانفیگ شما هست درسته؟Heart
پاسخ
#9
ای بابا هنوز کد رو ننوشتیم میان میبرن واسه خودشون
میبینی تورو خداRolleyes
[تصویر:  c613paraglider.png]

برای ثبت نام پرواز پاراگلایدر روی عکس کلیک کنید
پاسخ
#10
بخش دوم :

فایل کانفیگ را که گذاشتم

دید با توابع و آموزش یه قسمت بزرگ پلاگین نو نوشتید؟

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



SOAP چیست؟
SOAP مخفف Simple Object Access Protocol است. SOAP یک پادمان مبتنی بر XML است، برای رد و بدل کردن اطلاعات بین برنامه ها. اطلاعات در SOAP به صورت پیام (Message) و از طریق پادمان‏های موجود در اینترنت مانند HTTP منتقل می‏شود (SOAP در سایر پادمان ها، مانند SMTP یا MIME نیز قابل استفاده است). به زبان ساده‏تر، SOAP یک پادمان است برای دستیابی به یک سرویس ارایه شده در وب (Web Service). آخرین نسخه SOAP، نسخه 1.2 می‏باشد.
ویژگی های SOAP
1.یک پادمان ارتباطی است.
2.برای ارسال پیام استفاده می‏شود.
3.برای محیط اینترنت و شبکه طراحی شده است.
4.وابسته به محیط پیاده سازی و اجرا نیست. ( Platform Independent)
5.مبتنی بر XML است.
6.از دیوارهای آتش (Firewall) گذر می‏کند ودیوارهای آتش مانع آنها نمی شوند (Block نمی‏شوند).
یکی از مسایلی که در دهه اخیر از اهمیت خاصی برخوردار بوده، چگونگی ارتباط برنامه‏ های تحت اینترنت با یکدیگر بوده است. همانطور که می‏دانید برنامه‏ های عادی از RPC (Remote Procedure Call) برای فراخوانی اشیاء DCOM یا CORBA، استفاده می‏کنند. اما مشکلی که در این نوع فراخوانی‏ها در بستر اینترنت وجود دارد، مسدود شدن این نوع ترافیک‏ها در Proxy Server ها و دیوارهای آتش (Firewall ها) است.

در صورت استفاده از SOAP با این مشکل روبرو نخواهید بود. SOAP به راحتی شما را قادر خواهد کرد تا بین برنامه‏ هایی که در بسترهای متفاوت طراحی شده اند و در بسترهای متفاوتی در حال سرویس ‏دهی هستند، ارتباط برقرار کنید.



ساختار SOAP
پیام ها (Message ها) در SOAP یک فایل XML هستند که از ساختار زیر پیروی می‏کنند:

1.یک بخش ضروری که به آن Envelope (پاکت نامه) گفته می‏شود که مشخص می‏کند که این XML یک پیام SOAP است.
2.قسمت سرآیند (Header)که اختیاری است. این بخش شامل اطلاعاتی در مورد خود برنامه است. در صورتی که از سرآیند استفاده شود، باید اولین عنصر در ساختار Envelope باشد.
3.قسمت بدنه که ضروری است و شامل Call یا Response است. در واقع مشخص کننده درخواستِ برنامه‏ی سرویس‏ گیرنده یا پاسخ برنامه سرویس‏ دهنده است.
4.قسمت Fault که قسمت خطا است و اختیاری است و اطلاعاتی درباره خطاهای بوجود آمده در هنگام پردازش پیام در خود دارد.


قوانین مهم در ساختار پیام
1.پیام حتماً باید در قالب XML باشد.
2.باید از Namespace تعریف شده در Envelope پیروی کند.
3.فقط باید از نوع داده‏ های تعریف شده و مجاز استفاده کند.
4.در قالب پیام، نباید از DTD استفاده شود. DTD برای یک XML ، مانند Design View یک جدول در Database است و مشخص می‏کند که فیلدهای آمده در XML از چه نوع هستند و با چه ترتیبی می‏آیند. برای مثال:

کد php:
<!ELEMENT note (to,from,heading,body)>
<!
ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)> 

5.نباید شامل دستورات پردازشی باشد.
قالب کلی پیام
قالب پیام به صورت زیر است:

<?xml version="1.0" ?>
کد php:
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
    <
soap:Header>
          ...
    </
soap:Header>
    <
soap:Body>
          ...
          <
soap:Fault>
          ...
          </
soap:Fault>
    </
soap:Body>
</
soap:Envelope


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

http://www.w3.org/2001/12/soap-envelope

نوع داده های مجاز را نیز در آدرس زیر می‏توانید مشاهده کنید:

http://www.w3.org/2001/12/soap-encoding

توجه: encodingStyle مشخص کننده قالب نامه است که به طور استاندارد مقدار مشخص شده در مثال را دارد.

یک درخواست و پاسخ آن با SOAP
هنگام استفاده از پادمان HTTP، در هر درخواست باید Content-Type و Content-Length مشخص شود. که برای SOAP، موارد ارسالی در مثال زیر، به طور معمول مورد استفاده قرار می‏گیرند.

در این مثال ، درخواست قیمت سیب و پاسخ آن آورده شده است. مشتری (Client) یک XML را به کارگزار می فرستد که در آن قالب مشخص شده توسط برنامه کارگزار (Server) رعایت شده است و در خواست مشتری در آن قرار دارد. در این مثال، قیمت سیب، موردنظر است که در برچسب m:GetPrice ، آمده است. در صورتی که قالب تعیین شده توسط سرور این اجازه را به شما بدهد که چند مورد را در یک در خواست بفرستید، می توانید این کار را انجام دهید.

برنامه کارگزار نیز، با استفاده از یک فایل XML پاسخ مشتری را می دهد و قیمت را در یک برچسب با عنوان m:GetPriceResponse به مشتری تحویل می دهد.

کد php:
POST /InStock HTTP/1.1
Host
www.stock.org
Content
-Typeapplication/soap+xmlcharset=utf-8
Content
-Lengthnnn
 
<?xml version="1.0" ?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
    <soap:Body>
          <m:GetPrice xmlns:m="http://www.w3schools.com/prices">
                <m:Item>Apples</m:Item>
          </m:GetPrice>
    </soap:Body>
</soap:Envelope>
 
  
HTTP/1.1 200 OK
Content-Type: application/soap; charset=utf-8
Content-Length: nnn
 
<?xml version="1.0" ?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
    <soap:Body>
          <m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices">
                <m:Price>1.90</m:Price>
          </m:GetPriceResponse>
    </soap:Body>
</soap:Envelope> 







معایب SOAP
همانطور که می‏د‏انید اولین حرف از حروف تشکیل دهنده ‏یSOAP ، S است که حرف اول Simple است. همین مورد، باعث شده است تا سادگی بر هرچیز در این سیستم، مقدم باشد. برای همین در SOAP بسیاری از کاستی ‏ها دیده می‏شود، که یکی از مهمترین آنها امنیت و قابلیت اعتماد پایین در SOAP است.

همین کاستی باعث شده است که تولیدکنندگان نرم‏افزار به این فکر بیفتند تا SOAP را توسعه دهند و استانداردهای جدیدتری با امکانات بیشتری تولید کنند. استاندارد تولید شده توسط مایکروسافت با نام GXA (Global XML Web Services Architecture) ارایه شد. که یک پیاده‏سازی ازآن WSE (Web Services Enhancements) است. WSE یک ابزار قدرتمند است که شما با استفاده از DotNet Framework و WSE می توانید وب سرویس های امن و قدرتمند بنویسید. به بیان ساده‏تر WSE ابزار شما برای طراحی و ساخت وب سرویس ها با .NET می باشد. WSE را می توانید از سایت Microsoft بارگیری کرده و نصب کنید.

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

حالا ما از فایل nusoap.php در داخل پوشه lib در پوشه banksamanbaxrapper استقاده میکنیم کانفیگ را هم داریم میمونه فایله

آموزش جلسه سوم:

فایل های گرافیکی ابتدا و انتهای پرداخت

فایل های samanbankbaxerapper.php

توابع $baxerapper

با توجه به اختصاصی بودن آموزش ما از توابع به نام خودمون استفاده میکنیم

سپاس و بدرود تا قسمت بعد


فایل‌(های) پیوست شده
.php   nusoap.php (اندازه: 282.97 KB / تعداد دفعات دریافت: 2)
پاسخ
 سپاس شده توسطDoodoo (۱۳۹۱/۸/۲۶، ۲۳:۴۹:۳۱ عصر) ، geo (۱۳۹۱/۸/۲۷، ۰۱:۴۵:۴۸ صبح) ، ahmadb (۱۳۹۱/۸/۲۷، ۱۱:۴۴:۴۳ صبح) ، Mohammad-Mo (۱۳۹۱/۸/۲۷، ۱۶:۳۳:۳۹ عصر)


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Lightbulb درخواست آموزش نوشتن php برای رای گیری hamidkag 4 4,298 ۱۳۹۱/۱۰/۱۶، ۰۱:۰۲:۳۸ صبح
آخرین ارسال: R. Najafi

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان