Post test helpers issuing cards card shipping return
One script reply has been approved by the moderators Verified

Updates the shipping status of the specified Issuing Card object to returned.

Created by hugo697 820 days ago
Submitted by hugo697 Typescript (fetch-only)
Verified 266 days ago
1
type Stripe = {
2
  token: string;
3
};
4
/**
5
 * Post test helpers issuing cards card shipping return
6
 * Updates the shipping status of the specified Issuing Card object to returned.
7
 */
8
export async function main(
9
  auth: Stripe,
10
  card: string,
11
  body: { expand?: string[] }
12
) {
13
  const url = new URL(
14
    `https://api.stripe.com/v1/test_helpers/issuing/cards/${card}/shipping/return`
15
  );
16

17
  const response = await fetch(url, {
18
    method: "POST",
19
    headers: {
20
      "Content-Type": "application/x-www-form-urlencoded",
21
      Authorization: "Bearer " + auth.token,
22
    },
23
    body: encodeParams(body),
24
  });
25
  if (!response.ok) {
26
    const text = await response.text();
27
    throw new Error(`${response.status} ${text}`);
28
  }
29
  return await response.json();
30
}
31

32
function encodeParams(o: any) {
33
  function iter(o: any, path: string) {
34
    if (Array.isArray(o)) {
35
      o.forEach(function (a) {
36
        iter(a, path + "[]");
37
      });
38
      return;
39
    }
40
    if (o !== null && typeof o === "object") {
41
      Object.keys(o).forEach(function (k) {
42
        iter(o[k], path + "[" + k + "]");
43
      });
44
      return;
45
    }
46
    data.push(path + "=" + o);
47
  }
48
  const data: string[] = [];
49
  Object.keys(o).forEach(function (k) {
50
    if (o[k] !== undefined) {
51
      iter(o[k], k);
52
    }
53
  });
54
  return new URLSearchParams(data.join("&"));
55
}
56