Dịch vụ web, API và thanh toán – dự án thực tế

Đây là những dự án trong đó các hệ thống giao tiếp qua web: thanh toán bằng thẻ trên website, chuyển ví dụ của dịch vụ thanh toán sang ngôn ngữ khác, dịch vụ web mà đối tác và chương trình khác gọi theo quy tắc đã thống nhất, xác minh token và mã hóa dữ liệu gửi đến hệ thống thanh toán. Với loại công việc này, không có nhiều thứ hiển thị trên màn hình, nhưng một lỗi có thể khiến thanh toán thất bại hoặc dữ liệu đến sai nơi. Tôi thực hiện những công việc này trong dịch vụ tích hợp APIlập trình website.

Thanh toán bằng thẻ ngân hàng trên website

Thực hiện trong quý IV năm 2024.

Tích hợp thanh toán bằng thẻ ngân hàng trên website www.dejandozet.com

Vấn đề

Website www.dejandozet.com cần hỗ trợ thanh toán bằng thẻ ngân hàng đơn giản và an toàn, với lựa chọn thanh toán linh hoạt và xử lý dữ liệu chuyên nghiệp. Giải pháp phải hoạt động bằng nhiều ngôn ngữ, phù hợp với thiết bị di động và tuân thủ tiêu chuẩn IPM; cổng thanh toán do ngân hàng OTP (otpbanka.rs) cung cấp.

Giải pháp

Công việc bao phủ toàn bộ hành trình từ bảng giá đến xác nhận thanh toán:

  • trang bảng giá: sản phẩm và giá được tải động từ web API;
  • giỏ hàng: trạng thái được lưu trong trình duyệt, không cần cơ sở dữ liệu;
  • trang thanh toán: thu thập dữ liệu, chọn phương thức thanh toán và kiểm tra đầu vào;
  • kết nối ngân hàng: xử lý dữ liệu phía máy chủ và chuyển người dùng đến cổng thanh toán của ngân hàng;
  • hiển thị trạng thái thanh toán: trang trạng thái cùng xử lý nền và gửi thông báo qua email;
  • thiết kế đáp ứng: giao diện trang phù hợp với mọi kích thước màn hình;
  • tuân thủ IPM: hiển thị các loại thẻ được chấp nhận, điều khoản kinh doanh, chính sách bảo mật và kiểm thử cùng ngân hàng.

Công nghệ sử dụng

Kinh nghiệm từ dự án

Việc hợp tác với nhân viên ngân hàng phụ trách dịch vụ diễn ra rất tốt, nhưng cũng có những thời điểm khó khăn. Ngay trước khi hoàn tất, ngân hàng không thể xem bảng giá vì hệ thống bảo mật của họ chặn tập lệnh tải sản phẩm, nên vấn đề phải được giải quyết trước khi đưa thanh toán vào hoạt động.

Kết quả

Khách truy cập thanh toán bằng thẻ qua toàn bộ quy trình từ chọn mục trong bảng giá đến xác nhận giao dịch, bằng nhiều ngôn ngữ và trên mọi thiết bị, phù hợp với quy định của ngân hàng.


Chuyển ví dụ thanh toán Braintree từ C# sang VB.NET

Thực hiện trong quý IV năm 2021.

Vấn đề

Khách hàng có một ứng dụng web ASP.NET mẫu hoàn chỉnh cho thanh toán Braintree do QuickBooks công bố, nhưng được viết bằng C#. Hệ thống của khách hàng dùng VB.NET nên cần cùng ví dụ đó trong ngôn ngữ này, với hành vi giống hệt và không mất bất kỳ chức năng nào.

Giải pháp

  • chuyển mã: logic và chức năng của mã C# hiện có được chuyển sang VB.NET;
  • giữ nguyên chức năng: mọi khả năng của phiên bản C# được tái hiện chính xác trong phiên bản VB.NET;
  • kiểm thử và xác minh: sau khi chuyển đổi, phiên bản VB.NET được kiểm thử kỹ để bảo đảm hoạt động giống bản gốc;
  • tối ưu: sau khi hoàn tất chuyển đổi, mã được xem lại, cải tiến và đơn giản hóa ở những nơi có thể.

