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
Buka Bagian Webhook
Di dasbor Dodo Payments Anda, navigasikan ke Webhooks → + Tambah Endpoint dan perluas dropdown integrasi.
Pilih Segment
Pilih kartu integrasi Segment .
Masukkan Write Key
Berikan Segment Write Key Anda dalam konfigurasi.
Konfigurasi Transformasi
Edit kode transformasi untuk memformat peristiwa untuk Segment’s Track API.
Uji & Buat
Uji dengan payload contoh dan klik Buat untuk mengaktifkan sinkronisasi.
Selesai!
🎉 Peristiwa pembayaran sekarang akan dilacak di Segment dan dikirim ke alat yang terhubung.
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
Peristiwa tidak muncul di Segment
Verifikasi Write Key benar dan aktif
Periksa bahwa nama peristiwa mengikuti konvensi penamaan Segment
Pastikan userId diatur dengan benar untuk identifikasi pengguna
Tinjau batas laju API Segment