//native
type SageIntacct = {
token: string
}
/**
* Update a vendor payment provider
* Updates an existing vendor payment provider by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionAdministration, Accounts Payable, Sage Cloud Services, Outbound Payment Services
User typeBusiness user with admin permissions
PermissionsList, View, Subscribe, Configure Application Subscriptions List, View, Edit Vendors
*/
export async function main(
auth: SageIntacct,
key: string,
body: {
key?: string
id?: string
href?: string
paymentProvider?: {
key?: string
id?: string
name?: string
href?: string
}
vendor?: { key?: string; id?: string; name?: string; href?: string }
state?:
| 'requestInitiated'
| 'inProgress'
| 'requestReceived'
| 'requestFailed'
| 'awaitingAuthorization'
| 'subscribed'
| 'canceled'
| 'suspended'
preferredPaymentMethod?: {
key?: string
id?: string
name?: string
href?: string
}
status?: 'active' | 'inactive'
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
} & { id?: {} }
) {
const url = new URL(
`https://api.intacct.com/ia/api/v1/objects/accounts-payable/vendor-payment-provider/${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