UNPKG

@phygrid/checkout

Version:

65 lines (64 loc) 1.97 kB
export declare enum PaymentMode { Online = "online", CardPresent = "cardPresent" } export declare enum PaymentType { StripeOnlineCheckout = "stripeOnlineCheckout", AdyenCloudCardTerminal = "adyenCloudCardTerminal", Other = "other" } export interface TransactionOtherPayment { type: PaymentType.Other; data: unknown; } export interface StripeOnlineCheckoutPaymentData { collectShippingAddress: boolean; } export interface TransactionStripeOnlineCheckoutPayment { type: PaymentType.StripeOnlineCheckout; data: StripeOnlineCheckoutPaymentData; } export interface AdyenCardTerminalCloudPaymentData { terminalId: string; } export interface TransactionAdyenCloudCardTerminalCheckoutPayment { type: PaymentType.AdyenCloudCardTerminal; data: AdyenCardTerminalCloudPaymentData; } export type TransactionPayment = TransactionOtherPayment | TransactionStripeOnlineCheckoutPayment; export interface Customer { email: string; name: string; phone: string; } export interface AdyenCloudCardTerminalPaymentData { terminalId: string; } export interface CreatePaymentPayload { paymentTypeId: string; transactionId: string; data?: AdyenCloudCardTerminalPaymentData | StripeOnlineCheckoutPaymentData; } export interface StripeOnlineCheckoutPaymentResponse { type: PaymentType.StripeOnlineCheckout; transactionId: string; data: { stripeId: string; checkoutUrl: string; }; } export interface AdyenCloudCardTerminalCheckoutPaymentResponse { type: PaymentType.AdyenCloudCardTerminal; transactionId: string; data: { status: string; }; } export type PaymentResponse = StripeOnlineCheckoutPaymentResponse | AdyenCloudCardTerminalCheckoutPaymentResponse; export interface PaymentMethodSchemaConfig { id: string; title: string; type: PaymentType; mode: PaymentMode; data: StripeOnlineCheckoutPaymentData | AdyenCardTerminalCloudPaymentData; }