UNPKG

@paddle/paddle-js

Version:

Wrapper to load Paddle.js as a module and use TypeScript definitions when working with methods.

174 lines (153 loc) 4.53 kB
// Note: The enums in this file is only for types. For it to work in the application please update the `src` directory import { CurrencyCode } from '../shared/currency-code'; export enum CheckoutEventNames { CHECKOUT_LOADED = 'checkout.loaded', CHECKOUT_CLOSED = 'checkout.closed', CHECKOUT_UPDATED = 'checkout.updated', CHECKOUT_COMPLETED = 'checkout.completed', CHECKOUT_ERROR = 'checkout.error', CHECKOUT_FAILED = 'checkout.failed', CHECKOUT_ITEMS_UPDATED = 'checkout.items.updated', CHECKOUT_ITEMS_REMOVED = 'checkout.items.removed', CHECKOUT_CUSTOMER_CREATED = 'checkout.customer.created', CHECKOUT_CUSTOMER_UPDATED = 'checkout.customer.updated', CHECKOUT_CUSTOMER_REMOVED = 'checkout.customer.removed', CHECKOUT_PAYMENT_SELECTED = 'checkout.payment.selected', CHECKOUT_PAYMENT_INITIATED = 'checkout.payment.initiated', CHECKOUT_PAYMENT_FAILED = 'checkout.payment.failed', CHECKOUT_PAYMENT_ERROR = 'checkout.payment.error', CHECKOUT_DISCOUNT_APPLIED = 'checkout.discount.applied', CHECKOUT_DISCOUNT_REMOVED = 'checkout.discount.removed', CHECKOUT_UPSELL_CANCELED = 'checkout.upsell.canceled', } export enum CheckoutEventsTimePeriodInterval { DAY = 'day', WEEK = 'week', MONTH = 'month', YEAR = 'year', } export enum CheckoutEventsPaymentMethodTypes { ALIPAY = 'alipay', APPLE_PAY = 'apple-pay', CARD = 'card', GOOGLE_PAY = 'google-pay', IDEAL = 'ideal', PAYPAL = 'paypal', WECHAT_PAY = 'wechat-pay', WIRE_TRANSFER = 'wire-transfer', NONE = 'none', } export enum CheckoutEventsPaymentMethodCardTypes { AMERICAN_EXPRESS = 'american_express', DINERS_CLUB = 'diners_club', DISCOVER = 'discover', JCB = 'jcb', MADA = 'mada', MAESTRO = 'maestro', MASTER_CARD = 'mastercard', UNION_PAY = 'union_pay', VISA = 'visa', UNKNOWN = 'unknown', } export enum CheckoutEventsStatus { DRAFT = 'draft', READY = 'ready', COMPLETED = 'completed', BILLED = 'billed', PAID = 'paid', canceled = 'canceled', PAST_DUE = 'past_due', } export interface CheckoutEventsCustomerAddress { city: string; country_code: string; first_line: string; id: string; postal_code: string; region: string; } export interface CheckoutEventsCustomerBusiness { id: string; name: string; tax_identifier: string; } export interface CheckoutEventsCustomer { address?: CheckoutEventsCustomerAddress | null; business?: CheckoutEventsCustomerBusiness | null; email?: string; id?: string; } export interface CheckoutEventsItemProduct { description?: string; id: string; image_url?: string; name: string; } export interface CheckoutEventsTimePeriod { frequency: number; interval: CheckoutEventsTimePeriodInterval; } export interface CheckoutEventsTotals { balance?: number; credit?: number; discount: number; subtotal: number; tax: number; total: number; } export interface CheckoutEventsItem { billing_cycle?: CheckoutEventsTimePeriod; price_id: string; price_name?: string | null; product: CheckoutEventsItemProduct; quantity: number; recurring_totals?: CheckoutEventsTotals; totals: CheckoutEventsTotals; trial_period?: CheckoutEventsTimePeriod; } export interface CheckoutEventsPaymentMethodCardDetails { expiry_month: number; expiry_year: number; last4: string; type: CheckoutEventsPaymentMethodCardTypes; } export interface CheckoutEventsPaymentMethodDetails { card?: CheckoutEventsPaymentMethodCardDetails; type: CheckoutEventsPaymentMethodTypes; } export interface CheckoutEventsPayment { method_details: CheckoutEventsPaymentMethodDetails; } export interface CheckoutEventsSettings { display_mode: 'overlay' | 'inline' | 'wide-overlay'; theme: 'light' | 'dark'; } export interface CheckoutEventsDiscount { code: string; id: string; } export interface CheckoutEventUpsell { transaction_id: string; } export interface CheckoutEventsData { currency_code: CurrencyCode; custom_data?: object | null; customer: CheckoutEventsCustomer; discount?: CheckoutEventsDiscount; id: string; items: CheckoutEventsItem[]; payment: CheckoutEventsPayment; recurring_totals?: CheckoutEventsTotals; settings: CheckoutEventsSettings; status: CheckoutEventsStatus; totals: CheckoutEventsTotals; transaction_id: string; upsell: CheckoutEventUpsell | null; } export interface CheckoutEventError { name: CheckoutEventNames.CHECKOUT_ERROR | CheckoutEventNames.CHECKOUT_PAYMENT_ERROR; type: string; code: string; detail: string; documentation_url: string; }