Bỏ qua để đến nội dung

Payments (giao dịch chuyển tiền)

Đường dẫn: /companies/{company_id}/transactions

Mỗi lần tiền thực sự di chuyển là một payment (pyt_...). Một kỳ lương sinh ra:

  • 1 employer debit: trích từ tài khoản công ty (cash requirement: lương + thuế + phúc lợi)
  • N employee payments: trả net pay vào tài khoản từng nhân viên
  • N contractor payments

Danh sách payment: employer debit và employee/contractor credit Hình: Danh sách payment: employer debit và employee/contractor credit

Bộ lọc: Status, Type, Min/Max amount, Processed after/before.

Các cột: Status, Type, Direction, Amount, Counterparty, Method, Processed at, Payment ID, Payroll item ID, Payroll ID, Actions.

Ví dụ Zodinet, cùng payroll pay_eBmB...:

Status Type Direction Amount Method
Paid Employee payment Credit (trả ra) $804.65 —
Paid Employer debit Debit (trích vào) $303.85 ACH

Gross $1,000, nhân viên nhận $804.65 sau thuế. Employer debit chỉ là $303.85 vì nhân viên này nhận Manual: net pay do công ty tự trả, Check chỉ trích tiền thuế ($195.35 thuế NV + $108.50 thuế công ty). Xem Kịch bản 2.

Công thức đã kiểm chứng: employer debit = net pay của người nhận direct deposit + thuế NV + thuế công ty. Khoản 401k và khấu trừ miscellaneous không nằm trong debit (Kịch bản 6).

Type Ý nghĩa
company_cash_requirement Trích tiền công ty cho kỳ lương
employee_net_pay Trả lương nhân viên hoặc nhà thầu
net_pay_refund Hoàn net pay (khi trả lỗi)
collection Thu thuế không gắn kỳ lương (ví dụ chênh lệch cuối quý)
refund Hoàn thuế thu thừa

draft (tạo lúc duyệt) → processing (đang ở ngân hàng) → paid

Nhánh lỗi: failed, sau đó refunded, reversed hoặc canceled.

failure_code Nguyên nhân Xử lý
insufficient_funds Công ty không đủ tiền Nạp tiền, retry (nên dùng wire)
account_closed Tài khoản đã đóng Thêm tài khoản mới, retry
invalid_account_number Sai số tài khoản Sửa tài khoản, retry
debit_not_authorized Ngân hàng chặn debit của Check Công ty cho phép ACH debit từ Check
account_frozen Tài khoản bị phong tỏa Đổi tài khoản

Menu ⋯ của một payment — ① Retry payment · ② View attempts history Hình: Menu ⋯ của một payment — ① Retry payment · ② View attempts history

  • Retry: thử lại khoản failed (cờ can_retry)
  • Refund: với khoản trả nhân viên thất bại, hoàn tiền về công ty và chuyển sang trả manual (séc giấy). Dùng cờ can_refund, đừng đoán theo status.
  • Cancel: hủy khoản credit khi còn trong cửa sổ cho phép (cancel_deadline)
  • Payroll chuyển failed, công ty mất good standing và không chạy kỳ tiếp theo được.
  • Xuất hiện trong Action center → Failed Fundings.
  • Mỗi lần lỗi là một funding strike, ảnh hưởng processing period và có thể dẫn tới chấm dứt dịch vụ.

API: GET /payments?payroll=..., /retry, /refund, /cancel. Webhook payment.