@phygrid/checkout
Version:
65 lines (64 loc) • 1.97 kB
TypeScript
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;
}