プロモーションメールは、通常は顧客に新製品について知らせたり、クーポンや割引を配布するために送信されます。たとえば、このメールを使用して、顧客をニュースレターに登録したり、カート放棄に関するメールを送信できます。

プロモーションメールを送信するために顧客からの同意を収集する
顧客を不要なスパムから守るため、顧客にメールを送信するには、顧客がプロモーションメールの受信に同意している必要があります。Checkout は、該当する場合にプロモーションメールの送信に必要な同意を収集できるようサポートします。プロモーションメールに関する要件については、詳細をご覧ください。
セッションの作成時に、Stripe Checkout でプロモーションメールへの同意を収集できます。
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_BQokikJOvBiI2HlWgH4olfQ2
:" \
-d "line_items[0][price]"= \
-d "line_items[0][quantity]"=2 \
-d customer= \
-d mode=payment \
-d ui_mode=embedded \
--data-urlencode return_url="https://example.com/return" \
-d "consent_collection[promotions]"=auto
consent_collection.promotions='auto'
の場合、Checkout はプロモーション用コンテンツに対する顧客の同意を収集するためのチェックボックスを動的に表示します。
注
チェックボックスが表示される際のデフォルトの状態は、顧客の国とビジネスが拠点とする国によって異なります。データプライバシーに関する法律は管轄区域によって異なるため、現地の規制によって禁止されている場合、Checkout はこの機能を無効にするか、制限します。
Checkout セッションの同意の属性は、セッションが顧客からプロモーション用コンテンツに対する同意を回収したかどうかを記録します。
顧客が購入を完了する際に、どの顧客がプロモーション用コンテンツに同意しているかが追跡されます。Webhook ハンドラーを新規作成するか、既存のものを更新することで、これを実行できます。checkout.session.completed
イベントをリッスンし、consent.promotions
ステータスを確認してから、同意した顧客のメールアドレスを保存します。
const endpointSecret = 'whsec_...';
const app = require('express')();
const bodyParser = require('body-parser');
const recordPromotionalEmailConsent = (email, promoConsent) => {
console.log("Recording promotional email consent", email, promoConsent);
}
app.post('/webhook', bodyParser.raw({type: 'application/json'}), (request, response) => {
const payload = request.body;
const sig = request.headers['stripe-signature'];
let event;
try {
event = stripe.webhooks.constructEvent(payload, sig, endpointSecret);
} catch (err) {
return response.status(400).send(`Webhook Error: ${err.message}`);
}
if (event.type === 'checkout.session.completed') {
const session = event.data.object;
const promoConsent = session.consent?.promotions;
const email = session.customer_details.email;
recordPromotionalEmailConsent(email, promoConsent)
}
response.status(200).end();
});
Checkout で顧客にプロモーション用コンテンツを送信することへの同意を収集するように設定した後で、支払いの完了前に決済フローを離れた顧客をフォローアップして、カゴ落ちを解消できます。