Một website có nhiều phương thức thanh toán thì website đó sẽ càng tiến gần hơn nhiều kỹ thuật hiện đại. Trong ngày nay việc bắt kịp xu hướng và thành thạo nhiều kỹ năng đang là thiết yếu ở lĩnh vực này.
Bạn đã làm xong việc thêm giỏ hàng và thanh toán bằng tiền mặt, vậy hãy thử ngay bài viết này. Ở bài viết này sẽ tất tần tật cách bạn làm thêm tích năng thanh toán online bằng paypal trên asp.net MVC bạn nhé.
Mời các bạn xem ngay bài viết bên dưới đây.
Cách thêm chức năng thanh toán bằng paypal trên asp.net MVC
Tạo App và tài khoản Sandbox
App là gì, app ở đây trong paypal như một ứng dụng. Khi bạn tạo app nó sẽ có clientid và secret để mà thực hiện cho công việc liên kết paypal trên website.
Sandbox là gì, sandbox là các tài khoản ảo không có thật của paypal. Giúp cho các nhà phát triển web có thể thử nghiệp thanh toán bằng paypal xem có ổn chưa.
Bước 1: Truy cập vào https://developer.paypal.com/, đăng nhập hoặc chưa có tài khoản thì bạn tiến hành đăng kí.
Nhấn vào nút Log in Dashboard để tiến hành truy cập vào trang quản trị.
Điền thông tin đăng nhập của bạn và tiến hành login.
Bước 2: Vào menu Testing Tools, bạn chọn vào mục Sandbox Accounts.
Bước 3: Tại đây bạn nhấn vào Create Account để tiến hành tạo sandbox test account.
Trang tiếp theo bạn chọn type là personal và rồi nhấn nút Create.
Nhấn tạo tài khoản sandbox thêm 1 lần nữa.
Lần này ta chọn type là business.
Như vậy khi kết thúc ta có được 2 tài khoản sandbox cho việc test thanh toán paypal như thế này.
Về tài khoản personal là gì và business là gì thì:
- personal là tài khoản để mình test bên người mua, người trả tiền và trừ tiền trong tài khoản.
- business là tài khoản người bán hàng, hay seller là người nhận tiền từ thanh khoản của personal.
Bởi vì là tài khoản nên nó cũng sẽ có username và password, bạn nhấn vào nút 3 chấm bên cạnh tài khoản để vào xem nhé. Mật khẩu của tài khoản sandbox sẽ tự động tạo cho bạn.
Bước 4: Bạn vào menu Apps &Credentials và nhấn nút Create app tại trang này.
Bạn tiến hành điền thông tin vào các textbox, đầu tiên là tên app sau đó là Type chọn là Merchant và tài khoản sandbox business vừa tạo bên bước trên. Xong rồi đó bạn chọn Create app để tạo.
Giờ đây ta đã có thông tin Client ID và Secret, bạn sẽ thấy 2 thông số này như bên dưới.
Liên kết Paypal với website asp.net MVC
Việc bạn cần làm đầu tiên trên website của mình là cài Nuget tên là Paypal. Sau đó bạn tiến hành từng bước như bên dưới đây.
Bước 5: Truy cập vào đường dẫn sau: https://docs.google.com/document/d/1zwWO0mxBeD3UN4y-rX8NXTygk0iRJJ_EfGs_PqAc3gA/edit?usp=sharing
Tại đây bạn hãy copy từng mục, từ trên xuống dưới. Mục đầu tiên là Web.config, bạn copy code và dán nó vào web.config trên website.
Phần Clientid và Secret bạn copy bên cái app vừa tạo và chèn tương ứng với từng mục.
Bước 6: Tạo một model có tên PaypalConfiguration.cs, bạn cũng vào đường dẫn trên copy code của lớp này chèn vào.
Bước 6: Bạn vào Controller của thanh toán ShoppingCart. Tại đây bạn copy code bên đường dẫn kia qua, ta sẽ có 3 method là PaymentWithPaypal, Payment ExecutePayment và CreatePayment.
Trong code của shoppingcartcontroller bạn cần sửa gì, thứ nhất là cần đổi tiền vnđ sang usd vì paypal nó thanh toán loại USD mà. Thành ra mình cũng đổi luôn, bằng cách chia, lấy tiền chia cho 23564 hay gì đó. Tùy thuộc tỷ giá đổi tiền vnd sang usd hiện tại.
Bởi vì các thuộc tính như giá hay số lượng bên paypal đều mang kiểu string nên bạn thêm cái method tostring() khi gán dữ liệu để khỏi bị lỗi sai kiểu dữ liệu nhé.
Bên dưới phần details thì gồm tax, shipping và subtotal. 3 mục này cộng lại phải bằng mục total trong amount bạn nhé. Nếu không nó sẽ báo lỗi!
Cuối cùng bạn chỉ việc dùng một cái ảnh rồi dẫn link tới controller paymentwithpaypal là xong rồi bạn nhé.
Bạn bây giờ có thể thử thanh toán rồi, hãy dùng tài khoản sandbox personal để tiến hành đăng nhập.
Kiểm tra số tiền. Nếu bạn chưa ra được trang bên dưới mà bị lỗi rất có thể chỗ tổng tiền và tax, shipping và subtotal của bạn chưa chính xác. Hãy tiến hành kiểm tra và sửa chỗ đó.
Bạn có thể nhấn giá tiền bên phía góc trên bên phải để xem tổng sản phẩm và các sản phẩm nó như thế nào.
Khi nhấn nút Order thì sẽ thông báo nhanh đến trang thanh toán thành công.