परिचय
SendGrid का उपयोग करके भुगतान पुष्टिकरण, सदस्यता अपडेट और महत्वपूर्ण सूचनाओं के लिए स्वचालित रूप से लेनदेन ईमेल भेजें। भुगतान घटनाओं के आधार पर व्यक्तिगत ईमेल को गतिशील सामग्री और पेशेवर टेम्पलेट के साथ ट्रिगर करें।
इस एकीकरण के लिए SendGrid API Key की आवश्यकता है जिसमें Mail Send अनुमतियाँ हैं।
प्रारंभ करना
Webhook अनुभाग खोलें
अपने Dodo Payments डैशबोर्ड में, Webhooks → + Add Endpoint पर जाएं और एकीकरण ड्रॉपडाउन का विस्तार करें।
SendGrid चुनें
SendGrid एकीकरण कार्ड चुनें।
API Key दर्ज करें
कॉन्फ़िगरेशन में अपना SendGrid API Key प्रदान करें।
Transformation कॉन्फ़िगर करें
SendGrid के Mail Send API के लिए ईमेल को स्वरूपित करने के लिए परिवर्तन कोड संपादित करें।
परीक्षण और बनाएँ
नमूना पेलोड के साथ परीक्षण करें और ईमेल भेजने के लिए Create पर क्लिक करें।
हो गया!
🎉 भुगतान घटनाएँ अब स्वचालित रूप से SendGrid के माध्यम से लेनदेन ईमेल को ट्रिगर करेंगी।
परिवर्तन कोड उदाहरण
भुगतान पुष्टिकरण ईमेल
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: "[email protected] " ,
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: "[email protected] " ,
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: "[email protected] " ,
name: "Your Company Support"
},
template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
};
}
return webhook ;
}
See all 26 lines
सुझाव
व्यक्तिगत सामग्री के लिए SendGrid गतिशील टेम्पलेट का उपयोग करें
टेम्पलेट वेरिएबल में प्रासंगिक भुगतान डेटा शामिल करें
उचित प्रेषक पते और प्रेषक नाम सेट करें
लगातार ईमेल स्वरूपण के लिए टेम्पलेट आईडी का उपयोग करें
अनुपालन के लिए अनसब्सक्राइब लिंक शामिल करें
समस्या निवारण
ईमेल नहीं भेजे जा रहे हैं
सत्यापित करें कि API Key में Mail Send अनुमतियाँ हैं
जांचें कि टेम्पलेट आईडी मान्य और सक्रिय हैं
सुनिश्चित करें कि प्राप्तकर्ता ईमेल पते मान्य हैं
SendGrid भेजने की सीमाओं और कोटा की समीक्षा करें
सत्यापित करें कि JSON संरचना SendGrid API प्रारूप से मेल खाती है
जांचें कि सभी आवश्यक फ़ील्ड मौजूद हैं
सुनिश्चित करें कि टेम्पलेट डेटा वेरिएबल सही ढंग से स्वरूपित हैं
सत्यापित करें कि SendGrid में प्रेषक ईमेल पते सत्यापित हैं