pay for music
This commit is contained in:
@@ -210,6 +210,38 @@ const StripeProvider = ({ children }) => {
|
||||
[canUseEmbeddedCheckout, runCheckoutSession]
|
||||
)
|
||||
|
||||
const createSongDownloadCheckout = React.useCallback(
|
||||
async (projectId) => {
|
||||
if (!projectId) {
|
||||
throw new Error('Aucun projet sélectionné.')
|
||||
}
|
||||
if (isWeb && !canUseEmbeddedCheckout) {
|
||||
console.error('[StripeProvider] checkout blocked (missing embedded support)', {
|
||||
hasStripeKey: Boolean(stripePublishableKey),
|
||||
isClientSecretReady: false,
|
||||
})
|
||||
throw new Error(
|
||||
'Le paiement intégré Stripe est indisponible pour le moment (clé Stripe ou client secret absent).'
|
||||
)
|
||||
}
|
||||
const shouldUseEmbeddedCheckout = canUseEmbeddedCheckout
|
||||
await runCheckoutSession({
|
||||
callableName: 'subscription-createSongDownloadCheckoutSession',
|
||||
payload: {
|
||||
projectId,
|
||||
returnUrls: {
|
||||
successUrl: STRIPE_SUCCESS_URL,
|
||||
cancelUrl: STRIPE_CANCEL_URL,
|
||||
},
|
||||
uiMode: shouldUseEmbeddedCheckout ? 'embedded' : 'hosted',
|
||||
},
|
||||
logTag: 'song download checkout error',
|
||||
useEmbeddedFlow: shouldUseEmbeddedCheckout,
|
||||
})
|
||||
},
|
||||
[canUseEmbeddedCheckout, runCheckoutSession]
|
||||
)
|
||||
|
||||
const createCoinPackCheckout = React.useCallback(
|
||||
async (productId) => {
|
||||
if (!productId) {
|
||||
@@ -343,6 +375,7 @@ const StripeProvider = ({ children }) => {
|
||||
catalogError,
|
||||
refreshCatalog: fetchStripeCatalog,
|
||||
createSubscriptionCheckout,
|
||||
createSongDownloadCheckout,
|
||||
createCoinPackCheckout,
|
||||
openEmbeddedCheckout: setClientSecret,
|
||||
closeEmbeddedCheckout,
|
||||
@@ -359,6 +392,7 @@ const StripeProvider = ({ children }) => {
|
||||
catalogError,
|
||||
fetchStripeCatalog,
|
||||
createSubscriptionCheckout,
|
||||
createSongDownloadCheckout,
|
||||
createCoinPackCheckout,
|
||||
setClientSecret,
|
||||
closeEmbeddedCheckout,
|
||||
|
||||
Reference in New Issue
Block a user