Skip to content

PaymentMethod API

Toss POS에 커스텀 결제 수단을 추가하고 관리하는 API입니다. 포인트 결제, 바코드 결제 등 파트너사에서 제공하는 결제 수단을 등록하여 사용할 수 있습니다.

Types

PaymentMethodResponse

결제 완료 시 반환되는 응답 객체입니다.

ts
{
  approvedAt: string; // 결제 승인 시간
  paymentKey: string; // 결제 고유 ID 중복값을 허용하지 않습니다
}
필드타입설명예시
approvedAtstring결제 승인 시간'2024-09-26T17:32:19'
paymentKeystring결제 고유 ID'plugin-payment-unique-id'

PluginCancelledPaymentDto

결제 취소 시 반환되는 응답 객체입니다.

ts
{
  cancelledAt: string; // 결제 취소 시간
}
필드타입설명예시
cancelledAtstring결제 취소 시간'2024-09-26T17:32:19'

PluginPrice

결제 금액 정보를 나타내는 객체입니다.

ts
{
  amountMoney: number; // 지불액
  taxMoney: number; // 부가가치세
  supplyMoney: number; // 공급가액
  tipMoney: number; // 봉사료
  taxExemptMoney: number; // 면세금액
}
필드타입설명예시
amountMoneynumber지불액10000
taxMoneynumber부가가치세1000
supplyMoneynumber공급가액9000
tipMoneynumber봉사료0
taxExemptMoneynumber면세금액0

Methods

add

Toss POS에 새로운 결제 수단을 등록합니다.

주요 기능

  • 결제 수단 등록 및 관리
  • 결제 이벤트 처리
  • 결제 취소 이벤트 처리

콜백 함수

  • payCallback: 결제 시 실행되는 콜백
    • 사용자 취소 시 undefined 반환
  • cancelCallback: 결제 취소 시 실행되는 콜백
    • 사용자 취소 시 undefined 반환
ts
import { posPluginSdk } from "@tossplace/pos-plugin-sdk";

posPluginSdk.paymentMethod.add({
  data: {
    id: "test-card", // 결제 수단 고유 ID
    image: "https://static.toss.im/icons/png/4x/icon-barcode-scan2.png", // 결제 수단 아이콘 (30x30)
    paymentName: "포인트결제", // 결제 수단 표시명
  },
  payCallback: async (order: PluginOrder, price: PluginPrice) => {
    // 결제 처리 로직
    return {
      approvedAt: "2024-09-26T17:32:19",
      paymentKey: "plugin-payment-unique-id",
    };
  },
  cancelCallback: async (order: PluginOrder, payment: PluginPayment) => {
    // 결제 취소 처리 로직
    return {
      cancelledAt: "2024-09-26T17:45:55",
    };
  },
});