@servicetitan/moneyout-api-client 1.21.76-next.76 → 1.21.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,13 @@ export interface IBillPayments {
14
14
  * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.
15
15
  */
16
16
  cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;
17
+ /**
18
+ * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL
19
+ account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching
20
+ happens here (that logic belongs to the monolith caller). A source with no GL configured
21
+ at the partner returns `GlAccount: null`, not an error.
22
+ */
23
+ getSourceAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<SourceAccount[]>;
17
24
  }
18
25
  export declare const BASE_URL_TOKEN_BillPayments: import("@servicetitan/react-ioc").SymbolToken<string>;
19
26
  export declare class BillPayments implements IBillPayments {
@@ -34,6 +41,13 @@ export declare class BillPayments implements IBillPayments {
34
41
  * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.
35
42
  */
36
43
  cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;
44
+ /**
45
+ * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL
46
+ account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching
47
+ happens here (that logic belongs to the monolith caller). A source with no GL configured
48
+ at the partner returns `GlAccount: null`, not an error.
49
+ */
50
+ getSourceAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<SourceAccount[]>;
37
51
  }
38
52
  export interface InitiatePaymentResponse {
39
53
  /** The provider's payment ID. Stored on VendorPayment.ExternalId in the monolith. */
@@ -70,4 +84,18 @@ When provided the retry uses this method instead of the one that originally fail
70
84
  Null means reuse the original method. */
71
85
  paymentMethodId?: string | undefined;
72
86
  }
87
+ /** A tenant's Bill-Pay-eligible funding source, projected from the payment partner (Ramp, via the moneyout-adapters client) with the generic GL account attached. Thin pass-through — see `IBillPaymentService.ListSourceAccountsAsync`. No ST-GL matching happens here; GlAccount is forwarded verbatim from the MOA client response (null stays null, never substituted). */
88
+ export interface SourceAccount {
89
+ bankAccountId: string;
90
+ accountName: string;
91
+ accountNumberLastFour: string;
92
+ currency: string;
93
+ isPreferred: boolean;
94
+ glAccount?: GlAccount | undefined;
95
+ }
96
+ /** Generic (provider-agnostic) GL account reference forwarded verbatim from the payment partner. Field names mirror MOA's `BillPayGlAccount` exactly — no `Gl`/`GlAccount` drift across the seam. The monolith owns matching these fields to a ServiceTitan GL account entity; this DTO carries no ST-GL logic. */
97
+ export interface GlAccount {
98
+ externalId?: string | undefined;
99
+ externalName?: string | undefined;
100
+ }
73
101
  //# sourceMappingURL=bill-payments.api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bill-payments.api.d.ts","sourceRoot":"","sources":["../src/bill-payments.api.ts"],"names":[],"mappings":"AASA,OAAc,EAAsB,YAAY,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAM7E,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACrI;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAC9J;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CAC7G;AAED,eAAO,MAAM,2BAA2B,uDAA+C,CAAC;AAExF,qBACa,YAAa,YAAW,aAAa;IAGe,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFrF,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAa;gBAET,OAAO,SAAK;IAG1F;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,uBAAuB,CAAC;IA0BpI;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,uBAAuB,CAAC;IA2B7J;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;CAsB5G;AAED,MAAM,WAAW,uBAAuB;IACpC,qFAAqF;IACrF,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACnC,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf;kDAC8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B;qEACiE;IACjE,aAAa,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACjC;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;0EAMsE;IACtE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,mIAAmI;AACnI,MAAM,WAAW,uBAAuB;IACpC;;wCAEoC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC"}
1
+ {"version":3,"file":"bill-payments.api.d.ts","sourceRoot":"","sources":["../src/bill-payments.api.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,28 @@ export class BillPayments {
104
104
  };
105
105
  return makeCodedException(axios.request(options_));
106
106
  }
107
+ /**
108
+ * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL
109
+ account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching
110
+ happens here (that logic belongs to the monolith caller). A source with no GL configured
111
+ at the partner returns `GlAccount: null`, not an error.
112
+ */ getSourceAccounts(tenantId, cancelToken) {
113
+ let url_ = "/v1/tenant/{tenantId}/bill-pay-source-accounts";
114
+ if (tenantId === undefined || tenantId === null) throw new Error("The parameter 'tenantId' must be defined.");
115
+ url_ = url_.replace("{tenantId}", encodeURIComponent("" + tenantId));
116
+ url_ = url_.replace(/[?&]$/, "");
117
+ let options_ = {
118
+ baseURL: this.baseUrl,
119
+ cancelToken,
120
+ url: url_,
121
+ method: "GET",
122
+ headers: {
123
+ "Content-Type": "application/json",
124
+ "Accept": "application/json"
125
+ }
126
+ };
127
+ return makeCodedException(axios.request(options_));
128
+ }
107
129
  constructor(baseUrl = ""){
108
130
  _define_property(this, "baseUrl", void 0);
109
131
  _define_property(this, "jsonParseReviver", void 0);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bill-payments.api.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated with ApiClientGenerator, using the NSwag toolchain\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosRequestConfig, AxiosPromise, CancelToken } from 'axios';\nimport { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';\nimport { makeCodedException, makeContent } from './utils';\n// @ts-ignore: needed for Date serialization if a DateTime parameter has an Unspecified attribute on it\nimport moment from 'moment';\n\nexport interface IBillPayments {\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n}\n\nexport const BASE_URL_TOKEN_BillPayments = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class BillPayments implements IBillPayments {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_BillPayments) @optional() private readonly baseUrl = \"\") {\n }\n\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = makeContent(request, [\n \"$.scheduledDate\",\n ]);\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}/retry\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n}\n\nexport interface InitiatePaymentResponse {\n /** The provider's payment ID. Stored on VendorPayment.ExternalId in the monolith. */\n externalPaymentId: string;\n}\n\nexport interface InitiatePaymentRequest {\n /** The monolith's VendorPayment ID. Used for Kafka event correlation. */\n vendorPaymentId: number;\n /** Payment amount in the currency's major unit (e.g. dollars). */\n amount: number;\n /** The monolith's Vendor ID. Passed for context but not stored server-side —\nRemittanceVendorId is used for provider lookup. */\n vendorId: number;\n remittanceVendorId: number;\n /** When null, the payment is sent immediately.\nWhen set to a future date, the payment is scheduled for that date. */\n scheduledDate?: Date | undefined;\n /** Idempotency key generated by the monolith. Same ExternalRef on retry = find-or-return existing record.\nNew ExternalRef = new payment (e.g. resubmit after cancel). */\n externalRef: string;\n /** Opaque payment method ID selected in the UX (obtained from GetPaymentMethods).\nForwarded to the adapter as the selected payment method for this payment.\n \nOptional — when null, the service recovers the most recent BillPayment for\nVendorPaymentId and reuses its payment method (resubmit-after-cancel\nflow, where the monolith doesn't keep the original method id locally).\nReturns 400 if no previous bill payment exists for the VendorPaymentId. */\n paymentMethodId?: string | undefined;\n}\n\n/** Optional body for the retry bill-payment endpoint. All fields are optional — omit to retry with the original payment method. */\nexport interface RetryBillPaymentRequest {\n /** Opaque payment method ID obtained from the available-payment-methods endpoint.\nWhen provided the retry uses this method instead of the one that originally failed.\nNull means reuse the original method. */\n paymentMethodId?: string | undefined;\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","makeContent","BASE_URL_TOKEN_BillPayments","BillPayments","initiatePayment","tenantId","request","cancelToken","url_","undefined","Error","replace","encodeURIComponent","content_","options_","baseURL","baseUrl","data","url","method","headers","retryPayment","externalPaymentId","cancelPayment","jsonParseReviver"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAAkB,GAClB,kBAAkB,GAClB,wBAAwB;AACxB,mBAAmB;AACnB,mEAAmE;AACnE,oBAAoB;AACpB,wBAAwB;AACxB,uCAAuC;AAEvC,OAAOA,WAA8D,QAAQ;AAC7E,SAASC,UAAU,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,0BAA0B;AACpF,SAASC,kBAAkB,EAAEC,WAAW,QAAQ,UAAU;AAqB1D,OAAO,MAAMC,8BAA8BH,YAAoB,kBAAkB,OAAO;AAGxF,OAAO,MAAMI;IAMT;;;KAGC,GACDC,gBAAgBC,QAAgB,EAAEC,OAA+B,EAAEC,WAAyB,EAAyC;QACjI,IAAIC,OAAO;QACX,IAAIH,aAAaI,aAAaJ,aAAa,MACvC,MAAM,IAAIK,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,cAAcC,mBAAmB,KAAKP;QAC1DG,OAAOA,KAAKG,OAAO,CAAC,SAAS;QAE7B,MAAME,WAAWZ,YAAYK,SAAS;YAClC;SACH;QAED,IAAIQ,WAA+B;YAC/BC,SAAS,IAAI,CAACC,OAAO;YACrBT;YACAU,MAAMJ;YACNK,KAAKV;YACLW,QAAQ;YACRC,SAAS;gBACL,gBAAgB;gBAChB,UAAU;YACd;QACJ;QAEA,OAAOpB,mBAAmBL,MAAMW,OAAO,CAA0BQ;IACrE;IAEA;;;KAGC,GACDO,aAAahB,QAAgB,EAAEiB,iBAAyB,EAAEhB,OAAgC,EAAEC,WAAyB,EAAyC;QAC1J,IAAIC,OAAO;QACX,IAAIH,aAAaI,aAAaJ,aAAa,MACvC,MAAM,IAAIK,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,cAAcC,mBAAmB,KAAKP;QAC1D,IAAIiB,sBAAsBb,aAAaa,sBAAsB,MACzD,MAAM,IAAIZ,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,uBAAuBC,mBAAmB,KAAKU;QACnEd,OAAOA,KAAKG,OAAO,CAAC,SAAS;QAE7B,MAAME,WAAWP;QAEjB,IAAIQ,WAA+B;YAC/BC,SAAS,IAAI,CAACC,OAAO;YACrBT;YACAU,MAAMJ;YACNK,KAAKV;YACLW,QAAQ;YACRC,SAAS;gBACL,gBAAgB;gBAChB,UAAU;YACd;QACJ;QAEA,OAAOpB,mBAAmBL,MAAMW,OAAO,CAA0BQ;IACrE;IAEA;;KAEC,GACDS,cAAclB,QAAgB,EAAEiB,iBAAyB,EAAEf,WAAyB,EAAsB;QACtG,IAAIC,OAAO;QACX,IAAIH,aAAaI,aAAaJ,aAAa,MACvC,MAAM,IAAIK,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,cAAcC,mBAAmB,KAAKP;QAC1D,IAAIiB,sBAAsBb,aAAaa,sBAAsB,MACzD,MAAM,IAAIZ,MAAM;QACpBF,OAAOA,KAAKG,OAAO,CAAC,uBAAuBC,mBAAmB,KAAKU;QACnEd,OAAOA,KAAKG,OAAO,CAAC,SAAS;QAE7B,IAAIG,WAA+B;YAC/BC,SAAS,IAAI,CAACC,OAAO;YACrBT;YACAW,KAAKV;YACLW,QAAQ;YACRC,SAAS;gBACL,gBAAgB;YACpB;QACJ;QAEA,OAAOpB,mBAAmBL,MAAMW,OAAO,CAAOQ;IAClD;IAxFA,YAAY,AAAkEE,UAAU,EAAE,CAAE;;QAF5F,uBAAUQ,oBAAV,KAAA;aAE8ER,UAAAA;aAFpEQ,mBAAmEf;IAG7E;AAwFJ"}
1
+ {"version":3,"sources":["../src/bill-payments.api.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n//----------------------\n// <auto-generated>\n// Generated with ApiClientGenerator, using the NSwag toolchain\n// </auto-generated>\n//----------------------\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosRequestConfig, AxiosPromise, CancelToken } from 'axios';\nimport { injectable, inject, optional, symbolToken } from '@servicetitan/react-ioc';\nimport { makeCodedException, makeContent } from './utils';\n// @ts-ignore: needed for Date serialization if a DateTime parameter has an Unspecified attribute on it\nimport moment from 'moment';\n\nexport interface IBillPayments {\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse>;\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void>;\n /**\n * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL\n account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching\n happens here (that logic belongs to the monolith caller). A source with no GL configured\n at the partner returns `GlAccount: null`, not an error.\n */\n getSourceAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<SourceAccount[]>;\n}\n\nexport const BASE_URL_TOKEN_BillPayments = symbolToken<string>('BASE_URL_TOKEN', false);\n\n@injectable()\nexport class BillPayments implements IBillPayments {\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@inject(BASE_URL_TOKEN_BillPayments) @optional() private readonly baseUrl = \"\") {\n }\n\n /**\n * Initiates a new bill payment. Idempotent on ExternalRef — returns existing record if\n a payment with the same ExternalRef already exists (timeout recovery).\n */\n initiatePayment(tenantId: number, request: InitiatePaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = makeContent(request, [\n \"$.scheduledDate\",\n ]);\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Retries a previously rejected payment. Calls the provider retry endpoint — do not use\n for resubmitting a cancelled payment (create a new payment instead).\n */\n retryPayment(tenantId: number, externalPaymentId: string, request: RetryBillPaymentRequest, cancelToken?: CancelToken): AxiosPromise<InitiatePaymentResponse> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}/retry\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = request;\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n data: content_,\n url: url_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<InitiatePaymentResponse>(options_));\n }\n\n /**\n * Cancels a bill payment. Returns 409 if the payment is no longer cancelable.\n */\n cancelPayment(tenantId: number, externalPaymentId: string, cancelToken?: CancelToken): AxiosPromise<void> {\n let url_ = \"/v1/tenant/{tenantId}/bill-payments/{externalPaymentId}\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n if (externalPaymentId === undefined || externalPaymentId === null)\n throw new Error(\"The parameter 'externalPaymentId' must be defined.\");\n url_ = url_.replace(\"{externalPaymentId}\", encodeURIComponent(\"\" + externalPaymentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return makeCodedException(axios.request<void>(options_));\n }\n\n /**\n * Lists the tenant's Bill-Pay-eligible funding source accounts, including the generic GL\n account attached at the payment partner. Read-only; thin pass-through — no ST-GL matching\n happens here (that logic belongs to the monolith caller). A source with no GL configured\n at the partner returns `GlAccount: null`, not an error.\n */\n getSourceAccounts(tenantId: number, cancelToken?: CancelToken): AxiosPromise<SourceAccount[]> {\n let url_ = \"/v1/tenant/{tenantId}/bill-pay-source-accounts\";\n if (tenantId === undefined || tenantId === null)\n throw new Error(\"The parameter 'tenantId' must be defined.\");\n url_ = url_.replace(\"{tenantId}\", encodeURIComponent(\"\" + tenantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = <AxiosRequestConfig>{\n baseURL: this.baseUrl,\n cancelToken,\n url: url_,\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return makeCodedException(axios.request<SourceAccount[]>(options_));\n }\n}\n\nexport interface InitiatePaymentResponse {\n /** The provider's payment ID. Stored on VendorPayment.ExternalId in the monolith. */\n externalPaymentId: string;\n}\n\nexport interface InitiatePaymentRequest {\n /** The monolith's VendorPayment ID. Used for Kafka event correlation. */\n vendorPaymentId: number;\n /** Payment amount in the currency's major unit (e.g. dollars). */\n amount: number;\n /** The monolith's Vendor ID. Passed for context but not stored server-side —\nRemittanceVendorId is used for provider lookup. */\n vendorId: number;\n remittanceVendorId: number;\n /** When null, the payment is sent immediately.\nWhen set to a future date, the payment is scheduled for that date. */\n scheduledDate?: Date | undefined;\n /** Idempotency key generated by the monolith. Same ExternalRef on retry = find-or-return existing record.\nNew ExternalRef = new payment (e.g. resubmit after cancel). */\n externalRef: string;\n /** Opaque payment method ID selected in the UX (obtained from GetPaymentMethods).\nForwarded to the adapter as the selected payment method for this payment.\n \nOptional — when null, the service recovers the most recent BillPayment for\nVendorPaymentId and reuses its payment method (resubmit-after-cancel\nflow, where the monolith doesn't keep the original method id locally).\nReturns 400 if no previous bill payment exists for the VendorPaymentId. */\n paymentMethodId?: string | undefined;\n}\n\n/** Optional body for the retry bill-payment endpoint. All fields are optional — omit to retry with the original payment method. */\nexport interface RetryBillPaymentRequest {\n /** Opaque payment method ID obtained from the available-payment-methods endpoint.\nWhen provided the retry uses this method instead of the one that originally failed.\nNull means reuse the original method. */\n paymentMethodId?: string | undefined;\n}\n\n/** A tenant's Bill-Pay-eligible funding source, projected from the payment partner (Ramp, via the moneyout-adapters client) with the generic GL account attached. Thin pass-through — see `IBillPaymentService.ListSourceAccountsAsync`. No ST-GL matching happens here; GlAccount is forwarded verbatim from the MOA client response (null stays null, never substituted). */\nexport interface SourceAccount {\n bankAccountId: string;\n accountName: string;\n accountNumberLastFour: string;\n currency: string;\n isPreferred: boolean;\n glAccount?: GlAccount | undefined;\n}\n\n/** Generic (provider-agnostic) GL account reference forwarded verbatim from the payment partner. Field names mirror MOA's `BillPayGlAccount` exactly — no `Gl`/`GlAccount` drift across the seam. The monolith owns matching these fields to a ServiceTitan GL account entity; this DTO carries no ST-GL logic. */\nexport interface GlAccount {\n externalId?: string | undefined;\n externalName?: string | undefined;\n}\n"],"names":["axios","injectable","inject","optional","symbolToken","makeCodedException","makeContent","BASE_URL_TOKEN_BillPayments","BillPayments","initiatePayment","tenantId","request","cancelToken","url_","undefined","Error","replace","encodeURIComponent","content_","options_","baseURL","baseUrl","data","url","method","headers","retryPayment","externalPaymentId","cancelPayment","getSourceAccounts","jsonParseReviver"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/moneyout-api-client",
3
- "version": "1.21.76-next.76",
3
+ "version": "1.21.78",
4
4
  "description": "Auto-generated TypeScript API client for MoneyOut Service",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",