/* tslint:disable */ /* eslint-disable */ /** * Lemonway DirectKit API 2.0 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: v2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { AccountIbansOutput, CancelMoneyOutInput, CancelMoneyOutOutput, GetMoneyOutTransDetailsOutput, MoneyOutInput, MoneyOutOutput, RegisterIBANExtendedInput, RegisterIBANExtendedOutput, RegisterIBANInput, RegisterIBANOutput, UnregisterIBANInput, UnregisterIBANOutput, } from '../models'; import { AccountIbansOutputFromJSON, AccountIbansOutputToJSON, CancelMoneyOutInputFromJSON, CancelMoneyOutInputToJSON, CancelMoneyOutOutputFromJSON, CancelMoneyOutOutputToJSON, GetMoneyOutTransDetailsOutputFromJSON, GetMoneyOutTransDetailsOutputToJSON, MoneyOutInputFromJSON, MoneyOutInputToJSON, MoneyOutOutputFromJSON, MoneyOutOutputToJSON, RegisterIBANExtendedInputFromJSON, RegisterIBANExtendedInputToJSON, RegisterIBANExtendedOutputFromJSON, RegisterIBANExtendedOutputToJSON, RegisterIBANInputFromJSON, RegisterIBANInputToJSON, RegisterIBANOutputFromJSON, RegisterIBANOutputToJSON, UnregisterIBANInputFromJSON, UnregisterIBANInputToJSON, UnregisterIBANOutputFromJSON, UnregisterIBANOutputToJSON, } from '../models'; export interface MoneyOutsCancelPutRequest { transactionid: number; authorization: string; pSUIPAddress: string; parameters: CancelMoneyOutInput; pSUAcceptLanguage?: string; pSUUserAgent?: string; } export interface MoneyOutsIbanExtendedPostRequest { authorization: string; pSUIPAddress: string; parameters: RegisterIBANExtendedInput; pSUAcceptLanguage?: string; pSUUserAgent?: string; } export interface MoneyOutsIbanGetRequest { accountid: string; authorization: string; pSUIPAddress: string; pSUAcceptLanguage?: string; pSUUserAgent?: string; } export interface MoneyOutsIbanPostRequest { authorization: string; pSUIPAddress: string; parameters: RegisterIBANInput; pSUAcceptLanguage?: string; pSUUserAgent?: string; } export interface MoneyOutsIbanUnregisterPutRequest { ibanId: number; authorization: string; pSUIPAddress: string; parameters: UnregisterIBANInput; pSUAcceptLanguage?: string; pSUUserAgent?: string; } export interface MoneyOutsMoneyOutGetRequest { authorization: string; pSUIPAddress: string; transactionid?: number; transactionComment?: string; reference?: string; page?: number; limit?: number; pSUAcceptLanguage?: string; pSUUserAgent?: string; } export interface MoneyOutsMoneyOutPostRequest { authorization: string; pSUIPAddress: string; parameters: MoneyOutInput; pSUAcceptLanguage?: string; pSUUserAgent?: string; } /** * */ export class MoneyOutsApi extends runtime.BaseAPI { /** * The cancel method lets you cancel a Money-Out/SDD. * Money-Out Cancellation */ async moneyOutsCancelPutRaw(requestParameters: MoneyOutsCancelPutRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.transactionid === null || requestParameters.transactionid === undefined) { throw new runtime.RequiredError('transactionid','Required parameter requestParameters.transactionid was null or undefined when calling moneyOutsCancelPut.'); } if (requestParameters.authorization === null || requestParameters.authorization === undefined) { throw new runtime.RequiredError('authorization','Required parameter requestParameters.authorization was null or undefined when calling moneyOutsCancelPut.'); } if (requestParameters.pSUIPAddress === null || requestParameters.pSUIPAddress === undefined) { throw new runtime.RequiredError('pSUIPAddress','Required parameter requestParameters.pSUIPAddress was null or undefined when calling moneyOutsCancelPut.'); } if (requestParameters.parameters === null || requestParameters.parameters === undefined) { throw new runtime.RequiredError('parameters','Required parameter requestParameters.parameters was null or undefined when calling moneyOutsCancelPut.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (requestParameters.authorization !== undefined && requestParameters.authorization !== null) { headerParameters['Authorization'] = String(requestParameters.authorization); } if (requestParameters.pSUAcceptLanguage !== undefined && requestParameters.pSUAcceptLanguage !== null) { headerParameters['PSU-Accept-Language'] = String(requestParameters.pSUAcceptLanguage); } if (requestParameters.pSUIPAddress !== undefined && requestParameters.pSUIPAddress !== null) { headerParameters['PSU-IP-Address'] = String(requestParameters.pSUIPAddress); } if (requestParameters.pSUUserAgent !== undefined && requestParameters.pSUUserAgent !== null) { headerParameters['PSU-User-Agent'] = String(requestParameters.pSUUserAgent); } const response = await this.request({ path: `/v2/moneyouts/{transactionid}/cancel`.replace(`{${"transactionid"}}`, encodeURIComponent(String(requestParameters.transactionid))), method: 'PUT', headers: headerParameters, query: queryParameters, body: CancelMoneyOutInputToJSON(requestParameters.parameters), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CancelMoneyOutOutputFromJSON(jsonValue)); } /** * The cancel method lets you cancel a Money-Out/SDD. * Money-Out Cancellation */ async moneyOutsCancelPut(requestParameters: MoneyOutsCancelPutRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.moneyOutsCancelPutRaw(requestParameters, initOverrides); return await response.value(); } /** * You are required to register your client\'s bank account details in order to send Money-Out from a Lemonway payment account. With this method, our system links other bank formats to a payment account. **Important:** If your client bank account details are in IBAN format, use: [IbanPost](https://documentation.lemonway.com/reference/moneyouts_ibanextendedpost). - Client bank account details are **only** required for money-outs. - By default, you can register multiple bank accounts per payment account. When you link a new bank account (IBAN format or other ones), the previous ones are still active. Please use [IbanUnregisterPut](https://documentation.lemonway.com/reference/moneyouts_ibanunregisterput) method to deactivate a bank account from a payment account. If you wish to use only one bank account per payment account, please contact support. Depending on bank country code selected or when a USD environment is concerned, 3 fields may be required: - bankBranchRoutingCode - bankName - bankBranchAddress * Add Bank Account to a Payment Account for Money-Outs */ async moneyOutsIbanExtendedPostRaw(requestParameters: MoneyOutsIbanExtendedPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.authorization === null || requestParameters.authorization === undefined) { throw new runtime.RequiredError('authorization','Required parameter requestParameters.authorization was null or undefined when calling moneyOutsIbanExtendedPost.'); } if (requestParameters.pSUIPAddress === null || requestParameters.pSUIPAddress === undefined) { throw new runtime.RequiredError('pSUIPAddress','Required parameter requestParameters.pSUIPAddress was null or undefined when calling moneyOutsIbanExtendedPost.'); } if (requestParameters.parameters === null || requestParameters.parameters === undefined) { throw new runtime.RequiredError('parameters','Required parameter requestParameters.parameters was null or undefined when calling moneyOutsIbanExtendedPost.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (requestParameters.authorization !== undefined && requestParameters.authorization !== null) { headerParameters['Authorization'] = String(requestParameters.authorization); } if (requestParameters.pSUAcceptLanguage !== undefined && requestParameters.pSUAcceptLanguage !== null) { headerParameters['PSU-Accept-Language'] = String(requestParameters.pSUAcceptLanguage); } if (requestParameters.pSUIPAddress !== undefined && requestParameters.pSUIPAddress !== null) { headerParameters['PSU-IP-Address'] = String(requestParameters.pSUIPAddress); } if (requestParameters.pSUUserAgent !== undefined && requestParameters.pSUUserAgent !== null) { headerParameters['PSU-User-Agent'] = String(requestParameters.pSUUserAgent); } const response = await this.request({ path: `/v2/moneyouts/iban/extended`, method: 'POST', headers: headerParameters, query: queryParameters, body: RegisterIBANExtendedInputToJSON(requestParameters.parameters), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RegisterIBANExtendedOutputFromJSON(jsonValue)); } /** * You are required to register your client\'s bank account details in order to send Money-Out from a Lemonway payment account. With this method, our system links other bank formats to a payment account. **Important:** If your client bank account details are in IBAN format, use: [IbanPost](https://documentation.lemonway.com/reference/moneyouts_ibanextendedpost). - Client bank account details are **only** required for money-outs. - By default, you can register multiple bank accounts per payment account. When you link a new bank account (IBAN format or other ones), the previous ones are still active. Please use [IbanUnregisterPut](https://documentation.lemonway.com/reference/moneyouts_ibanunregisterput) method to deactivate a bank account from a payment account. If you wish to use only one bank account per payment account, please contact support. Depending on bank country code selected or when a USD environment is concerned, 3 fields may be required: - bankBranchRoutingCode - bankName - bankBranchAddress * Add Bank Account to a Payment Account for Money-Outs */ async moneyOutsIbanExtendedPost(requestParameters: MoneyOutsIbanExtendedPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.moneyOutsIbanExtendedPostRaw(requestParameters, initOverrides); return await response.value(); } /** * Get the IBAN Associated with a Payment Account */ async moneyOutsIbanGetRaw(requestParameters: MoneyOutsIbanGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.accountid === null || requestParameters.accountid === undefined) { throw new runtime.RequiredError('accountid','Required parameter requestParameters.accountid was null or undefined when calling moneyOutsIbanGet.'); } if (requestParameters.authorization === null || requestParameters.authorization === undefined) { throw new runtime.RequiredError('authorization','Required parameter requestParameters.authorization was null or undefined when calling moneyOutsIbanGet.'); } if (requestParameters.pSUIPAddress === null || requestParameters.pSUIPAddress === undefined) { throw new runtime.RequiredError('pSUIPAddress','Required parameter requestParameters.pSUIPAddress was null or undefined when calling moneyOutsIbanGet.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (requestParameters.authorization !== undefined && requestParameters.authorization !== null) { headerParameters['Authorization'] = String(requestParameters.authorization); } if (requestParameters.pSUAcceptLanguage !== undefined && requestParameters.pSUAcceptLanguage !== null) { headerParameters['PSU-Accept-Language'] = String(requestParameters.pSUAcceptLanguage); } if (requestParameters.pSUIPAddress !== undefined && requestParameters.pSUIPAddress !== null) { headerParameters['PSU-IP-Address'] = String(requestParameters.pSUIPAddress); } if (requestParameters.pSUUserAgent !== undefined && requestParameters.pSUUserAgent !== null) { headerParameters['PSU-User-Agent'] = String(requestParameters.pSUUserAgent); } const response = await this.request({ path: `/v2/moneyouts/{accountid}/iban`.replace(`{${"accountid"}}`, encodeURIComponent(String(requestParameters.accountid))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AccountIbansOutputFromJSON(jsonValue)); } /** * Get the IBAN Associated with a Payment Account */ async moneyOutsIbanGet(requestParameters: MoneyOutsIbanGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.moneyOutsIbanGetRaw(requestParameters, initOverrides); return await response.value(); } /** * To send Money-Out from the Lemonway payment account to the bank account of your clients, you need to register their bank account details. This method lets our system to link an IBAN to a payment account. - Bank account details are only needed for money-outs, not for Money-Ins or P2P. - By default, you can register multiple bank accounts per payment account. When you link a new bank account (IBAN format or other ones), the previous details are still active. Please use [IbanUnregisterPut](https://documentation.lemonway.com/reference/moneyouts_ibanunregisterput) method to deactivate a bank account from a payment account. If you wish to use only one bank account per payment account, please contact support. - An integrated algorithm will validate your IBAN. * Add an IBAN to a Payment Account for Money-Outs */ async moneyOutsIbanPostRaw(requestParameters: MoneyOutsIbanPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.authorization === null || requestParameters.authorization === undefined) { throw new runtime.RequiredError('authorization','Required parameter requestParameters.authorization was null or undefined when calling moneyOutsIbanPost.'); } if (requestParameters.pSUIPAddress === null || requestParameters.pSUIPAddress === undefined) { throw new runtime.RequiredError('pSUIPAddress','Required parameter requestParameters.pSUIPAddress was null or undefined when calling moneyOutsIbanPost.'); } if (requestParameters.parameters === null || requestParameters.parameters === undefined) { throw new runtime.RequiredError('parameters','Required parameter requestParameters.parameters was null or undefined when calling moneyOutsIbanPost.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (requestParameters.authorization !== undefined && requestParameters.authorization !== null) { headerParameters['Authorization'] = String(requestParameters.authorization); } if (requestParameters.pSUAcceptLanguage !== undefined && requestParameters.pSUAcceptLanguage !== null) { headerParameters['PSU-Accept-Language'] = String(requestParameters.pSUAcceptLanguage); } if (requestParameters.pSUIPAddress !== undefined && requestParameters.pSUIPAddress !== null) { headerParameters['PSU-IP-Address'] = String(requestParameters.pSUIPAddress); } if (requestParameters.pSUUserAgent !== undefined && requestParameters.pSUUserAgent !== null) { headerParameters['PSU-User-Agent'] = String(requestParameters.pSUUserAgent); } const response = await this.request({ path: `/v2/moneyouts/iban`, method: 'POST', headers: headerParameters, query: queryParameters, body: RegisterIBANInputToJSON(requestParameters.parameters), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RegisterIBANOutputFromJSON(jsonValue)); } /** * To send Money-Out from the Lemonway payment account to the bank account of your clients, you need to register their bank account details. This method lets our system to link an IBAN to a payment account. - Bank account details are only needed for money-outs, not for Money-Ins or P2P. - By default, you can register multiple bank accounts per payment account. When you link a new bank account (IBAN format or other ones), the previous details are still active. Please use [IbanUnregisterPut](https://documentation.lemonway.com/reference/moneyouts_ibanunregisterput) method to deactivate a bank account from a payment account. If you wish to use only one bank account per payment account, please contact support. - An integrated algorithm will validate your IBAN. * Add an IBAN to a Payment Account for Money-Outs */ async moneyOutsIbanPost(requestParameters: MoneyOutsIbanPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.moneyOutsIbanPostRaw(requestParameters, initOverrides); return await response.value(); } /** * The UnregisterIBAN method enables you to disable an IBAN from a Payment Account. As a reminder a bank account number (IBAN) is needed to process money-out. An IBAN is not needed to perform MONEY-IN on a Payment Account or Peer to Peer transfers between Payments Accounts. * Disable Bank Information (IBAN) from a Payment Account */ async moneyOutsIbanUnregisterPutRaw(requestParameters: MoneyOutsIbanUnregisterPutRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.ibanId === null || requestParameters.ibanId === undefined) { throw new runtime.RequiredError('ibanId','Required parameter requestParameters.ibanId was null or undefined when calling moneyOutsIbanUnregisterPut.'); } if (requestParameters.authorization === null || requestParameters.authorization === undefined) { throw new runtime.RequiredError('authorization','Required parameter requestParameters.authorization was null or undefined when calling moneyOutsIbanUnregisterPut.'); } if (requestParameters.pSUIPAddress === null || requestParameters.pSUIPAddress === undefined) { throw new runtime.RequiredError('pSUIPAddress','Required parameter requestParameters.pSUIPAddress was null or undefined when calling moneyOutsIbanUnregisterPut.'); } if (requestParameters.parameters === null || requestParameters.parameters === undefined) { throw new runtime.RequiredError('parameters','Required parameter requestParameters.parameters was null or undefined when calling moneyOutsIbanUnregisterPut.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (requestParameters.authorization !== undefined && requestParameters.authorization !== null) { headerParameters['Authorization'] = String(requestParameters.authorization); } if (requestParameters.pSUAcceptLanguage !== undefined && requestParameters.pSUAcceptLanguage !== null) { headerParameters['PSU-Accept-Language'] = String(requestParameters.pSUAcceptLanguage); } if (requestParameters.pSUIPAddress !== undefined && requestParameters.pSUIPAddress !== null) { headerParameters['PSU-IP-Address'] = String(requestParameters.pSUIPAddress); } if (requestParameters.pSUUserAgent !== undefined && requestParameters.pSUUserAgent !== null) { headerParameters['PSU-User-Agent'] = String(requestParameters.pSUUserAgent); } const response = await this.request({ path: `/v2/moneyouts/iban/{IbanId}/unregister`.replace(`{${"IbanId"}}`, encodeURIComponent(String(requestParameters.ibanId))), method: 'PUT', headers: headerParameters, query: queryParameters, body: UnregisterIBANInputToJSON(requestParameters.parameters), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => UnregisterIBANOutputFromJSON(jsonValue)); } /** * The UnregisterIBAN method enables you to disable an IBAN from a Payment Account. As a reminder a bank account number (IBAN) is needed to process money-out. An IBAN is not needed to perform MONEY-IN on a Payment Account or Peer to Peer transfers between Payments Accounts. * Disable Bank Information (IBAN) from a Payment Account */ async moneyOutsIbanUnregisterPut(requestParameters: MoneyOutsIbanUnregisterPutRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.moneyOutsIbanUnregisterPutRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to get and check all Money-Out information. * Search for a Money-Out */ async moneyOutsMoneyOutGetRaw(requestParameters: MoneyOutsMoneyOutGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.authorization === null || requestParameters.authorization === undefined) { throw new runtime.RequiredError('authorization','Required parameter requestParameters.authorization was null or undefined when calling moneyOutsMoneyOutGet.'); } if (requestParameters.pSUIPAddress === null || requestParameters.pSUIPAddress === undefined) { throw new runtime.RequiredError('pSUIPAddress','Required parameter requestParameters.pSUIPAddress was null or undefined when calling moneyOutsMoneyOutGet.'); } const queryParameters: any = {}; if (requestParameters.transactionid !== undefined) { queryParameters['transactionid'] = requestParameters.transactionid; } if (requestParameters.transactionComment !== undefined) { queryParameters['transactionComment'] = requestParameters.transactionComment; } if (requestParameters.reference !== undefined) { queryParameters['reference'] = requestParameters.reference; } if (requestParameters.page !== undefined) { queryParameters['page'] = requestParameters.page; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } const headerParameters: runtime.HTTPHeaders = {}; if (requestParameters.authorization !== undefined && requestParameters.authorization !== null) { headerParameters['Authorization'] = String(requestParameters.authorization); } if (requestParameters.pSUAcceptLanguage !== undefined && requestParameters.pSUAcceptLanguage !== null) { headerParameters['PSU-Accept-Language'] = String(requestParameters.pSUAcceptLanguage); } if (requestParameters.pSUIPAddress !== undefined && requestParameters.pSUIPAddress !== null) { headerParameters['PSU-IP-Address'] = String(requestParameters.pSUIPAddress); } if (requestParameters.pSUUserAgent !== undefined && requestParameters.pSUUserAgent !== null) { headerParameters['PSU-User-Agent'] = String(requestParameters.pSUUserAgent); } const response = await this.request({ path: `/v2/moneyouts`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GetMoneyOutTransDetailsOutputFromJSON(jsonValue)); } /** * Use this method to get and check all Money-Out information. * Search for a Money-Out */ async moneyOutsMoneyOutGet(requestParameters: MoneyOutsMoneyOutGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.moneyOutsMoneyOutGetRaw(requestParameters, initOverrides); return await response.value(); } /** * How does it work? Select an IBAN if multiple IBAN exist for the Wallet. Select an amount, not greater than the balance of the wallet. Call the moneout method, and the system performs the fund transfer to the IBAN if everything is clear, or returns an error message.
  • The payment account is debited immediately and the money is then received by the owner, in their bank account between 1 to 3 days after, depending on the interbanking system and on the banks (SEPA is faster).
  • You can ask us to configure your platform so that your comment is included in the bank transfer message so your customer will see it on the bank statement.
    • The full message will be in the following format \"XXXX-YYYY ZZZZ\", where :
    • XXXX is the name of your environment
    • YYYY is the ID of the money-out operation as you see it in the backoffice
    • ZZZZ is your comment.
  • The full message cannot be longer than 35 characters (if longer, it will be cut), and only alphanumeric characters will be allowed(other characters will be replaced by spaces before it\'s sent to the bank).
* External Fund Transfer from a Payment Account to a Bank Account */ async moneyOutsMoneyOutPostRaw(requestParameters: MoneyOutsMoneyOutPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.authorization === null || requestParameters.authorization === undefined) { throw new runtime.RequiredError('authorization','Required parameter requestParameters.authorization was null or undefined when calling moneyOutsMoneyOutPost.'); } if (requestParameters.pSUIPAddress === null || requestParameters.pSUIPAddress === undefined) { throw new runtime.RequiredError('pSUIPAddress','Required parameter requestParameters.pSUIPAddress was null or undefined when calling moneyOutsMoneyOutPost.'); } if (requestParameters.parameters === null || requestParameters.parameters === undefined) { throw new runtime.RequiredError('parameters','Required parameter requestParameters.parameters was null or undefined when calling moneyOutsMoneyOutPost.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (requestParameters.authorization !== undefined && requestParameters.authorization !== null) { headerParameters['Authorization'] = String(requestParameters.authorization); } if (requestParameters.pSUAcceptLanguage !== undefined && requestParameters.pSUAcceptLanguage !== null) { headerParameters['PSU-Accept-Language'] = String(requestParameters.pSUAcceptLanguage); } if (requestParameters.pSUIPAddress !== undefined && requestParameters.pSUIPAddress !== null) { headerParameters['PSU-IP-Address'] = String(requestParameters.pSUIPAddress); } if (requestParameters.pSUUserAgent !== undefined && requestParameters.pSUUserAgent !== null) { headerParameters['PSU-User-Agent'] = String(requestParameters.pSUUserAgent); } const response = await this.request({ path: `/v2/moneyouts`, method: 'POST', headers: headerParameters, query: queryParameters, body: MoneyOutInputToJSON(requestParameters.parameters), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => MoneyOutOutputFromJSON(jsonValue)); } /** * How does it work? Select an IBAN if multiple IBAN exist for the Wallet. Select an amount, not greater than the balance of the wallet. Call the moneout method, and the system performs the fund transfer to the IBAN if everything is clear, or returns an error message.
  • The payment account is debited immediately and the money is then received by the owner, in their bank account between 1 to 3 days after, depending on the interbanking system and on the banks (SEPA is faster).
  • You can ask us to configure your platform so that your comment is included in the bank transfer message so your customer will see it on the bank statement.
    • The full message will be in the following format \"XXXX-YYYY ZZZZ\", where :
    • XXXX is the name of your environment
    • YYYY is the ID of the money-out operation as you see it in the backoffice
    • ZZZZ is your comment.
  • The full message cannot be longer than 35 characters (if longer, it will be cut), and only alphanumeric characters will be allowed(other characters will be replaced by spaces before it\'s sent to the bank).
* External Fund Transfer from a Payment Account to a Bank Account */ async moneyOutsMoneyOutPost(requestParameters: MoneyOutsMoneyOutPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.moneyOutsMoneyOutPostRaw(requestParameters, initOverrides); return await response.value(); } }