Edits history of script submission #5902 for ' Post tax registrations (stripe)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    type Stripe = {
      token: string;
    };
    /**
     * Post tax registrations
     * Creates a new Tax Registration object.
     */
    export async function main(
      auth: Stripe,
      body: {
        active_from: "now" | number;
        country: string;
        country_options: {
          ae?: { type: "standard"; [k: string]: unknown };
          at?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          au?: { type: "standard"; [k: string]: unknown };
          be?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          bg?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          ca?: {
            province_standard?: { province: string; [k: string]: unknown };
            type: "province_standard" | "simplified" | "standard";
            [k: string]: unknown;
          };
          ch?: { type: "standard"; [k: string]: unknown };
          cl?: { type: "simplified"; [k: string]: unknown };
          co?: { type: "simplified"; [k: string]: unknown };
          cy?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          cz?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          de?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          dk?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          ee?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          es?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          fi?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          fr?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          gb?: { type: "standard"; [k: string]: unknown };
          gr?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          hr?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          hu?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          id?: { type: "simplified"; [k: string]: unknown };
          ie?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          is?: { type: "standard"; [k: string]: unknown };
          it?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          jp?: { type: "standard"; [k: string]: unknown };
          kr?: { type: "simplified"; [k: string]: unknown };
          lt?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          lu?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          lv?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          mt?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          mx?: { type: "simplified"; [k: string]: unknown };
          my?: { type: "simplified"; [k: string]: unknown };
          nl?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          no?: { type: "standard"; [k: string]: unknown };
          nz?: { type: "standard"; [k: string]: unknown };
          pl?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          pt?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          ro?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          sa?: { type: "simplified"; [k: string]: unknown };
          se?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          sg?: { type: "standard"; [k: string]: unknown };
          si?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          sk?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          th?: { type: "simplified"; [k: string]: unknown };
          tr?: { type: "simplified"; [k: string]: unknown };
          us?: {
            local_amusement_tax?: { jurisdiction: string; [k: string]: unknown };
            local_lease_tax?: { jurisdiction: string; [k: string]: unknown };
            state: string;
            type:
              | "local_amusement_tax"
              | "local_lease_tax"
              | "state_communications_tax"
              | "state_sales_tax";
            [k: string]: unknown;
          };
          vn?: { type: "simplified"; [k: string]: unknown };
          za?: { type: "standard"; [k: string]: unknown };
          [k: string]: unknown;
        };
        expand?: string[];
        expires_at?: number;
      }
    ) {
      const url = new URL(`https://api.stripe.com/v1/tax/registrations`);
    
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "Content-Type": "application/x-www-form-urlencoded",
          Authorization: "Bearer " + auth.token,
        },
        body: encodeParams(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    
    function encodeParams(o: any) {
      function iter(o: any, path: string) {
        if (Array.isArray(o)) {
          o.forEach(function (a) {
            iter(a, path + "[]");
          });
          return;
        }
        if (o !== null && typeof o === "object") {
          Object.keys(o).forEach(function (k) {
            iter(o[k], path + "[" + k + "]");
          });
          return;
        }
        data.push(path + "=" + o);
      }
      const data: string[] = [];
      Object.keys(o).forEach(function (k) {
        if (o[k] !== undefined) {
          iter(o[k], k);
        }
      });
      return new URLSearchParams(data.join("&"));
    }
    

    Submitted by hugo697 368 days ago

  • nativets
    type Stripe = {
      token: string;
    };
    /**
     * Post tax registrations
     * Creates a new Tax Registration object.
     */
    export async function main(
      auth: Stripe,
      body: {
        active_from: "now" | number;
        country: string;
        country_options: {
          ae?: { type: "standard"; [k: string]: unknown };
          at?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          au?: { type: "standard"; [k: string]: unknown };
          be?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          bg?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          ca?: {
            province_standard?: { province: string; [k: string]: unknown };
            type: "province_standard" | "simplified" | "standard";
            [k: string]: unknown;
          };
          ch?: { type: "standard"; [k: string]: unknown };
          cl?: { type: "simplified"; [k: string]: unknown };
          co?: { type: "simplified"; [k: string]: unknown };
          cy?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          cz?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          de?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          dk?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          ee?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          es?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          fi?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          fr?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          gb?: { type: "standard"; [k: string]: unknown };
          gr?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          hr?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          hu?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          id?: { type: "simplified"; [k: string]: unknown };
          ie?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          is?: { type: "standard"; [k: string]: unknown };
          it?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          jp?: { type: "standard"; [k: string]: unknown };
          kr?: { type: "simplified"; [k: string]: unknown };
          lt?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          lu?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          lv?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          mt?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          mx?: { type: "simplified"; [k: string]: unknown };
          my?: { type: "simplified"; [k: string]: unknown };
          nl?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          no?: { type: "standard"; [k: string]: unknown };
          nz?: { type: "standard"; [k: string]: unknown };
          pl?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          pt?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          ro?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          sa?: { type: "simplified"; [k: string]: unknown };
          se?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          sg?: { type: "standard"; [k: string]: unknown };
          si?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          sk?: {
            standard?: {
              place_of_supply_scheme: "small_seller" | "standard";
              [k: string]: unknown;
            };
            type: "ioss" | "oss_non_union" | "oss_union" | "standard";
            [k: string]: unknown;
          };
          th?: { type: "simplified"; [k: string]: unknown };
          tr?: { type: "simplified"; [k: string]: unknown };
          us?: {
            local_amusement_tax?: { jurisdiction: string; [k: string]: unknown };
            local_lease_tax?: { jurisdiction: string; [k: string]: unknown };
            state: string;
            type:
              | "local_amusement_tax"
              | "local_lease_tax"
              | "state_communications_tax"
              | "state_sales_tax";
            [k: string]: unknown;
          };
          vn?: { type: "simplified"; [k: string]: unknown };
          za?: { type: "standard"; [k: string]: unknown };
          [k: string]: unknown;
        };
        expand?: string[];
        expires_at?: number;
      }
    ) {
      const url = new URL(`https://api.stripe.com/v1/tax/registrations`);
    
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "Content-Type": "application/x-www-form-urlencoded",
          Authorization: "Bearer " + auth.token,
        },
        body: encodeParams(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    
    function encodeParams(o: any) {
      function iter(o: any, path: string) {
        if (Array.isArray(o)) {
          o.forEach(function (a) {
            iter(a, path + "[]");
          });
          return;
        }
        if (o !== null && typeof o === "object") {
          Object.keys(o).forEach(function (k) {
            iter(o[k], path + "[" + k + "]");
          });
          return;
        }
        data.push(path + "=" + o);
      }
      const data: string[] = [];
      Object.keys(o).forEach(function (k) {
        if (o[k] !== undefined) {
          iter(o[k], k);
        }
      });
      return new URLSearchParams(data.join("&"));
    }
    

    Submitted by hugo697 795 days ago