Công nghệ sử dụng

  • Ngôn ngữ lập trình C# (programiranje.co.rs)VB.NET: cần hiểu cả hai ngôn ngữ để chuyển đổi chính xác.
  • ASP.NET: nền tảng của ứng dụng web mẫu.
  • Braintree SDK: dịch vụ thanh toán cần giữ nguyên mọi chức năng.

Kết quả

Khách hàng nhận được phiên bản VB.NET hoạt động giống bản C# gốc và sẵn sàng tích hợp vào hệ thống.


Dịch vụ web quản lý thanh toán với URI có cấu trúc

Thực hiện trong quý I năm 2021.

Vấn đề

Để quản lý thanh toán giữa dịch vụ thu tiền và các công ty đối tác, cần một dịch vụ web mà mọi đối tác truy cập theo cùng một cách đã thống nhất. Điều này đòi hỏi URI có cấu trúc theo một sơ đồ xác định, gồm phiên bản và tên tài nguyên trong đường dẫn — chẳng hạn /v1/bill-management/bills — để việc trao đổi dữ liệu giữa nhiều công ty trở nên đơn giản và dự đoán được.

Giải pháp

  • URI có cấu trúc: được thiết kế và triển khai theo sơ đồ yêu cầu làm điểm truy cập chính đến tài nguyên;
  • phối hợp với đối tác: tương tác giữa dịch vụ thanh toán và dịch vụ đối tác được chuẩn hóa qua URI đã định nghĩa;
  • bảo mật và hiệu năng: ngoài cấu trúc URI, dự án đặc biệt chú trọng bảo mật và tốc độ dịch vụ;
  • dễ tích hợp: dịch vụ dễ dàng hòa vào các hệ thống hiện có của đối tác.

Công nghệ sử dụng

  • Dịch vụ web: được xây dựng theo thực hành tốt để bảo đảm ổn định, bảo mật và khả năng mở rộng.
  • Thiết kế URI có cấu trúc: cách tiếp cận giúp dễ sử dụng và tích hợp.

Kết quả

Đối tác truy cập chức năng thanh toán qua một URI thống nhất, dự đoán được; dịch vụ hoạt động liền mạch như khách hàng xác nhận.

Nhận xét của khách hàng

★★★★★5/5

“Công việc xuất sắc! Dịch vụ web hoạt động liền mạch và URI có cấu trúc góp phần nâng cao hiệu quả.”


Dịch vụ web VB.NET xác minh JWT token

Thực hiện trong quý I năm 2021.

Vấn đề

Khách hàng cần một dịch vụ web bằng VB.NET xác minh chính xác JWT token gửi trong tiêu đề yêu cầu và trả lại chính token đó trong phản hồi, không có lỗ hổng bảo mật trong quy trình.

Giải pháp

  • xác minh JWT token: dịch vụ kiểm tra tính hợp lệ và xác thực của token nhận trong tiêu đề yêu cầu;
  • token trong phản hồi: sau khi xác minh, dịch vụ đưa cùng token vào phản hồi để luồng dữ liệu không bị gián đoạn;
  • bảo mật: đặc biệt chú ý để việc xác minh token và phản hồi không dễ bị khai thác;
  • phát triển bằng VB.NET để dịch vụ phù hợp với môi trường của khách hàng.

Công nghệ sử dụng

  • VB.NET: ngôn ngữ viết dịch vụ.
  • JWT (JSON Web Tokens): giao thức xác thực.

Kết quả

Khách hàng nhận được dịch vụ xác minh token đáng tin cậy và trả token trong phản hồi; đây là thêm một dự án hợp tác thành công với khách hàng.

Nhận xét của khách hàng

★★★★★5/5

