//native
type SageIntacct = {
token: string
}
/**
* Update a payment provider bank account
* Updates an existing payment provider bank account by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionAdministration, Sage Cloud Services, Outbound Payment Services
User typeBusiness user with admin permissions
PermissionsList, View, Subscribe, Configure Application Subscriptions
*/
export async function main(
auth: SageIntacct,
key: string,
body: {
key?: string
id?: string
state?:
| 'requestInitiated'
| 'inProgress'
| 'requestReceived'
| 'requestFailed'
| 'awaitingAuthorization'
| 'subscribed'
| 'canceled'
| 'suspended'
providerReferenceNumber?: string
authenticationURL?: string
checkStartNumber?: string
isRebateAccount?: false | true
remittanceEmail?: string
bankAccount?: {
key?: string
id?: string
currency?: string
href?: string
}
paymentProvider?: { key?: string; id?: string; href?: string }
href?: string
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
status?: 'active' | 'inactive'
} & { id?: {} }
) {
const url = new URL(
`https://api.intacct.com/ia/api/v1/objects/cash-management/payment-provider-bank-account/${key}`
)
const response = await fetch(url, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + auth.token
},
body: JSON.stringify(body)
})
if (!response.ok) {
const text = await response.text()
throw new Error(`${response.status} ${text}`)
}
return await response.json()
}
Submitted by hugo697 235 days ago