UNPKG

@portone/browser-sdk

Version:

PortOne SDK for browser

58 lines (57 loc) 1.9 kB
import { CapsToCamel } from '../utils.js'; import { Entity } from './index.js'; export declare function requestIssueBillingKeyAndPay(request: IssueBillingKeyAndPayRequest): Promise<IssueBillingKeyAndPayResponse>; export type IssueBillingKeyAndPayRequest = { storeId: string; paymentId: string; orderName: string; totalAmount: number; currency: Entity.Currency; channelKey?: string; pgProvider?: Entity.PgProvider; isTestChannel?: boolean; taxFreeAmount?: number; vatAmount?: number; customer?: Entity.Customer; billingKeyAndPayMethod: Entity.BillingKeyAndPayMethod; windowType?: Entity.WindowTypes; redirectUrl?: string; noticeUrls?: string[]; locale?: Entity.Locale; isCulturalExpense?: boolean; customData?: Record<string, any>; offerPeriod?: Entity.OfferPeriod; appScheme?: string; productType?: Entity.ProductType; storeDetails?: Entity.StoreDetails; country?: Entity.Country; bypass?: Entity.IssueBillingKeyAndPayBypass; popup?: Entity.Popup; iframe?: Entity.Iframe; } & (BillingKeyAndPayMethodOptions<'MOBILE', Mobile> | { billingKeyAndPayMethod?: undefined; }); /** * iframe/popup 방식으로 PG사 창이 렌더링 된 경우 * 프로세스 종료 후, 콜백 함수로 전달 될 빌링키 발급 및 결제 정보 데이터 */ export type IssueBillingKeyAndPayResponse = { transactionType: typeof Entity.TransactionType.ISSUE_BILLING_KEY_AND_PAY; txId: string; paymentId: string; billingKey: string; code?: string; message?: string; pgCode?: string; pgMessage?: string; }; type BillingKeyAndPayMethodOptions<Method extends Entity.BillingKeyAndPayMethod, T> = { billingKeyAndPayMethod: Method; } & { [K in Method as CapsToCamel<K>]?: T; }; type Mobile = { carrier?: Entity.Carrier; availableCarriers?: Entity.Carrier[]; }; export {};