# การผสานรวมกับ Stripe

<Aside type="caution" icon="setting" title="ต้องการความช่วยเหลือจากนักพัฒนา">
คุณจะต้องได้รับความช่วยเหลือจากทีมนักพัฒนาของคุณเพื่อส่งผ่าน metadata (journey, user, device) เมื่อสร้าง Stripe Checkout Sessions โปรดแชร์คู่มือนี้กับพวกเขา
</Aside>

[Stripe](https://stripe.com/) เป็นแพลตฟอร์มการชำระเงินที่ให้คุณรับการชำระเงินและจัดการการสมัครสมาชิก การผสานรวม Stripe กับ Pushwoosh ช่วยให้คุณสามารถติดตามการชำระเงินและการสมัครสมาชิกใน[แคมเปญ](/th/product/customer-journey/pushwoosh-journey-overview/), วิเคราะห์รายได้ตาม Journey และผลิตภัณฑ์, [แบ่งกลุ่มผู้ใช้](/th/product/audience-data-and-segmentation/segmentation/) ตาม Event การชำระเงิน, และใช้ [ManyMoney AI](/th/product/pushwoosh-ai/ai-assistant/) สำหรับข้อมูลเชิงลึกด้านรายได้

## ภาพรวมการผสานรวม

### ประเภทการผสานรวม

**แหล่งที่มา:** Event การชำระเงินและการสมัครสมาชิกจะถูกส่งจาก Stripe ไปยัง Pushwoosh

### ข้อกำหนดเบื้องต้น

ในการตั้งค่าการผสานรวม Stripe กับ Pushwoosh โปรดตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

*   คุณมีบัญชี Pushwoosh ที่ใช้งานอยู่
*   คุณมีบัญชี Stripe

### คำศัพท์ (การจับคู่ชื่อเอนทิตีหากแตกต่างกัน)

ตารางด้านล่างแสดงการจับคู่เอนทิตีของ Stripe กับ Pushwoosh การจับคู่นี้ทำได้โดยการส่งผ่านฟิลด์ที่เกี่ยวข้องเป็น metadata เมื่อคุณสร้าง Checkout Session (ดู [การกำหนดค่า Metadata](#metadata-configuration))

| Stripe | Pushwoosh |
|--------|-----------|
| ลูกค้า | `user_id` (จำเป็น), `device_id` (ไม่บังคับ) ใน metadata |
| การชำระเงิน / การเรียกเก็บเงิน | Event **StripePaymentSucceeded** (`charge.succeeded`) |
| ใบแจ้งหนี้ (ชำระแล้ว) | Event **StripeInvoicePaid** (`invoice.paid`) |
| การสมัครสมาชิก | **StripeSubscriptionCreated** + แอตทริบิวต์ใน **StripeInvoicePaid** |
| ผลิตภัณฑ์ / ราคา | `product_id`, `product_name` ใน metadata และแอตทริบิวต์ของ Event |
| แคมเปญ (journey) | `journey_uuids` ใน metadata |

### เอนทิตีที่ซิงโครไนซ์

*   Event การชำระเงิน (การชำระเงินครั้งเดียว, ใบแจ้งหนี้การสมัครสมาชิก)
*   Event การสมัครสมาชิก (สร้างการสมัครสมาชิก, ชำระใบแจ้งหนี้การสมัครสมาชิก)


### การผสานรวมทำงานอย่างไร?

หลังจากที่คุณเชื่อมต่อบัญชี Stripe ของคุณกับ Pushwoosh ผ่าน **Stripe Connect** แล้ว Pushwoosh จะได้รับข้อมูลการชำระเงินและการสมัครสมาชิกจาก Stripe คุณสามารถเชื่อมโยงแต่ละธุรกรรมกับแคมเปญและผู้ใช้หรืออุปกรณ์โดยการส่งผ่าน metadata เมื่อสร้าง Checkout Session (ดู [การกำหนดค่า Metadata](#metadata-configuration))

Pushwoosh จะสร้าง Event ที่คุณสามารถใช้สำหรับ[การแบ่งกลุ่ม](/th/product/audience-data-and-segmentation/segmentation/)และการวิเคราะห์

##### ขั้นตอนการไหลของข้อมูล

1.  คุณเชื่อมต่อบัญชี Stripe ของคุณกับ Pushwoosh หนึ่งครั้งผ่าน **Stripe Connect** ใน **Settings** → **3rd-party integrations**
2.  เมื่อสร้าง Checkout Session คุณจะส่งผ่าน metadata เพื่อให้สามารถระบุแหล่งที่มาของการชำระเงินได้ในภายหลัง (ดู [การกำหนดค่า Metadata](#metadata-configuration))
3.  เมื่อมี Event การชำระเงินหรือการสมัครสมาชิกเกิดขึ้นใน Stripe (เช่น `charge.succeeded` สำหรับการชำระเงินครั้งเดียว, `invoice.paid` สำหรับการสมัครสมาชิก) Stripe จะส่งข้อมูลไปยัง Pushwoosh
4.  Pushwoosh จะสร้าง Event ที่สอดคล้องกันและใช้ metadata สำหรับการระบุแหล่งที่มา ข้อมูลนี้จะปรากฏใน Finance Overview, Audience → Events, และ ManyMoney


### กรณีการใช้งาน
##### ติดตามการชำระเงิน
รับข้อมูลเกี่ยวกับการชำระเงินและการสมัครสมาชิกที่สำเร็จทั้งหมดโดยอัตโนมัติ

##### เชื่อมโยงการชำระเงินกับแคมเปญ
เชื่อมโยงธุรกรรมกับ [customer journeys](/th/product/customer-journey/pushwoosh-journey-overview/) ที่เฉพาะเจาะจงโดยการส่งผ่าน metadata (ดู [การกำหนดค่า Metadata](#metadata-configuration))

##### วิเคราะห์รายได้
ดูรายได้ตามแคมเปญ, ผลิตภัณฑ์, ผู้ใช้, และอุปกรณ์

##### แบ่งกลุ่มเป้าหมายของคุณ
[สร้าง Segment](/th/product/audience-data-and-segmentation/segmentation/create-segments/by-events/) ตาม Event การชำระเงิน

##### การวิเคราะห์ด้วย AI
ผู้ช่วย [ManyMoney AI](/th/product/pushwoosh-ai/ai-assistant/) จะได้รับสถิติการชำระเงินและการสมัครสมาชิกโดยอัตโนมัติและสามารถตัดสินใจโดยใช้ข้อมูลนี้

## ตั้งค่าการผสานรวม

### เชื่อมต่อ Stripe กับ Pushwoosh

1.  เปิดแอปพลิเคชัน Pushwoosh ใดก็ได้ (บัญชี Stripe จะเชื่อมโยงกับบัญชีทั้งหมดของคุณ ไม่ใช่แอปพลิเคชันใดแอปพลิเคชันหนึ่ง) และไปที่ **Settings** → **3rd-party integrations**
2.  ค้นหาการ์ด **Stripe** และคลิกปุ่ม **LOGIN PAGE**

![หน้าการตั้งค่าพร้อมส่วนการผสานรวมกับบุคคลที่สามและการ์ด Stripe พร้อมปุ่ม LOGIN PAGE](/integrations-stripe-integration-1.webp)

3.  คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าการให้สิทธิ์ของ Stripe

![หน้าการให้สิทธิ์ของ Stripe พร้อมการเลือกบัญชีและปุ่ม Connect](/integrations-stripe-integration-2.webp)

4.  ในหน้า Stripe ให้ป้อนอีเมลของคุณและคลิก **Continue**
5.  เข้าสู่ระบบบัญชี Stripe ของคุณ (หรือสร้างบัญชีใหม่) หากคุณมีหลายบัญชี ให้เลือกบัญชีที่คุณต้องการเชื่อมต่อ
6.  คลิก **Connect** เพื่อยืนยัน
7.  หลังจากให้สิทธิ์สำเร็จ คุณจะถูกเปลี่ยนเส้นทางกลับไปยัง Pushwoosh สถานะการผสานรวมจะเปลี่ยนเป็น **Connected**

![หน้าการผสานรวมกับบุคคลที่สามแสดงการ์ด Stripe พร้อมสถานะ Connected](/integrations-stripe-integration-3.webp)

### ยกเลิกการเชื่อมต่อ

##### วิธีที่ 1. ผ่าน Pushwoosh

1.  ไปที่ **Settings** → **3rd-party integrations**
2.  ค้นหาการ์ด **Stripe** และคลิกปุ่ม **SETTINGS**
3.  ในหน้าต่างป๊อปอัป คลิกปุ่ม **Disconnect**

![ป๊อปอัป SETTINGS ของการ์ด Stripe พร้อมปุ่ม Disconnect ในการผสานรวมกับบุคคลที่สาม](/integrations-stripe-integration-4.webp)


##### วิธีที่ 2. ผ่าน Stripe Dashboard

1.  เข้าสู่ระบบ [Stripe Dashboard](https://dashboard.stripe.com)
2.  ไปที่ **Settings** → **Team and security** → **Installed apps**
3.  ค้นหาแอปพลิเคชันในส่วน **Connect Extensions**

![Stripe Dashboard Settings, Team and security, Installed apps, ส่วน Connect Extensions](/integrations-stripe-integration-5.webp)

เมื่อคุณยกเลิกการเชื่อมต่อผ่าน Stripe, Pushwoosh จะได้รับการแจ้งเตือนโดยอัตโนมัติและลบการผสานรวมออก

## การกำหนดค่า Metadata

Stripe จะส่ง Event การชำระเงินไปยัง Pushwoosh แต่หากไม่มีข้อมูลเพิ่มเติม Pushwoosh จะไม่สามารถบอกได้ว่าการชำระเงินนั้นมาจากแคมเปญใดหรือผู้ใช้คนใด เมื่อคุณส่งผ่าน metadata ตอนสร้าง Checkout Session (ID แคมเปญ, ID ผู้ใช้หรืออุปกรณ์, ผลิตภัณฑ์) การชำระเงินแต่ละครั้งจะถูกระบุแหล่งที่มาไปยัง Journey และผู้ใช้ที่ถูกต้อง

จากนั้นคุณจะเห็นรายได้ตามแคมเปญใน Finance Overview, สร้าง Segment ตามผู้ชำระเงิน, และใช้ ManyMoney พร้อมการระบุแหล่งที่มาที่ถูกต้อง

### ฟิลด์ Metadata ที่มีให้ใช้งาน

| ฟิลด์ | คำอธิบาย | จำเป็น | ตัวอย่าง |
|-------|-------------|----------|---------|
| `journey_uuids` | ID แคมเปญ (journey) คั่นด้วยเครื่องหมายอัฒภาค | ไม่ | `bfab4bc0-b0a5-414b-befc-4aaddc429b0e;a2bff710-6b49-44d1-96a7-3232feeca6e9` |
| `user_id` | ตัวระบุผู้ใช้ จำเป็นสำหรับการรวบรวม Event และเพื่อให้ `device_id` ถูกนำไปใช้ | ใช่ | `user_12345` หรือ `email@example.com` |
| `device_id` | Device Hardware ID (HWID) | ไม่ | `hwid_abc123` |
| `product_id` | ID ผลิตภัณฑ์ | ไม่ | `prod_premium` |
| `product_name` | ชื่อผลิตภัณฑ์ | ไม่ | `Premium Plan` |

<Aside type="caution" title="สำคัญ">

- หากไม่มี `user_id`, Event จะไม่ถูกรวบรวมและ `device_id` จะถูกละเว้น สำหรับการวิเคราะห์ที่ครอบคลุม โปรดระบุ `journey_uuids` และ `device_id` ด้วย

- `journey_uuids` เป็นตัวเลือกและสามารถตั้งค่าได้ผ่าน metadata เท่านั้น Stripe ไม่ได้ให้ข้อมูลแคมเปญหรือ Journey ดังนั้นโปรดส่งผ่านข้อมูลนี้เมื่อสร้าง Checkout Session หากคุณต้องการให้รายได้ถูกระบุแหล่งที่มาไปยัง Journey

- `product_id` และ `product_name` เป็นตัวเลือก Pushwoosh จะใช้ metadata ก่อน หากไม่มีค่าใดค่าหนึ่งใน metadata จะนำมาจาก Stripe เมื่อมีให้ใช้งาน หากไม่มีค่าจากทั้งสองแหล่ง ฟิลด์จะไม่ถูกจัดเก็บ

</Aside>

### การส่งผ่าน Metadata ผ่าน Checkout Session

Metadata จะถูกส่งผ่านเมื่อสร้าง Checkout Session ขึ้นอยู่กับประเภทการชำระเงิน:

| ประเภทการชำระเงิน | พารามิเตอร์ | Stripe event |
|--------------|-----------|--------------|
| การชำระเงินครั้งเดียว (`mode=payment`) | `payment_intent_data[metadata]` | `charge.succeeded` |
| การสมัครสมาชิก (`mode=subscription`) | `subscription_data[metadata]` | `invoice.paid` |

### ลำดับความสำคัญของ Metadata ระหว่างการประมวลผล

**สำหรับการสมัครสมาชิก** (Event `invoice.paid`):

```text
Invoice metadata → if empty → Subscription metadata
```

**สำหรับการชำระเงินครั้งเดียว** (Event `charge.succeeded`):

```text
Charge metadata (from payment_intent_data)
```

## การสร้าง Checkout Session ผ่าน Stripe API (curl)

##### การชำระเงินครั้งเดียว (`mode=payment`)

```bash
curl https://api.stripe.com/v1/checkout/sessions \
  -u sk_live_YOUR_SECRET_KEY: \
  -d "mode=payment" \
  -d "success_url=https://example.com/success" \
  -d "cancel_url=https://example.com/cancel" \
  -d "line_items[0][price]=price_1234567890" \
  -d "line_items[0][quantity]=1" \
  -d "payment_intent_data[metadata][journey_uuids]=bfab4bc0-b0a5-414b-befc-4aaddc429b0e" \
  -d "payment_intent_data[metadata][user_id]=user_12345" \
  -d "payment_intent_data[metadata][device_id]=hwid_abc123" \
  -d "payment_intent_data[metadata][product_id]=prod_premium" \
  -d "payment_intent_data[metadata][product_name]=Premium Plan"
```

##### การสมัครสมาชิก (`mode=subscription`)

```bash
curl https://api.stripe.com/v1/checkout/sessions \
  -u sk_live_YOUR_SECRET_KEY: \
  -d "mode=subscription" \
  -d "success_url=https://example.com/success" \
  -d "cancel_url=https://example.com/cancel" \
  -d "line_items[0][price]=price_monthly_premium" \
  -d "line_items[0][quantity]=1" \
  -d "subscription_data[metadata][journey_uuids]=bfab4bc0-b0a5-414b-befc-4aaddc429b0e" \
  -d "subscription_data[metadata][user_id]=user_12345" \
  -d "subscription_data[metadata][device_id]=hwid_abc123" \
  -d "subscription_data[metadata][product_name]=Monthly Premium"
```

## ดูข้อมูล

หลังจากการผสานรวมสำเร็จ แดชบอร์ด **Finance Overview** ใหม่จะปรากฏในส่วน [Dashboards](/th/product/statistics-and-analytics/dashboards/) ที่นั่นคุณสามารถดูสถิติ Gross Revenue และ New Subscriptions ที่แบ่งตามแคมเปญ (journey) ได้

![แดชบอร์ด Finance Overview ใน Statistics พร้อม Gross Revenue และ New Subscriptions ตามแคมเปญ](/integrations-stripe-integration-6.webp)

สำหรับข้อมูลเพิ่มเติมโดยละเอียด โปรดไปที่ Stripe Dashboard ของคุณ

## สร้าง Segment ตามการชำระเงิน

ใช้ Stripe event เพื่อสร้าง Segment ผู้ใช้:

1.  เปิด **Audience** → **Segments**
2.  คลิก **Create Segment** → **Build Segment**
3.  ใน **Add filter by** คลิก **Event**
4.  เลือก Stripe event จากรายการดรอปดาวน์ (ดูตารางด้านล่างสำหรับ Event ที่มีให้ใช้งาน)
<Aside type="note">
Stripe event จะปรากฏในรายการหลังจากเชื่อมต่อการผสานรวมและได้รับข้อมูลการชำระเงินแล้ว
</Aside>

5.  ตั้งเงื่อนไข: จำนวนครั้งที่ Event เกิดขึ้นและกรอบเวลา (เช่น ในช่วง 30 วันที่ผ่านมา, ระหว่างวันที่)
6.  เลือกที่จะจำกัด Segment ให้แคบลงตามแอตทริบิวต์ของ Event ตารางด้านล่างแสดงรายการแอตทริบิวต์ที่มีให้ใช้งานสำหรับแต่ละ Event

| Event | คำอธิบาย | แอตทริบิวต์ |
|-------|-------------|------------|
| `StripePaymentSucceeded` | การชำระเงินสำเร็จ | __amount, __currency, invoice_id, journey_uuids, product_id, product_name, stripe_customer_id, subscription_id |
| `StripeInvoicePaid` | ชำระใบแจ้งหนี้การสมัครสมาชิกแล้ว | __amount, __currency, journey_uuids, product_id, product_name, stripe_customer_id, transaction_id, transaction_type |
| `StripeSubscriptionCreated` | สร้างการสมัครสมาชิกแล้ว | __amount, __currency, interval, journey_uuids, product_id, product_name, status, stripe_customer_id, subscription_id |

![หน้า Audience Segments พร้อมตัวเลือก Create Segment และ Build Segment](/integrations-stripe-integration-7.webp)

7.  หากต้องการเพิ่ม Event เพิ่มเติม ให้เพิ่มตัวกรอง Event อีกตัวและเลือกตัวดำเนินการ (AND หรือ OR) ระหว่างเงื่อนไข

[เรียนรู้เพิ่มเติมเกี่ยวกับการสร้าง Segment](/th/product/audience-data-and-segmentation/segmentation/create-segments/by-events/)

<Aside type="tip">
คุณยังสามารถจับคู่ `StripePaymentSucceeded` (`__amount`, `__currency`, `product_id`) หรือ `StripeInvoicePaid` (`__amount`, `__currency`, `transaction_id`, `product_id`) เป็นแหล่งที่มาสำหรับ [Conversion events](/th/product/audience-data-and-segmentation/events/conversion-events/) เพื่อนำรายได้จาก Stripe เข้าสู่การแบ่งกลุ่ม RFM, การระบุแหล่งที่มาของ Journey, และ ManyMoney AI ควบคู่ไปกับแหล่งรายได้อื่นๆ ของคุณ
</Aside>

## ผู้ช่วย AI ManyMoney

หลังจากการผสานรวม Stripe สำเร็จ ผู้ช่วย AI [**ManyMoney**](/th/product/pushwoosh-ai/ai-assistant/) จะสามารถเข้าถึงสถิติการชำระเงินและการสมัครสมาชิกได้โดยอัตโนมัติ

ManyMoney มีให้ใช้งานในอินเทอร์เฟซ Dashboard หลังจากที่คุณเชื่อมต่อ Stripe ข้อมูลการชำระเงินจะพร้อมสำหรับการวิเคราะห์โดยอัตโนมัติ ไม่จำเป็นต้องมีการกำหนดค่าเพิ่มเติม

### สิ่งที่ ManyMoney สามารถทำได้

-   **วิเคราะห์รายได้:** ตอบคำถามเกี่ยวกับรายได้, Conversion, และประสิทธิภาพของแคมเปญ
-   **เปรียบเทียบช่วงเวลา:** แสดงพลวัตของการชำระเงินและการสมัครสมาชิกในช่วงเวลาต่างๆ
-   **ระบุแนวโน้ม:** ตรวจจับผลิตภัณฑ์และ Segment ของกลุ่มเป้าหมายที่กำลังเติบโตและลดลง
-   **ให้คำแนะนำ:** แนะนำการปรับปรุงโดยอิงจากข้อมูลการชำระเงิน

<Aside type="tip" title="ตัวอย่าง Prompt">

-   แคมเปญสร้างรายได้เท่าไหร่ในเดือนที่แล้ว?
-   เปรียบเทียบอัตรา Conversion ของการสมัครสมาชิกระหว่างเดือนมกราคมและกุมภาพันธ์
-   แสดงสถิติการคืนเงิน

</Aside>