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
Cluster: là 1 system bao gồm zookeeper + nhiều broker (tương đương 1 server) cùng làm việc với nhau. Lưu ý là trong 1 cluster thì chỉ có 1 broker chính luôn active, tuy nhiên các broker còn lại cũng đều nhận được bản copy data mà broker chính nhận được.
Hình như tác giả đang muốn nói broker lead cho mỗi partition - dựa vào replication-factor của partition, và broker follower sẽ nhận được bản replicate mà broker lead của partition phải kh ạ. Chứ mình có tìm hiểu thì kh biết chỗ broker chính ở đây là gì. Mong tác giả giải đáp nha.
THẢO LUẬN
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!
Cluster: là 1 system bao gồm zookeeper + nhiều broker (tương đương 1 server) cùng làm việc với nhau. Lưu ý là trong 1 cluster thì chỉ có 1 broker chính luôn active, tuy nhiên các broker còn lại cũng đều nhận được bản copy data mà broker chính nhận được.
Hay quá bạn mình đã note vào taskbar 8/11 tools