Tích hợp Paypal vào website NodeJS
Mở đầuCài đặtTạo Paypal sandboxĐể thực hiện các cuộc gọi đến PayPal API chúng ta cần phải tạo ra một ứng dụng trong developer.paypal.com. Show
Init projectTrước tiên của init 1 project Laravel trước cho chắc =)) Công việc này khá là quen thuộc với các bạn đã làm việc với Laravel, chúng ta cần clone Laravel app từ Github về bằng các command dưới đây :
Trong dự án này mình sử dụng package
sau bước này chúng ta sẽ thêm 1 file config cho package vào trong
Nếu tham khảo trên doc của package thì file
Tiếp theo bạn sử dụng ClientID & Secrets vừa tạo ở trên bổ sung vào trong
Thanh toán cho 1 orderXây dựng API create orderTiếp theo chúng ta tiến hành xây dựng controller để xử lý việc thanh toán cho 1 order. Trước tiên chúng ta cần setup cho package 1 chút, bởi vì mình có thay đổi lại file
Đầu tiên với API create order
Với API capture order, đơn giản hơn chúng ta chỉ cần gọi tới paypal API để capture trạng thái của order vừa tạo
Thông tin về captureOrder chứa trạng thái order, số tiền mà payer đã thanh toán và nhiều thông tin các nữa Thanh toán cho 1 subscriptionSubscription là một chức năng thích hợp cho các sản phẩm có yêu cầu nghiệp vụ là phải gia hạn hằng tháng hoặc hàng tuần chẳng hạn. Đối với những dịch vụ này, việc website chúng ta chủ động yêu cầu ngừoi dùng bấm lại nút thanh toán sẽ gây phiền toái khá nhiều, vì vậy Paypal đã hỗ trợ việc tự động thanh toán hằng tháng. Để tích hợp được chức năng này cho website, chúng ta cần follow qua các bước
Tạo Subscription plan trên PaypalĐầu tiên chúng ta cần tạo các Subscription Plan trên giao diện Paypal bằng việc truy cập tài khoản Business, vì mình đang ở môi trường dev qua Sandbox nên mình truy cập địa chỉ này https://www.sandbox.paypal.com/billing/plans/plan/create/choose-product?from=plans Vì mỗi plan sẽ yêu cầu bạn tạo kèm 1 hoặc 1 số Product nên bạn cần fill kha khá thông tin. Sau khi tạo thành công chúng ta sẽ có được 1 Plan như này Có rất nhiều thông tin, nhưng chúng ta chỉ cần quan tâm Plan ID thôi. Demo thanh toán Subscription Tạm kếtHy vọng bài viết này sẽ giúp các bạn giải quyết được chút khó khăn khi tích hợp chức năng thanh toán với Paypal, trong bài viết tới mình sẽ bổ sung thêm những use case khác liên quan tới Paypal, các bạn đón đọc nhé Tham khảo
|