परिचय
SendGrid का उपयोग करके भुगतान पुष्टिकरण, सदस्यता अपडेट और महत्वपूर्ण सूचनाओं के लिए स्वचालित रूप से लेनदेन ईमेल भेजें। भुगतान घटनाओं के आधार पर व्यक्तिगत ईमेल को गतिशील सामग्री और पेशेवर टेम्पलेट के साथ ट्रिगर करें।
इस एकीकरण के लिए Mail Send अनुमति के साथ एक SendGrid API Key की आवश्यकता होती है।
प्रारंभ करना
Open the Webhook Section
अपने Dodo Payments डैशबोर्ड में Webhooks → + Add Endpoint पर जाएं और integrations ड्रॉपडाउन को विस्तृत करें।
Select SendGrid
SendGrid एकीकरण कार्ड चुनें।
Enter API Key
कॉन्फ़िगरेशन में अपना SendGrid API Key प्रदान करें।
Configure Transformation
SendGrid के Mail Send API के लिए ईमेल को प्रारूपित करने के लिए ट्रांसफ़ॉर्मेशन कोड को संपादित करें।
Test & Create
नमूना पेलोड के साथ परीक्षण करें और ईमेल भेजने को सक्रिय करने के लिए Create पर क्लिक करें।
Done!
🎉 अब भुगतान घटनाएं स्वचालित रूप से SendGrid के माध्यम से transactional ईमेल ट्रिगर करेंगी।
परिवर्तन कोड उदाहरण
भुगतान पुष्टिकरण ईमेल
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.sendgrid.com/v3/mail/send" ;
webhook . payload = {
personalizations: [
{
to: [{ email: p . customer . email }],
dynamic_template_data: {
customer_name: p . customer . name ,
payment_amount: ( p . total_amount / 100 ). toFixed ( 2 ),
payment_id: p . payment_id ,
payment_date: new Date ( webhook . payload . timestamp ). toLocaleDateString (),
currency: p . currency || "USD"
}
}
],
from: {
email: "payments@yourdomain.com" ,
name: "Your Company"
},
template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
};
}
return webhook ;
}
See all 26 lines
सदस्यता स्वागत ईमेल
function handler ( webhook ) {
if ( webhook . eventType === "subscription.active" ) {
const s = webhook . payload . data ;
webhook . url = "https://api.sendgrid.com/v3/mail/send" ;
webhook . payload = {
personalizations: [
{
to: [{ email: s . customer . email }],
dynamic_template_data: {
customer_name: s . customer . name ,
subscription_id: s . subscription_id ,
product_name: s . product_id ,
amount: ( s . recurring_pre_tax_amount / 100 ). toFixed ( 2 ),
frequency: s . payment_frequency_interval ,
next_billing: new Date ( s . next_billing_date ). toLocaleDateString ()
}
}
],
from: {
email: "welcome@yourdomain.com" ,
name: "Your Company"
},
template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
};
}
return webhook ;
}
See all 27 lines
भुगतान विफलता सूचना
function handler ( webhook ) {
if ( webhook . eventType === "payment.failed" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.sendgrid.com/v3/mail/send" ;
webhook . payload = {
personalizations: [
{
to: [{ email: p . customer . email }],
dynamic_template_data: {
customer_name: p . customer . name ,
payment_amount: ( p . total_amount / 100 ). toFixed ( 2 ),
error_message: p . error_message || "Payment processing failed" ,
payment_id: p . payment_id ,
retry_link: `https://yourdomain.com/retry-payment/ ${ p . payment_id } `
}
}
],
from: {
email: "support@yourdomain.com" ,
name: "Your Company Support"
},
template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
};
}
return webhook ;
}
See all 26 lines
सुझाव
व्यक्तिगत सामग्री के लिए SendGrid गतिशील टेम्पलेट का उपयोग करें
टेम्पलेट वेरिएबल में प्रासंगिक भुगतान डेटा शामिल करें
उचित प्रेषक पते और प्रेषक नाम सेट करें
लगातार ईमेल स्वरूपण के लिए टेम्पलेट आईडी का उपयोग करें
अनुपालन के लिए अनसब्सक्राइब लिंक शामिल करें
समस्या निवारण
सत्यापित करें कि API Key में Mail Send अनुमति है
जांचें कि टेम्पलेट ID मान्य और सक्रिय हैं
सुनिश्चित करें कि प्राप्तकर्ता ईमेल पते मान्य हैं
SendGrid भेजने की सीमाओं और कोटा की समीक्षा करें