فروشگاه آنلاین با MVC بخش هجدهم
فروشگاه آنلاین با MVC --> بخش هجدهم : در این بخش ، میخواهیم تغییراتی در کلاس CheckoutViewModel و نیز ProcessPayment و فرم checkOut اعمال کنیم .

در مقاله قبل ، ابتدا توسط نوگت ، Braintree را به پروژه خود اضافه کردیم و سپس با مراجعه به وب سایت Braintree ، یک API-Key دریافت نمودیم و تنظیماتش را انجام دادیم . در این بخش ، میخواهیم تغییراتی در کلاس CheckoutViewModel و نیز ProcessPayment و فرم checkOut اعمال کنیم .

 

اعمال تغییراتی در CheckoutViewModel :

در این مرحله باید فیلدهای مربوط به کارت عابر بانک کاربر (البته بجز رمز دوم !) را در CheckoutViewMdoel اضافه کنیم :

 
    [Required]
    public string CardNumber { get; set; }
    [Required]
    public string Cvv { get; set; }
    [Required]
    public string Month { get; set; }
    [Required]
    public string Year { get; set; }
                                 

تغییرات تابع ProcessPayment :

تابع فوق واقع در کلاس PaymentGateway.cs را بصورت زیر تغییر دهید و اطلاعات کارت بانکی را در آن درج کنید :

 
    CreditCard = new TransactionCreditCardRequest
    {
        Number = model.CardNumber,
        CVV = model.Cvv,
        ExpirationMonth = model.Month,
        ExpirationYear = model.Year,
    }
                                 

اعمال تغییراتی در فرم Checkout :

برای افزودن امکان Encryption ، باید فایل جاوا اسکریپت زیر را به انتهای ویو و در بخش Scripts اضافه کنیم :

script src="https://js.braintreegateway.com/v2/braintree.js"></script>

سپس در بالای فرم قابلیت نمایش پیامهای خطا را با افزودن دستور زیر به صفحه می دهیم :

 
  @Html.ValidationSummary()
                                 

تگ فرم Checkout View را بصورت زیر تعریف می کنیم :

   <form action="@Url.Action("checkout")" method="post" id="braintree-payment-form"> 

 

سپس سطرهای زیر را به آخر این فرم اضافه می نماییم :

 
    
Payment Information

 

 

 

/

 

در نهایت در بخش Script انتهای همین صفحه ، کدهای زیر را وارد کنید :

 
    @section Scripts
    {
        <script src="https://js.braintreegateway.com/v2/braintree.js"></script>
        <script>
            var braintree = braintree.create("aaaaaaaaaaabbbbbbbbbbbbbbbcccccccccccddddddddddddddeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhh1111111111122222222223333333333333333333333344444444444444444555555555555555555555555555");
            braintree.onSubmitEncryptForm("braintree-payment-form");
        </script>
        
    }
                                           

نکته : رشته طولانی که در دستورات فوق می بینید همان CSE Key می باشد که از سایت BrainTree کپی کرده اید .

 

پیاده سازی اکشن Complete :

در کنترولر ShoppingCart و در انتهای کنترولر ، اکشن Complete را بصورت زیر تعریف کنید :

 
public ActionResult Complete()
{
    ViewBag.TransactionId = (string)TempData[“TransId”];
    return View();
}
                                           

حالا روی اکشن راست کلیک کرده و Add View را انتخاب کنید . تنظیمات پیش فرض را بپذیرید و Add کنید .

در این صفحه می خواهیم از کاربر ، بابت خریدش تشکر کنیم و نیز Transaction ID را نمایش دهیم :

 
@{
    ViewBag.Title = "Thanks !";
}

Thanks For Shopping !


Your Transaction ID : @ViewBag.TransactionId

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

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

 
Card Number : 4111111111111111
CVV 2 : 111
Expiration Date : 11/2015
                                           

 اگر عملیات موفقیت آمیز باشد صفحه مطابق شکل زیر نمایش داده می شود و اطلاعات در جداول Order , OrderDetail ذخیره می شوند :

TransactionID

خب دوستان خسته نباشید ، اکنون توانستیم فروشگاه آنلاین با سبدخرید و پرداخت اینترنتی را پیاده سازی کنیم .


برچسب‌ها:

Brain Treecheckoutcomplete actionProcessPaymentViewModelاکشن completeتنظیمات درگاه پرداختفروشگاه اینترنتی

2 دیدگاه برای “فروشگاه آنلاین با MVC بخش هجدهم”

  1. معصومه عبدی گفت:

    سلام ممنون از مقاله هاتون ببخشید روش انتقال فروشگاه mvc به cpanel هاست میشه توضیح بدین ممنون

    1. Mohtava-Admin گفت:

      با سلام

      باید اپلیکیشن تحت وب یا وب سایتی را که توسط تکنولوژی mvc طراحی کرده اید را publish کنید و سپس فایلهای اسمبل شده را به فایل منیجر هاست منتقل کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

ده − 6 =