/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { paymentMethodsCreate } from "../funcs/paymentMethodsCreate.js"; import { paymentMethodsDelete } from "../funcs/paymentMethodsDelete.js"; import { paymentMethodsGet } from "../funcs/paymentMethodsGet.js"; import { paymentMethodsList } from "../funcs/paymentMethodsList.js"; import { paymentMethodsUpdate } from "../funcs/paymentMethodsUpdate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as components from "../models/components/index.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; import { PageIterator, unwrapResultIterator } from "../types/operations.js"; import { NetworkTokens } from "./networktokens.js"; import { PaymentServiceTokens } from "./paymentservicetokens.js"; export class PaymentMethods extends ClientSDK { private _paymentServiceTokens?: PaymentServiceTokens; get paymentServiceTokens(): PaymentServiceTokens { return (this._paymentServiceTokens ??= new PaymentServiceTokens( this._options, )); } private _networkTokens?: NetworkTokens; get networkTokens(): NetworkTokens { return (this._networkTokens ??= new NetworkTokens(this._options)); } /** * List all payment methods * * @remarks * List all stored payment method. */ async list( request?: operations.ListPaymentMethodsRequest | undefined, options?: RequestOptions, ): Promise< PageIterator > { return unwrapResultIterator(paymentMethodsList( this, request, options, )); } /** * Create payment method * * @remarks * Store a new payment method. */ async create( requestBody: operations.CreatePaymentMethodBody, merchantAccountId?: string | null | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(paymentMethodsCreate( this, requestBody, merchantAccountId, options, )); } /** * Get payment method * * @remarks * Retrieve a payment method. */ async get( paymentMethodId: string, merchantAccountId?: string | null | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(paymentMethodsGet( this, paymentMethodId, merchantAccountId, options, )); } /** * Update payment method * * @remarks * Update the details of a stored payment method. */ async update( paymentMethodUpdate: components.PaymentMethodUpdate, paymentMethodId: string, merchantAccountId?: string | null | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(paymentMethodsUpdate( this, paymentMethodUpdate, paymentMethodId, merchantAccountId, options, )); } /** * Delete payment method * * @remarks * Delete a payment method. */ async delete( paymentMethodId: string, merchantAccountId?: string | null | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(paymentMethodsDelete( this, paymentMethodId, merchantAccountId, options, )); } }