@quangvo Nhưng mình không hiểu tại sao lại không nên dùng vnp_ReturnUrl để update trạng thái thanh toán
Khi thanh toán thành công vnpay sẽ trả nguyên chuỗi checksum cho bạn luôn (chuỗi này nó cộng chuỗi thẳng vào vnp_ReturnUrl ), mình có thể hoàn toàn lấy chuỗi đã checksum đó để update status thanh toán khÔng cần gọi vnpay để kiểm tra trạng thái thanh toán luôn
Vậy thì tại sao lại warning là không nên dùng url return ? Hay là do thời gian viết bài và version vnpay bây giờ đã khác nhỉ ?
Mình nghĩ ý đồ của VNPay ở đây là họ muốn nhận phản hồi từ phía app nữa nên mới tách ra 2 requests bao gồm:
ReturnUrl cho hiển thị end-user, request này không cần response lại VNPAY
IPNUrl để cập nhật dữ liệu giữa app và VNPAY.
Thế nên nếu cho dù kết hợp 2 steps của bạn thì cũng ko đáp ứng được flow cuar VNPAY vì không có phản hồi lại VNPAY.
Vậy suy ra IPN nó sinh ra để dành cho abnormal cases liên quan đến frontend không thực hiện được 2 mục trên thì lúc này thằng IPN đứng ra hỗ trợ cập nhật transaction chứ nhỉ
Liên quan đến ý này thì cũng là 1 nguyên nhân dẫn đến mục tách URL ở trên, họ muốn hạn chế rủi ro liên quán đến việc update dữ liệu nên đã decouple công việc.
Mình cũng làm với 1 payment gate khác là GMO, cũng có cơ chế tương tự như VNPAY, thay vì IPNURL thì họ sẽ có 1 webhook để hook dữ liệu của transation khi có thay đổi về phía APP để backup trường hợp flow thanh toán chính phía app xảy ra lỗi lúc xử lí repsonse từ payment gateway.
Quá là tuyệt vời bác ạ. Seri như này giúp hiểu rõ từ gốc đến ngọn về webpack hay qá bác ạ. Có thêm cái mini project nữa thì tuyệt vời luôn ạ. Chúc bác sức khoẻ và ra thêm nhiều seri hay như này nữa nhé bác. Hazzz biết đến bài viết muộn qá buồn thật
@phanngoc123 Bài này mình base trên chính docs của jina github blog ở cuối và tự code lại, khả năng là bạn sẽ thấy các bài same same nhau về tech, không biết bạn đang muốn nói đến bài nào để mình đọc và update thêm kiến thức vô nhỉ ?
Tình cờ đang dính dụ iframe vnpay thì thấy bài này mình có thắc mắc
ReturnUrl trả về bao gồm status đã thanh toán thành công hay chưa và đã checksum rồi, có thể dùng chính ReturnUrl gửi từ FE xuống BE để thực hiện validate dưới BE, validate OK thì đâu cần IPN Url ?
VnPay cung cấp method check transaction thông qua vnp_TxnRef thì có thể dùng method check transaction để check rằng đã thanh toán hay chưa cũng được không cần dùng cách 1.
Vậy suy ra IPN nó sinh ra để dành cho abnormal cases liên quan đến frontend không thực hiện được 2 mục trên thì lúc này thằng IPN đứng ra hỗ trợ cập nhật transaction chứ nhỉ? Anh em nhào vào giải đáp với 😅, tại em thấy mấy web mô tả vnpay khác cũng bảo là dùng IPN để cập nhật thanh toán chứ không dùng ReturnUrl
THẢO LUẬN
@quangvo Nhưng mình không hiểu tại sao lại không nên dùng vnp_ReturnUrl để update trạng thái thanh toán Khi thanh toán thành công vnpay sẽ trả nguyên chuỗi checksum cho bạn luôn (chuỗi này nó cộng chuỗi thẳng vào vnp_ReturnUrl ), mình có thể hoàn toàn lấy chuỗi đã checksum đó để update status thanh toán khÔng cần gọi vnpay để kiểm tra trạng thái thanh toán luôn Vậy thì tại sao lại warning là không nên dùng url return ? Hay là do thời gian viết bài và version vnpay bây giờ đã khác nhỉ ?
Hi anh, case này em có nghĩ đến
Nhưng do nếu dùng sqlite thì airflow sẽ chạy sequentialexecutor thay vì localexecutor như title bài viết í anh
Thanks anh đã đọc ủng hộ em nhen 😄
Mình nghĩ ý đồ của VNPay ở đây là họ muốn nhận phản hồi từ phía app nữa nên mới tách ra 2 requests bao gồm:
Thế nên nếu cho dù kết hợp 2 steps của bạn thì cũng ko đáp ứng được flow cuar VNPAY vì không có phản hồi lại VNPAY.
Vậy suy ra IPN nó sinh ra để dành cho abnormal cases liên quan đến frontend không thực hiện được 2 mục trên thì lúc này thằng IPN đứng ra hỗ trợ cập nhật transaction chứ nhỉ
Liên quan đến ý này thì cũng là 1 nguyên nhân dẫn đến mục tách URL ở trên, họ muốn hạn chế rủi ro liên quán đến việc update dữ liệu nên đã decouple công việc.
Mình cũng làm với 1 payment gate khác là GMO, cũng có cơ chế tương tự như VNPAY, thay vì IPNURL thì họ sẽ có 1 webhook để hook dữ liệu của transation khi có thay đổi về phía APP để backup trường hợp flow thanh toán chính phía app xảy ra lỗi lúc xử lí repsonse từ payment gateway.
Mình thấy ở link này : https://duchuanblog.com ; ông lập trình nó làm masonry khá ổn. Bài viết mới nhất nằm ngang rồi mới đổ dần xuống.
Mình cảm ơn nha :>
Quá là tuyệt vời bác ạ. Seri như này giúp hiểu rõ từ gốc đến ngọn về webpack hay qá bác ạ. Có thêm cái mini project nữa thì tuyệt vời luôn ạ. Chúc bác sức khoẻ và ra thêm nhiều seri hay như này nữa nhé bác. Hazzz biết đến bài viết muộn qá buồn thật
Cho mình ké với. Mình mới tập làm SEO https://densuco.vn/
Ở phần 3, khi em tăng delay lên 2000 thì GlobalScope bị hủy, tại sao vậy anh? Cần 1 lời giải thích.
Có bài nào tổng hợp các loại gui trong ubuntu ko nhỉ?
oke anh nhé
@anhalu à chắc mình nhớ nhầm, cảm ơn bạn nha
@phanngoc123 Bài này mình base trên chính docs của jina github blog ở cuối và tự code lại, khả năng là bạn sẽ thấy các bài same same nhau về tech, không biết bạn đang muốn nói đến bài nào để mình đọc và update thêm kiến thức vô nhỉ ?
@anhalu mình thấy có bài tương tự trên medium, chắc nên dẫn nguồn bạn nhỉ
Em cảm ơn tác giả rất nhiều ạ.
Nhanh gọn lẹ dễ demo và không cần thiết cài nhiều package dependence lên host.
ngol
@ducnp bác có nhầm ở đâu không ấy nhỉ. Mình check ở link: https://stackoverflow.com/questions/35561110/can-multiple-kafka-consumers-read-same-message-from-the-partition thì 2 group sẽ nhận các message giống nhau ở cùng 1 partition nhé. Vì đây là bài viết chia sẽ kiến thức nên mình đóng góp theo hướng tích cực nhé.
cái này em chưa thử, nhưng các comanline đó có trên trang chủ bác có thể lên đó tham khảo nha.
Tình cờ đang dính dụ iframe vnpay thì thấy bài này mình có thắc mắc
Vậy suy ra IPN nó sinh ra để dành cho abnormal cases liên quan đến frontend không thực hiện được 2 mục trên thì lúc này thằng IPN đứng ra hỗ trợ cập nhật transaction chứ nhỉ? Anh em nhào vào giải đáp với 😅, tại em thấy mấy web mô tả vnpay khác cũng bảo là dùng IPN để cập nhật thanh toán chứ không dùng ReturnUrl
This is very detailed and useful. Thank you!