medusa-payment-tosspayments
Version:
TossPayments payment pluging for medusa
58 lines (57 loc) • 2.36 kB
TypeScript
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;