본문으로 건너뛰기
페이싱크 개발자센터
Esc
↑↓이동↵열기⌘J미리보기
이 페이지에서

주문 결제 완료 처리

POST /v1/invoices/{id}/mark-as-paid 로 입금 매칭 없이 주문을 결제 완료로 바꿔요.

POST /v1/invoices/{id}/mark-as-paid

현금으로 받았거나 다른 수단으로 결제된 주문을 결제 완료로 바꿔요. 만료된 주문도 바꿀 수 있어요. 입금이 자동으로 매칭된 주문은 이미 결제 완료라서 호출할 필요가 없어요.

호출하면 이런 일이 함께 일어나요.

  • invoice.paid 웹훅이 trigger: "API_CALL"로 가요.
  • 주문에 cashReceipt가 있고 사업자 정보를 등록했다면 현금영수증을 발급해요.
  • 카페24 연동으로 만들어진 주문이면 카페24 주문도 입금 확인 상태로 바꿔요.

구매자에게 가는 결제 완료 이메일은 보내지 않아요.

경로 파라미터

파라미터 타입 설명
id string 결제 완료로 바꿀 주문 ID예요. ivc_로 시작해요.

요청 예시

curl -X POST https://api.paysync.kr/v1/invoices/ivc_a1b2c3d4e5f6g7h8i9j0k1l2/mark-as-paid \
  -H "Authorization: Bearer $PAYSYNC_API_KEY"
const res = await fetch(`https://api.paysync.kr/v1/invoices/${invoiceId}/mark-as-paid`, {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.PAYSYNC_API_KEY}` },
});
const { code, data } = await res.json();
import os
import requests

res = requests.post(
    f"https://api.paysync.kr/v1/invoices/{invoice_id}/mark-as-paid",
    headers={"Authorization": f"Bearer {os.environ['PAYSYNC_API_KEY']}"},
)
print(res.json())

응답

paid가 true로 바뀐 주문 객체가 와요.

{
  "code": "OK",
  "data": {
    "id": "ivc_a1b2c3d4e5f6g7h8i9j0k1l2",
    "issuerId": "acc_x9y8z7w6v5u4t3s2r1q0p9o8",
    "bankAccountIds": [],
    "customer": {
      "name": "홍길동",
      "email": null,
      "phoneNumber": null
    },
    "cashReceipt": null,
    "amount": 50000,
    "paid": true,
    "metadata": { "orderId": "ORDER-2026-0001" },
    "issuedAt": "2026-04-28T03:14:15.926Z",
    "expiresAt": null,
    "deletedAt": null
  }
}

오류

HTTP code 발생 조건
401 NOT_AUTHORIZED API 키가 없거나 올바르지 않아요.
403 INSUFFICIENT_PERMISSIONS 다른 계정의 주문이거나, API 키의 접근 가능한 계좌 밖의 주문이에요.
403 INVOICE_ALREADY_PAID 이미 결제 완료된 주문이에요.
404 INVOICE_NOT_FOUND 주문이 없거나 삭제됐어요.

이 페이지가 도움이 되었나요?