UNPKG

medusa-payment-tosspayments

Version:
58 lines (57 loc) 2.36 kB
import { Payment, TossPaymentsErrorType, PaymentStatus } from "../types"; import { PaymentSessionData } from "@medusajs/medusa"; declare class TossPaymentsBase { private tosspaymentsApi; protected readonly secretKey: string; protected status: PaymentStatus; protected paymentIntent: Record<string, unknown>; private readonly baseUrl; constructor(secretKey: unknown, version: unknown); getStatus(): PaymentStatus; /** * * @param sessionData */ initialize({ id, email, amount, }: { id: string; email: string; amount: number; }): Record<string, unknown>; update(data: PaymentSessionData): Record<string, unknown>; retrieve(): Record<string, unknown>; /** * TOSSPAYMENTS API */ /** * paymentKey에 해당하는 결제를 검증하고 승인합니다. * 결제 인증이 유효한 10분 안에 상점에서 결제 승인 API를 호출하지 않으면 해당 결제는 만료됩니다. * * @param data<{paymentKey: string, orderId: string, amount: number}> * @returns */ confirm(data: { paymentKey: string; orderId: string; amount: number; }): Promise<Payment | TossPaymentsErrorType>; /** * 승인된 결제를 paymentKey로 조회합니다. * paymentKey는 SDK를 사용해 결제할 때 발급되는 고유한 키 값이며, orderId는 SDK로 결제를 요청할 때 가맹점에서 만들어서 사용한 값입니다. * 결제가 최종 승인된 후 돌아오는 Payment 객체에 담겨있습니다. * * @param paymentKey */ inquiry(paymentKey: string): Promise<Payment | TossPaymentsErrorType>; /** * 승인된 결제를 paymentKey로 취소합니다. 취소 이유를 cancelReason에 추가해야 합니다. * 결제 금액의 일부만 부분 취소하려면 cancelAmount에 취소할 금액을 추가해서 API를 요청합니다. (cancelAmount에 값을 넣지 않으면 전액 취소됩니다.) * 멱등키를 요청 헤더에 추가하면 중복 취소 없이 안전하게 처리됩니다. * * @param paymentKey * @param reason * @param amount * @returns */ cancel(paymentKey: string, reason: string, amount?: number): Promise<Payment | TossPaymentsErrorType>; } export default TossPaymentsBase;