Inštalačné a hĺbkové odkazy
Inštalačné odkazy vám umožňujú distribuovať vašu Stripe App mimo marketplace, zatiaľ čo hĺbkové odkazy navigujú používateľov priamo na konkrétne pohľady vo vašej nainštalovanej aplikácii.
Inštalačné odkazy
Inštalačné odkazy poskytujú priamu URL, ktorú obchodníci môžu použiť na inštaláciu vašej aplikácie.
Formát inštalačného odkazu
https://marketplace.stripe.com/oauth/v2/authorize?client_id=APP_ID&redirect_uri=REDIRECT_URI&state=STATE_VALUE| Parameter | Povinné | Popis |
|---|---|---|
client_id | Áno | ID vašej aplikácie (napr. com.tajo.brevo-integration) |
redirect_uri | Áno | Musí zodpovedať jednej z vašich allowed_redirect_uris |
state | Odporúčané | Náhodný reťazec pre ochranu CSRF |
CSRF ochrana
import crypto from 'crypto';
const generateInstallLink = (req, res) => { const state = crypto.randomBytes(32).toString('hex'); req.session.stripeInstallState = state;
const installUrl = new URL('https://marketplace.stripe.com/oauth/v2/authorize'); installUrl.searchParams.set('client_id', 'com.tajo.brevo-integration'); installUrl.searchParams.set('redirect_uri', 'https://tajo.io/stripe/callback'); installUrl.searchParams.set('state', state);
res.redirect(installUrl.toString());};Caution
Vždy používajte crypto.timingSafeEqual na porovnanie podpisov, aby ste predišli časovacím útokom. Nikdy nepoužívajte jednoduché porovnanie reťazcov (===).
Hĺbkové odkazy
Hĺbkové odkazy navigujú používateľov priamo na konkrétny pohľad vo vašej nainštalovanej Stripe App.
Formát URL hĺbkového odkazu
https://dashboard.stripe.com/MODE/acct_ID/PAGE?apps[APP_ID][TARGET]=VIEWPORT_IDPríklady hĺbkových odkazov
Otvorenie detailného pohľadu zákazníka v zásuvke
https://dashboard.stripe.com/live/acct_xxxxx/customers/cus_xxxxx ?apps[com.tajo.brevo-integration][drawer]=stripe.dashboard.customer.detailOtvorenie nastavení v modálnom okne
https://dashboard.stripe.com/live/acct_xxxxx/settings ?apps[com.tajo.brevo-integration][modal]=stripe.dashboard.settingsProgramové generovanie hĺbkových odkazov
const generateDeepLink = ({ accountId, mode = 'live', page, appId = 'com.tajo.brevo-integration', target = 'drawer', viewport,}) => { const baseUrl = `https://dashboard.stripe.com/${mode}/${accountId}/${page}`; const params = new URLSearchParams(); params.set(`apps[${appId}][${target}]`, viewport);
return `${baseUrl}?${params.toString()}`;};Tip
Vždy testujte inštalačné a hĺbkové odkazy v živom aj testovacom režime, aby ste sa uistili, že fungujú správne vo všetkých prostrediach.