import type * as Square from "../index"; /** * Represents a payment processed by the Square API. */ export interface Payment { /** A unique ID for the payment. */ id?: string; /** The timestamp of when the payment was created, in RFC 3339 format. */ createdAt?: string; /** The timestamp of when the payment was last updated, in RFC 3339 format. */ updatedAt?: string; /** * The amount processed for this payment, not including `tip_money`. * * The amount is specified in the smallest denomination of the applicable currency (for example, * US dollar amounts are specified in cents). For more information, see * [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts). */ amountMoney?: Square.Money; /** * The amount designated as a tip for the seller's staff. * * Tips for external vendors such as a 3rd party delivery courier must be recorded using Order.service_charges. * * This amount is specified in the smallest denomination of the applicable currency (for example, * US dollar amounts are specified in cents). For more information, see * [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts). */ tipMoney?: Square.Money; /** * The total amount for the payment, including `amount_money` and `tip_money`. * This amount is specified in the smallest denomination of the applicable currency (for example, * US dollar amounts are specified in cents). For more information, see * [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts). */ totalMoney?: Square.Money; /** * The amount the developer is taking as a fee for facilitating the payment on behalf * of the seller. This amount is specified in the smallest denomination of the applicable currency * (for example, US dollar amounts are specified in cents). For more information, * see [Take Payments and Collect Fees](https://developer.squareup.com/docs/payments-api/take-payments-and-collect-fees). * * The amount cannot be more than 90% of the `total_money` value. * * To set this field, `PAYMENTS_WRITE_ADDITIONAL_RECIPIENTS` OAuth permission is required. * For more information, see [Permissions](https://developer.squareup.com/docs/payments-api/take-payments-and-collect-fees#permissions). */ appFeeMoney?: Square.Money; /** Details pertaining to recipients of the application fee. */ appFeeAllocations?: unknown[] | null; /** * The amount of money approved for this payment. This value may change if Square chooses to * obtain reauthorization as part of a call to [UpdatePayment](api-endpoint:Payments-UpdatePayment). */ approvedMoney?: Square.Money; /** The processing fees and fee adjustments assessed by Square for this payment. */ processingFee?: Square.ProcessingFee[]; /** * The total amount of the payment refunded to date. * * This amount is specified in the smallest denomination of the applicable currency (for example, * US dollar amounts are specified in cents). */ refundedMoney?: Square.Money; /** Indicates whether the payment is APPROVED, PENDING, COMPLETED, CANCELED, or FAILED. */ status?: string; /** * The duration of time after the payment's creation when Square automatically applies the * `delay_action` to the payment. This automatic `delay_action` applies only to payments that * do not reach a terminal state (COMPLETED, CANCELED, or FAILED) before the `delay_duration` * time period. * * This field is specified as a time duration, in RFC 3339 format. * * Notes: * This feature is only supported for card payments. * * Default: * * - Card-present payments: "PT36H" (36 hours) from the creation time. * - Card-not-present payments: "P7D" (7 days) from the creation time. */ delayDuration?: string; /** * The action to be applied to the payment when the `delay_duration` has elapsed. * * Current values include `CANCEL` and `COMPLETE`. */ delayAction?: string | null; /** * The read-only timestamp of when the `delay_action` is automatically applied, * in RFC 3339 format. * * Note that this field is calculated by summing the payment's `delay_duration` and `created_at` * fields. The `created_at` field is generated by Square and might not exactly match the * time on your local machine. */ delayedUntil?: string; /** * The source type for this payment. * * Current values include `CARD`, `BANK_ACCOUNT`, `WALLET`, `BUY_NOW_PAY_LATER`, `SQUARE_ACCOUNT`, * `CASH` and `EXTERNAL`. For information about these payment source types, * see [Take Payments](https://developer.squareup.com/docs/payments-api/take-payments). */ sourceType?: string; /** Details about a card payment. These details are only populated if the source_type is `CARD`. */ cardDetails?: Square.CardPaymentDetails; /** Details about a cash payment. These details are only populated if the source_type is `CASH`. */ cashDetails?: Square.CashPaymentDetails; /** Details about a bank account payment. These details are only populated if the source_type is `BANK_ACCOUNT`. */ bankAccountDetails?: Square.BankAccountPaymentDetails; /** Details specific to electronic money payments. */ electronicMoneyDetails?: Square.ElectronicMoneyDetails; /** * Details about an external payment. The details are only populated * if the `source_type` is `EXTERNAL`. */ externalDetails?: Square.ExternalPaymentDetails; /** * Details about an wallet payment. The details are only populated * if the `source_type` is `WALLET`. */ walletDetails?: Square.DigitalWalletDetails; /** * Details about a Buy Now Pay Later payment. The details are only populated * if the `source_type` is `BUY_NOW_PAY_LATER`. For more information, see * [Afterpay Payments](https://developer.squareup.com/docs/payments-api/take-payments/afterpay-payments). */ buyNowPayLaterDetails?: Square.BuyNowPayLaterDetails; /** * Details about a Square Account payment. The details are only populated * if the `source_type` is `SQUARE_ACCOUNT`. */ squareAccountDetails?: Square.SquareAccountDetails; /** The ID of the location associated with the payment. */ locationId?: string; /** The ID of the order associated with the payment. */ orderId?: string; /** * An optional ID that associates the payment with an entity in * another system. */ referenceId?: string; /** * The ID of the customer associated with the payment. If the ID is * not provided in the `CreatePayment` request that was used to create the `Payment`, * Square may use information in the request * (such as the billing and shipping address, email address, and payment source) * to identify a matching customer profile in the Customer Directory. * If found, the profile ID is used. If a profile is not found, the * API attempts to create an * [instant profile](https://developer.squareup.com/docs/customers-api/what-it-does#instant-profiles). * If the API cannot create an * instant profile (either because the seller has disabled it or the * seller's region prevents creating it), this field remains unset. Note that * this process is asynchronous and it may take some time before a * customer ID is added to the payment. */ customerId?: string; /** * __Deprecated__: Use `Payment.team_member_id` instead. * * An optional ID of the employee associated with taking the payment. */ employeeId?: string; /** An optional ID of the [TeamMember](entity:TeamMember) associated with taking the payment. */ teamMemberId?: string | null; /** A list of `refund_id`s identifying refunds for the payment. */ refundIds?: string[]; /** * Provides information about the risk associated with the payment, as determined by Square. * This field is present for payments to sellers that have opted in to receive risk * evaluations. */ riskEvaluation?: Square.RiskEvaluation; /** An optional ID for a Terminal checkout that is associated with the payment. */ terminalCheckoutId?: string; /** The buyer's email address. */ buyerEmailAddress?: string; /** The buyer's billing address. */ billingAddress?: Square.Address; /** The buyer's shipping address. */ shippingAddress?: Square.Address; /** An optional note to include when creating a payment. */ note?: string; /** * Additional payment information that gets added to the customer's card statement * as part of the statement description. * * Note that the `statement_description_identifier` might get truncated on the statement description * to fit the required information including the Square identifier (SQ *) and the name of the * seller taking the payment. */ statementDescriptionIdentifier?: string; /** * Actions that can be performed on this payment: * - `EDIT_AMOUNT_UP` - The payment amount can be edited up. * - `EDIT_AMOUNT_DOWN` - The payment amount can be edited down. * - `EDIT_TIP_AMOUNT_UP` - The tip amount can be edited up. * - `EDIT_TIP_AMOUNT_DOWN` - The tip amount can be edited down. * - `EDIT_DELAY_ACTION` - The delay_action can be edited. */ capabilities?: string[]; /** * The payment's receipt number. * The field is missing if a payment is canceled. */ receiptNumber?: string; /** * The URL for the payment's receipt. * The field is only populated for COMPLETED payments. */ receiptUrl?: string; /** Details about the device that took the payment. */ deviceDetails?: Square.DeviceDetails; /** Details about the application that took the payment. */ applicationDetails?: Square.ApplicationDetails; buyerCurrencyExchange?: unknown; /** Whether or not this payment was taken offline. */ isOfflinePayment?: boolean; /** Additional information about the payment if it was taken offline. */ offlinePaymentDetails?: Square.OfflinePaymentDetails; /** * Used for optimistic concurrency. This opaque token identifies a specific version of the * `Payment` object. */ versionToken?: string | null; }