import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { Amount, Amount$Outbound } from "./amount.js"; import { Mode } from "./mode.js"; import { PaymentLinkCustomerOptions, PaymentLinkCustomerOptions$Outbound } from "./paymentlinkcustomeroptions.js"; import { PaymentLinkDisplayOptions, PaymentLinkDisplayOptions$Outbound } from "./paymentlinkdisplayoptions.js"; import { PaymentLinkLineItems, PaymentLinkLineItems$Outbound } from "./paymentlinklineitems.js"; import { PaymentLinkPaymentDetails, PaymentLinkPaymentDetails$Outbound } from "./paymentlinkpaymentdetails.js"; import { PaymentLinkPayoutDetails, PaymentLinkPayoutDetails$Outbound } from "./paymentlinkpayoutdetails.js"; import { PaymentLinkStatus } from "./paymentlinkstatus.js"; import { PaymentLinkType } from "./paymentlinktype.js"; export type PaymentLink = { /** * Unique code identifying this payment link. */ code: string; paymentLinkType: PaymentLinkType; /** * The operating mode for an account. */ mode: Mode; status: PaymentLinkStatus; /** * The partner's Moov account ID. */ partnerAccountID: string; /** * The merchant's Moov account ID. */ merchantAccountID: string; /** * The payment link's owner's Moov account ID. */ ownerAccountID: string; /** * The merchant's preferred payment method ID. Must be a wallet payment method. */ merchantPaymentMethodID: string; /** * Link to the payment landing page for this payment link. */ link: string; amount: Amount; /** * Optional sales tax amount. */ salesTaxAmount?: Amount | undefined; /** * The number of times this payment link has been used. */ uses: number; /** * An optional limit on the number of times this payment link can be used. * * @remarks * * **For payouts, `maxUses` is always 1.** */ maxUses?: number | undefined; /** * The timestamp when this payment link was last used. */ lastUsedOn?: Date | undefined; /** * An optional expiration date for this payment link. */ expiresOn?: Date | undefined; /** * Customizable display options for a payment link. */ display: PaymentLinkDisplayOptions; customer: PaymentLinkCustomerOptions; /** * Options for payment links used to collect payment. */ payment?: PaymentLinkPaymentDetails | undefined; payout?: PaymentLinkPayoutDetails | undefined; /** * An optional collection of line items for a payment link. * * @remarks * When line items are provided, their total plus sales tax must equal the payment link amount. */ lineItems?: PaymentLinkLineItems | undefined; createdOn: Date; updatedOn: Date; disabledOn?: Date | undefined; }; /** @internal */ export declare const PaymentLink$inboundSchema: z.ZodType; /** @internal */ export type PaymentLink$Outbound = { code: string; paymentLinkType: string; mode: string; status: string; partnerAccountID: string; merchantAccountID: string; ownerAccountID: string; merchantPaymentMethodID: string; link: string; amount: Amount$Outbound; salesTaxAmount?: Amount$Outbound | undefined; uses: number; maxUses?: number | undefined; lastUsedOn?: string | undefined; expiresOn?: string | undefined; display: PaymentLinkDisplayOptions$Outbound; customer: PaymentLinkCustomerOptions$Outbound; payment?: PaymentLinkPaymentDetails$Outbound | undefined; payout?: PaymentLinkPayoutDetails$Outbound | undefined; lineItems?: PaymentLinkLineItems$Outbound | undefined; createdOn: string; updatedOn: string; disabledOn?: string | undefined; }; /** @internal */ export declare const PaymentLink$outboundSchema: z.ZodType; export declare function paymentLinkToJSON(paymentLink: PaymentLink): string; export declare function paymentLinkFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=paymentlink.d.ts.map