Pendahuluan
Lacak peristiwa pembayaran di Segment untuk mendukung analitik, otomatisasi pemasaran, dan platform data pelanggan Anda. Kirim peristiwa pembayaran, langganan, dan siklus hidup pelanggan secara otomatis ke lebih dari 300 alat downstream.
Integrasi ini memerlukan Segment Write Key dari workspace Segment Anda.
Memulai
Open the Webhook Section
Dalam dashboard Dodo Payments Anda, buka Webhooks → + Add Endpoint dan perluas dropdown integrasi.
Select Segment
Pilih kartu integrasi Segment .
Enter Write Key
Masukkan Segment Write Key Anda pada konfigurasi.
Configure Transformation
Sunting kode transformasi untuk memformat event agar sesuai dengan Track API Segment.
Test & Create
Uji dengan payload contoh dan klik Create untuk mengaktifkan sinkronisasi.
Done!
🎉 Event pembayaran sekarang akan dilacak di Segment dan dikirim ke alat terkait Anda.
Lacak Peristiwa Pembayaran
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.segment.io/v1/track" ;
webhook . payload = {
userId: p . customer . customer_id ,
event: "Payment Completed" ,
properties: {
amount: ( p . total_amount / 100 ). toFixed ( 2 ),
currency: p . currency || "USD" ,
payment_method: p . payment_method || "unknown" ,
payment_id: p . payment_id ,
customer_email: p . customer . email ,
customer_name: p . customer . name
},
timestamp: webhook . payload . timestamp
};
}
return webhook ;
}
See all 20 lines
Lacak Siklus Hidup Langganan
function handler ( webhook ) {
const s = webhook . payload . data ;
switch ( webhook . eventType ) {
case "subscription.active" :
webhook . url = "https://api.segment.io/v1/track" ;
webhook . payload = {
userId: s . customer . customer_id ,
event: "Subscription Started" ,
properties: {
subscription_id: s . subscription_id ,
product_id: s . product_id ,
amount: ( s . recurring_pre_tax_amount / 100 ). toFixed ( 2 ),
frequency: s . payment_frequency_interval ,
next_billing: s . next_billing_date ,
customer_email: s . customer . email
},
timestamp: webhook . payload . timestamp
};
break ;
case "subscription.cancelled" :
webhook . url = "https://api.segment.io/v1/track" ;
webhook . payload = {
userId: s . customer . customer_id ,
event: "Subscription Cancelled" ,
properties: {
subscription_id: s . subscription_id ,
product_id: s . product_id ,
cancelled_at: s . cancelled_at ,
cancel_at_next_billing: s . cancel_at_next_billing_date ,
customer_email: s . customer . email
},
timestamp: webhook . payload . timestamp
};
break ;
}
return webhook ;
}
See all 37 lines
Identifikasi Properti Pelanggan
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.segment.io/v1/identify" ;
webhook . payload = {
userId: p . customer . customer_id ,
traits: {
email: p . customer . email ,
name: p . customer . name ,
total_spent: ( p . total_amount / 100 ). toFixed ( 2 ),
payment_method: p . payment_method || "unknown" ,
last_payment_date: webhook . payload . timestamp ,
customer_since: webhook . payload . timestamp
}
};
}
return webhook ;
}
See all 18 lines
Tips
Gunakan nama peristiwa yang konsisten di seluruh integrasi Anda
Sertakan properti yang relevan untuk analitik dan segmentasi
Atur timestamp yang tepat untuk pelacakan peristiwa yang akurat
Gunakan ID pelanggan sebagai userId untuk identifikasi pengguna yang tepat
Pemecahan Masalah
Events not appearing in Segment
Verifikasi bahwa Write Key sudah benar dan aktif
Periksa bahwa nama event mengikuti konvensi penamaan Segment
Pastikan userId disetel dengan benar untuk identifikasi pengguna
Tinjau batasan rate API Segment