bankson-js-mb
Version:
Bankson.fi Node client, Mad Booster fork
37 lines (29 loc) • 1.27 kB
text/typescript
import Qs from 'qs'
import BaseSubClient from '../baseSubClient.js'
import type { BaseResponse, OutboundPaymentResponse, PaginationOptions } from '../types.js'
interface OutboundPaymentFilters extends PaginationOptions {
updated_after?: string | null
bank_account?: string | null
payment_date_min?: string | null
payment_date_max?: string | null
}
type OutboundPaymentData = Pick<OutboundPaymentResponse, 'recipient_name' | 'recipient_iban' | 'recipient_bic' | 'amount' | 'reference_number' | 'message' | 'payment_date' | 'vendor_reference' | 'idempotency_key' | 'source'>
export default class Payments extends BaseSubClient {
fetchV2(opts: OutboundPaymentFilters) {
return this.base.get<BaseResponse<OutboundPaymentResponse>>('/v2/outbound-payments?' + Qs.stringify(opts))
}
addV2(data: OutboundPaymentData[]) {
return this.base.post<OutboundPaymentData[], {
failed: (OutboundPaymentData & { error?: string })[]
succeeded: Omit<OutboundPaymentResponse, 'bank_account'>[]
failed_count: number
succeeded_count: number
}>('/v2/outbound-payments', data)
}
removeV2(id: string) {
return this.base.delete(`/v2/outbound-payments/${id}`)
}
fetchFeedbackV2() {
throw new Error('Not implemented')
}
}