UNPKG

bitsnap-checkout

Version:

This is Bitsnap Checkout React library for easy integration with any website which is using React framework

615 lines (601 loc) 17.9 kB
import * as react_jsx_runtime from 'react/jsx-runtime'; import z__default from 'zod'; import { Timestamp } from '@bufbuild/protobuf/wkt'; import { Message } from '@bufbuild/protobuf'; declare function BitsnapCart({ projectID, children, onVisibleChange, className, }: { projectID: string; children?: React.ReactNode; onVisibleChange?: (isVisible: boolean) => void; className?: string; }): react_jsx_runtime.JSX.Element; type ErrTypes = 'internal' | 'badInput' | 'notFound'; type Err = { ERR: true; error: unknown; type?: ErrTypes; }; declare function Err(message: string, type?: ErrTypes): Err; declare function setProjectID(projectID: string): void; declare function setCustomHost(host: string): void; declare enum BillingPeriod$1 { DAILY = "daily", WEEKLY = "weekly", MONTHLY = "monthly", QUARTERLY = "quarterly", SEMI_ANNUALLY = "semi-annually", ANNUALLY = "annually" } type LinkRequest = z__default.infer<typeof linkRequestSchema>; declare const linkRequestSchema: z__default.ZodObject<{ askForAddress: z__default.ZodOptional<z__default.ZodBoolean>; askForPhone: z__default.ZodOptional<z__default.ZodBoolean>; askForNote: z__default.ZodOptional<z__default.ZodBoolean>; askForNip: z__default.ZodOptional<z__default.ZodBoolean>; delivery: z__default.ZodOptional<z__default.ZodArray<z__default.ZodObject<{ name: z__default.ZodString; desc: z__default.ZodOptional<z__default.ZodString>; min: z__default.ZodNumber; max: z__default.ZodNumber; price: z__default.ZodPipe<z__default.ZodNumber, z__default.ZodTransform<number, number>>; }, {}>>>; deliveryMethod: z__default.ZodOptional<z__default.ZodString>; details: z__default.ZodOptional<z__default.ZodObject<{ email: z__default.ZodOptional<z__default.ZodString>; name: z__default.ZodOptional<z__default.ZodString>; lastName: z__default.ZodOptional<z__default.ZodString>; phone: z__default.ZodOptional<z__default.ZodString>; address: z__default.ZodOptional<z__default.ZodObject<{ name: z__default.ZodOptional<z__default.ZodString>; line1: z__default.ZodOptional<z__default.ZodString>; line2: z__default.ZodOptional<z__default.ZodString>; city: z__default.ZodOptional<z__default.ZodString>; zipCode: z__default.ZodOptional<z__default.ZodString>; country: z__default.ZodOptional<z__default.ZodString>; }, {}>>; billingAddress: z__default.ZodOptional<z__default.ZodObject<{ nip: z__default.ZodOptional<z__default.ZodString>; name: z__default.ZodOptional<z__default.ZodString>; line1: z__default.ZodOptional<z__default.ZodString>; line2: z__default.ZodOptional<z__default.ZodString>; city: z__default.ZodOptional<z__default.ZodString>; zipCode: z__default.ZodOptional<z__default.ZodString>; }, {}>>; }, {}>>; countries: z__default.ZodOptional<z__default.ZodArray<z__default.ZodString>>; items: z__default.ZodArray<z__default.ZodObject<{ id: z__default.ZodString; quantity: z__default.ZodNumber; name: z__default.ZodOptional<z__default.ZodString>; description: z__default.ZodOptional<z__default.ZodString>; imageURL: z__default.ZodOptional<z__default.ZodString>; price: z__default.ZodOptional<z__default.ZodNumber>; currency: z__default.ZodOptional<z__default.ZodString>; recurring: z__default.ZodOptional<z__default.ZodObject<{ billingPeriod: z__default.ZodEnum<{ daily: BillingPeriod$1.DAILY; weekly: BillingPeriod$1.WEEKLY; monthly: BillingPeriod$1.MONTHLY; quarterly: BillingPeriod$1.QUARTERLY; "semi-annually": BillingPeriod$1.SEMI_ANNUALLY; annually: BillingPeriod$1.ANNUALLY; }>; trialDays: z__default.ZodOptional<z__default.ZodNumber>; subscriptionSchedule: z__default.ZodOptional<z__default.ZodNumber>; }, {}>>; }, {}>>; metadata: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodString>>; additionalAgreements: z__default.ZodOptional<z__default.ZodArray<z__default.ZodObject<{ id: z__default.ZodOptional<z__default.ZodString>; name: z__default.ZodString; description: z__default.ZodOptional<z__default.ZodString>; required: z__default.ZodDefault<z__default.ZodBoolean>; answer: z__default.ZodOptional<z__default.ZodBoolean>; }, {}>>>; blikCode: z__default.ZodOptional<z__default.ZodString>; couponCode: z__default.ZodOptional<z__default.ZodString>; redirect: z__default.ZodOptional<z__default.ZodObject<{ successURL: z__default.ZodOptional<z__default.ZodString>; cancelURL: z__default.ZodOptional<z__default.ZodString>; }, {}>>; }, {}>; declare function addProductToCart(id: string, quantity?: number, metadata?: Record<string, string | undefined>): Promise<Err | undefined>; declare function showCart(): void; declare function hideCart(): void; declare namespace Bitsnap { function addProductToCart(id: string, quantity?: number, metadata?: Record<string, string | undefined>): Promise<Err | undefined>; function showCart(): void; function hideCart(): void; } declare function createPaymentURL(request: LinkRequest): Promise<Err | { url: string; }>; declare function createCheckout(request: LinkRequest & { apiKey?: string; testMode?: boolean; }): Promise<{ status: string; redirectURL: string; }>; declare function injectReferenceToRequestIfNeeded(request: LinkRequest): LinkRequest; /** * @generated from enum common.v1.Environment */ declare enum Environment { /** * @generated from enum value: PRODUCTION = 0; */ PRODUCTION = 0, /** * @generated from enum value: TEST = 1; */ TEST = 1 } /** * @generated from enum common.v1.Gateway */ declare enum Gateway { /** * @generated from enum value: GATEWAY_ALL = 0; */ ALL = 0, /** * @generated from enum value: GATEWAY_PRZELEWY_24 = 1; */ PRZELEWY_24 = 1, /** * @generated from enum value: GATEWAY_STRIPE = 2; */ STRIPE = 2, /** * @generated from enum value: GATEWAY_TPAY = 3; */ TPAY = 3, /** * @generated from enum value: GATEWAY_CASH_ON_DELIVERY = 4; */ CASH_ON_DELIVERY = 4, /** * @generated from enum value: GATEWAY_FREE = 5; */ FREE = 5 } /** * @generated from message integrations.v1.Order */ type Order = Message<"integrations.v1.Order"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: integrations.v1.OrderStatus status = 2; */ status: OrderStatus; /** * @generated from field: common.v1.Environment environment = 3; */ environment: Environment; /** * @generated from field: repeated integrations.v1.OrderItem items = 4; */ items: OrderItem[]; /** * @generated from field: repeated string available_countries = 5; */ availableCountries: string[]; /** * @generated from field: optional integrations.v1.BillingAddress billing_address = 6; */ billingAddress?: BillingAddress; /** * @generated from field: optional integrations.v1.Address shipping_address = 7; */ shippingAddress?: Address; /** * @generated from field: optional integrations.v1.OrderDetails details = 8; */ details?: OrderDetails; /** * @generated from field: optional integrations.v1.Customer customer = 9; */ customer?: Customer; /** * @generated from field: google.protobuf.Timestamp created_at = 10; */ createdAt?: Timestamp; }; /** * @generated from message integrations.v1.OrderDetails */ type OrderDetails = Message<"integrations.v1.OrderDetails"> & { /** * @generated from field: common.v1.Gateway gateway = 1; */ gateway: Gateway; /** * @generated from field: repeated integrations.v1.DeliveryMethod delivery_methods = 2; */ deliveryMethods: DeliveryMethod[]; /** * @generated from field: optional int64 delivery_method_price = 3; */ deliveryMethodPrice?: bigint; /** * @generated from field: optional string delivery_method = 4; */ deliveryMethod?: string; /** * @generated from field: bool ask_for_phone = 6; */ askForPhone: boolean; /** * @generated from field: bool ask_for_note = 7; */ askForNote: boolean; /** * @generated from field: bool ask_for_nip = 8; */ askForNip: boolean; /** * @generated from field: optional string coupon_code = 9; */ couponCode?: string; /** * @generated from field: optional int64 coupon_discount_amount = 10; */ couponDiscountAmount?: bigint; /** * @generated from field: optional string coupon_discount_currency = 11; */ couponDiscountCurrency?: string; /** * @generated from field: optional string coupon_discount_type = 12; */ couponDiscountType?: string; /** * @generated from field: optional bool coupon_includes_delivery = 13; */ couponIncludesDelivery?: boolean; /** * @generated from field: optional string success_url = 14; */ successUrl?: string; /** * @generated from field: optional string cancel_url = 15; */ cancelUrl?: string; /** * @generated from field: optional string payment_gateway_id = 16; */ paymentGatewayId?: string; /** * @generated from field: map<string, string> metadata = 17; */ metadata: { [key: string]: string; }; /** * @generated from field: repeated integrations.v1.CheckoutAgreement additional_agreements = 18; */ additionalAgreements: CheckoutAgreement[]; }; /** * @generated from message integrations.v1.CheckoutAgreement */ type CheckoutAgreement = Message<"integrations.v1.CheckoutAgreement"> & { /** * @generated from field: optional string id = 1; */ id?: string; /** * @generated from field: string name = 2; */ name: string; /** * @generated from field: optional string description = 3; */ description?: string; /** * @generated from field: bool required = 4; */ required: boolean; /** * @generated from field: optional bool answer = 5; */ answer?: boolean; }; /** * @generated from message integrations.v1.Address */ type Address = Message<"integrations.v1.Address"> & { /** * @generated from field: string name = 1; */ name: string; /** * @generated from field: string line1 = 2; */ line1: string; /** * @generated from field: optional string line2 = 3; */ line2?: string; /** * @generated from field: string city = 4; */ city: string; /** * @generated from field: string country = 5; */ country: string; /** * @generated from field: optional string zip_code = 6; */ zipCode?: string; }; /** * @generated from message integrations.v1.BillingAddress */ type BillingAddress = Message<"integrations.v1.BillingAddress"> & { /** * @generated from field: string name = 1; */ name: string; /** * @generated from field: string line1 = 2; */ line1: string; /** * @generated from field: optional string line2 = 3; */ line2?: string; /** * @generated from field: string city = 4; */ city: string; /** * @generated from field: string country = 5; */ country: string; /** * @generated from field: optional string zip_code = 6; */ zipCode?: string; /** * @generated from field: optional string tax_id = 7; */ taxId?: string; }; /** * @generated from message integrations.v1.OrderItem */ type OrderItem = Message<"integrations.v1.OrderItem"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: int32 quantity = 2; */ quantity: number; /** * @generated from field: int64 price = 3; */ price: bigint; /** * @generated from field: string currency = 4; */ currency: string; /** * @generated from field: optional int32 tax = 5; */ tax?: number; /** * @generated from field: optional string name = 6; */ name?: string; /** * @generated from field: optional integrations.v1.Recurring recurring = 7; */ recurring?: Recurring; }; /** * @generated from message integrations.v1.Customer */ type Customer = Message<"integrations.v1.Customer"> & { /** * @generated from field: string email = 1; */ email: string; /** * @generated from field: optional string phone = 2; */ phone?: string; /** * @generated from field: optional string name = 3; */ name?: string; }; /** * @generated from message integrations.v1.DeliveryMethod */ type DeliveryMethod = Message<"integrations.v1.DeliveryMethod"> & { /** * @generated from field: string name = 1; */ name: string; /** * @generated from field: int32 min = 2; */ min: number; /** * @generated from field: int32 max = 3; */ max: number; /** * @generated from field: int64 price = 4; */ price: bigint; }; /** * @generated from message integrations.v1.Recurring */ type Recurring = Message<"integrations.v1.Recurring"> & { /** * @generated from field: integrations.v1.BillingPeriod billing_period = 1; */ billingPeriod: BillingPeriod; /** * @generated from field: optional int32 trial_days = 2; */ trialDays?: number; /** * @generated from field: optional int32 number_of_payments = 3; */ numberOfPayments?: number; }; /** * @generated from enum integrations.v1.OrderStatus */ declare enum OrderStatus { /** * @generated from enum value: CREATED = 0; */ CREATED = 0, /** * @generated from enum value: PAID = 1; */ PAID = 1, /** * @generated from enum value: UNPAID = 2; */ UNPAID = 2, /** * @generated from enum value: CANCELED = 3; */ CANCELED = 3 } /** * @generated from enum integrations.v1.BillingPeriod */ declare enum BillingPeriod { /** * @generated from enum value: DAILY = 0; */ DAILY = 0, /** * @generated from enum value: WEEKLY = 1; */ WEEKLY = 1, /** * @generated from enum value: MONTHLY = 2; */ MONTHLY = 2, /** * @generated from enum value: QUARTERLY = 3; */ QUARTERLY = 3, /** * @generated from enum value: SEMI_ANNUALLY = 4; */ SEMI_ANNUALLY = 4, /** * @generated from enum value: ANNUALLY = 5; */ ANNUALLY = 5 } /** * @generated from message integrations.v1.EventData */ type EventData = Message<"integrations.v1.EventData"> & { /** * @generated from field: string id = 1; */ id: string; /** * @generated from field: integrations.v1.Event event = 2; */ event: Event; /** * @generated from field: optional integrations.v1.Order order = 3; */ order?: Order; /** * @generated from field: optional integrations.v1.Customer customer = 4; */ customer?: Customer; }; /** * @generated from enum integrations.v1.Event */ declare enum Event { /** * @generated from enum value: UNKNOWN = 0; */ UNKNOWN = 0, /** * @generated from enum value: TRANSACTION_CREATED = 1; */ TRANSACTION_CREATED = 1, /** * @generated from enum value: TRANSACTION_SUCCESS = 2; */ TRANSACTION_SUCCESS = 2, /** * @generated from enum value: TRANSACTION_FAILURE = 3; */ TRANSACTION_FAILURE = 3, /** * @generated from enum value: TRANSACTION_EXPIRED = 4; */ TRANSACTION_EXPIRED = 4, /** * @generated from enum value: TRANSACTION_CHARGE = 5; */ TRANSACTION_CHARGE = 5, /** * @generated from enum value: SUBSCRIPTION_CREATED = 6; */ SUBSCRIPTION_CREATED = 6, /** * @generated from enum value: SUBSCRIPTION_PAUSED = 7; */ SUBSCRIPTION_PAUSED = 7, /** * @generated from enum value: SUBSCRIPTION_RESUMED = 8; */ SUBSCRIPTION_RESUMED = 8, /** * @generated from enum value: SUBSCRIPTION_UPDATED = 9; */ SUBSCRIPTION_UPDATED = 9, /** * @generated from enum value: SUBSCRIPTION_DELETED = 10; */ SUBSCRIPTION_DELETED = 10 } /** * @generated from message jobs.v1.IntegrationEventJob */ type IntegrationEventJob = Message<"jobs.v1.IntegrationEventJob"> & { /** * @generated from field: string project_id = 1; */ projectId: string; /** * @generated from field: common.v1.Environment environment = 2; */ environment: Environment; /** * @generated from field: integrations.v1.EventData event_data = 3; */ eventData?: EventData; }; declare function handleWebhook(payload: string, url: string, headers: Record<string, string | undefined>, secret: string): Promise<ReturnType>; declare function handleWebhookSignature(payload: string, signature: string, secret: string): Promise<ReturnType>; type ReturnType = (Err & { isErr: true; }) | (IntegrationEventJob & { isErr: false; }); export { Bitsnap, BitsnapCart as BitsnapCheckout, type LinkRequest, addProductToCart, createCheckout, createPaymentURL, handleWebhook, handleWebhookSignature, hideCart, injectReferenceToRequestIfNeeded, setCustomHost, setProjectID, showCart };