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

주문 결제 완료 처리

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

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

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

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

  • invoice.paid 웹훅이 trigger: "API_CALL"로 가요.
  • 주문에 cashReceipt가 있고 사업자 정보를 등록했다면 현금영수증을 발급해요. 현금영수증 자진발급을 켜 두었다면 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.000+00:00",
    "expiresAt": null,
    "deletedAt": null
  }
}

오류

HTTP code 발생 조건
401 NOT_AUTHORIZED API 키가 없거나 올바르지 않아요.
403 INSUFFICIENT_PERMISSIONS API 키의 계좌 범위 밖의 주문이거나 읽기 전용 키예요.
403 INVOICE_ALREADY_PAID 이미 결제 완료된 주문이에요.
404 INVOICE_NOT_FOUND 주문이 없거나 삭제됐어요.

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