@sergdudko/stripe-js
Version:
Supercharge Your Stripe Integration with Enhanced Methods for stripe-js: Take Full Control of Customer Card Management Right from Your Frontend! Elevate Your Payment Processing Capabilities with Ease and Efficiency.
26 lines (25 loc) • 1.02 kB
JavaScript
import { responseHandler } from "../utils/handlers.js";
import { stripeApiUrl, stripeApiVersion } from "../utils/constants.js";
/**
* Set default customer card
*
* @param cardId - card id (see: https://stripe.com/docs/api/customers/object#card_object-id)
* @param customerId - customer id (see: https://stripe.com/docs/api/customers/object#customer_object-id)
* @param ephemeralKey - customer ephemeral key
* @returns
*/
export const setDefaultCard = async function (cardId, customerId, ephemeralKey) {
const stripeApiKey = this._apiKey;
if (typeof stripeApiKey !== "string")
throw new Error("Initialization failed.");
// make request
return fetch(`${stripeApiUrl}/customers/${customerId}`, {
body: `default_source=${cardId}`,
headers: {
Authorization: `Bearer ${ephemeralKey}`,
"Content-Type": "application/x-www-form-urlencoded",
"Stripe-Version": stripeApiVersion,
},
method: "POST",
}).then(responseHandler);
};