import { ListPage } from '../models/ListPage'; import { Searchable } from '../models/Searchable'; import { Sortable } from '../models/Sortable'; import { Filters } from '../models/Filters'; import { Payment } from '../models/Payment'; import { OrderDirection } from '../models/OrderDirection'; import { PaymentTransaction } from '../models/PaymentTransaction'; import { PartialDeep } from '../models/PartialDeep'; import { RequiredDeep } from '../models/RequiredDeep'; import { RequestOptions } from '../models/RequestOptions'; declare class Payments { private impersonating; /** * @ignore * not part of public api, don't include in generated docs */ constructor(); /** * Get a list of payments. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/payments/list|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param listOptions.search Word or phrase to search for. * @param listOptions.searchOn Comma-delimited list of fields to search on. * @param listOptions.sortBy Comma-delimited list of fields to sort by. * @param listOptions.page Page of results to return. Default: 1. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation. * @param listOptions.pageSize Number of results to return per page. Default: 20, max: 100. * @param listOptions.filters An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???' * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ List(direction: OrderDirection, orderID: string, listOptions?: { search?: string; searchOn?: Searchable<'Payments.List'>; sortBy?: Sortable<'Payments.List'>; page?: number; pageSize?: number; filters?: Filters; }, requestOptions?: RequestOptions): Promise>>; /** * Create a new payment. If ID is provided and an object with that ID already exists, a 409 (conflict) error is returned. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/payments/create|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param payment * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Create(direction: OrderDirection, orderID: string, payment: Payment, requestOptions?: RequestOptions): Promise>; /** * Get a single payment. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/payments/get|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param paymentID ID of the payment. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Get(direction: OrderDirection, orderID: string, paymentID: string, requestOptions?: RequestOptions): Promise>; /** * Delete a payment. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/payments/delete|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param paymentID ID of the payment. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Delete(direction: OrderDirection, orderID: string, paymentID: string, requestOptions?: RequestOptions): Promise; /** * Partially update a payment. PUT is not a supported method for payments due to the implications associated with modifying certain properties. Patch is only permitted on certain properties that vary depending on order status * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/payments/patch|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param paymentID ID of the payment. * @param payment * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Patch(direction: OrderDirection, orderID: string, paymentID: string, payment: PartialDeep, requestOptions?: RequestOptions): Promise>; /** * Create a new payment transaction. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/payments/create-transaction|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param paymentID ID of the payment. * @param paymentTransaction Required fields: Type, DateExecuted * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ CreateTransaction(direction: OrderDirection, orderID: string, paymentID: string, paymentTransaction: PaymentTransaction, requestOptions?: RequestOptions): Promise>; /** * Delete a payment transaction. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/payments/delete-transaction|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param paymentID ID of the payment. * @param transactionID ID of the transaction. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ DeleteTransaction(direction: OrderDirection, orderID: string, paymentID: string, transactionID: string, requestOptions?: RequestOptions): Promise; /** * @description * enables impersonation by calling the subsequent method with the stored impersonation token * * @example * Payments.As().List() // lists Payments using the impersonated users' token */ As(): this; } declare const _default: Payments; export default _default;