“Lại thêm một dự án thành công với Dejan. Khả năng giao tiếp dễ dàng và kiến thức chuyên môn sâu rộng của anh ấy giúp dự án diễn ra suôn sẻ.”


Dịch vụ web gửi email theo lịch

Thực hiện trong quý IV năm 2020.

Vấn đề

Khách hàng muốn một dịch vụ web đơn giản để gửi email, hoạt động cả trực tuyến lẫn cục bộ và được khởi chạy đúng giờ bằng một Windows Service đã lập lịch. Khách hàng thẳng thắn cho biết không quen thuộc với dịch vụ web hay Windows Service, vì vậy cần một giải pháp hoàn chỉnh nhưng dễ hiểu.

Giải pháp

  • dịch vụ web gửi email: dịch vụ đáng tin cậy đáp ứng yêu cầu chính;
  • triển khai kép: ứng dụng được cấu hình để hoạt động cả trực tuyến và trong môi trường cục bộ;
  • thực thi theo lịch: Windows Service gọi dịch vụ web vào thời gian đã định, bảo đảm hoạt động nhất quán và đúng lúc;
  • giải thích từng bước: ngoài giải pháp, khách hàng còn hiểu cách hệ thống vận hành.

Công nghệ sử dụng

  • .NET Framework: xây dựng dịch vụ web.
  • Windows Service: khởi chạy theo lịch.
  • Máy chủ cục bộ và hosting trực tuyến: hai môi trường vận hành dịch vụ.

Kết quả

Dịch vụ gửi email theo lịch cả cục bộ lẫn trực tuyến, và khách hàng hiểu giải pháp mình đang sử dụng.

Nhận xét của khách hàng

★★★★★5/5

“Tôi đặc biệt trân trọng cách tiếp cận mang tính hướng dẫn trong suốt dự án. Dejan không chỉ bàn giao một giải pháp tuyệt vời mà còn bảo đảm tôi hiểu từng bước. Chuyên môn và khả năng hỗ trợ của anh ấy rất đáng khen. Tôi nhiệt tình giới thiệu cho bất kỳ ai cần cả kiến thức lẫn kết quả!”


Mã hóa RSA dữ liệu thanh toán trong VB.NET

Thực hiện trong quý IV năm 2020.

Vấn đề

Để thanh toán qua nút thanh toán trên website, số tiền và mã đơn hàng phải được gửi đến hệ thống thanh toán dưới dạng mã hóa RSA trong yêu cầu POST. Khách hàng có các ví dụ đúng bằng PHP và Java nhưng cần chức năng tương tự bằng VB.NET, ngôn ngữ hệ thống của họ sử dụng.

Giải pháp

  • mã hóa và giải mã RSA: các hàm đơn giản cho cả hai chiều bằng VB.NET;
  • tích hợp vào biểu mẫu: số tiền và mã đơn hàng đã mã hóa được truyền chính xác trong yêu cầu POST;
  • phân tích ví dụ: các ví dụ PHP và Java được nghiên cứu rồi tái hiện kết quả trong VB.NET;
  • bảo mật dữ liệu: dữ liệu nhạy cảm như số tiền và mã đơn hàng được bảo vệ trong toàn bộ quy trình.

Công nghệ sử dụng

  • VB.NET: ngôn ngữ viết các hàm.
  • Mã hóa RSA: bảo vệ dữ liệu gửi đến hệ thống thanh toán.

Kết quả

Hệ thống VB.NET của khách hàng gửi số tiền và mã đơn hàng đến hệ thống thanh toán bằng cùng phương thức mã hóa như các ví dụ PHP và Java.

Bạn cần kết nối với hệ thống thanh toán hoặc hệ thống khác?

Phạm vi công việc, cách xác định giá và quy trình thực hiện được trình bày tại các trang tích hợp APIlập trình website. Xem thêm hệ thống nhắc công nợ tích hợp Xero và Stripetích hợp WordPress API, cùng các dự án khác trong nhóm tích hợp API.