1
//native
2
type Buttondown = {
3
token: string;
4
};
5
/**
6
* Create Price
7
*
8
*/
9
export async function main(
10
auth: Buttondown,
11
body: {
12
style: "pay-what-you-want" | "fixed" | "usage-based";
13
amount?: number;
14
currency: string;
15
cadence: "year" | "month" | "one-time" | "email";
16
},
17
) {
18
const url = new URL(`https://api.buttondown.com/v1/prices`);
19
20
const response = await fetch(url, {
21
method: "POST",
22
headers: {
23
"Content-Type": "application/json",
24
Authorization: "Token " + auth.token,
25
26
body: JSON.stringify(body),
27
});
28
if (!response.ok) {
29
const text = await response.text();
30
throw new Error(`${response.status} ${text}`);
31
}
32
return await response.json();
33
34