> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quyền hạn Notion

> Nhân bản một mẫu Notion vào không gian làm việc của khách hàng khi họ mua.

<Info>
  Quyền hạn Notion nhân bản một mẫu bạn đã chuẩn bị vào không gian làm việc Notion của khách hàng trả tiền. Khách hàng ủy quyền qua OAuth, chọn không gian làm việc mà họ muốn sao chép mẫu vào, và Dodo Payments xử lý việc nhân bản.
</Info>

## Những gì được giao

* Khách hàng được nhắc kết nối không gian làm việc Notion của họ qua OAuth.
* Khi đã được ủy quyền, Dodo Payments nhân bản mẫu được cấu hình vào không gian làm việc họ đã chọn.
* Khi hủy bỏ, mẫu nhân bản vẫn tồn tại trong không gian làm việc của khách hàng (Notion không hỗ trợ xóa từ xa). Quyền được đánh dấu `revoked` để lưu giữ hồ sơ.

Các ứng dụng thông thường bao gồm mẫu Notion trả phí, hệ thống làm việc hiệu quả, và mẫu OS/CRM.

## Kết nối Notion

<Steps>
  <Step title="Open Entitlements">
    Trong bảng điều khiển Dodo Payments của bạn, đi tới **Entitlements** và nhấp vào **+**.
  </Step>

  <Step title="Pick Notion">
    Chọn **Notion Template** làm tích hợp. Nếu Notion chưa được kết nối, bạn sẽ được nhắc **Kết nối Notion**.

    <Frame caption="Connect Notion prompt before the OAuth handoff.">
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/connect-prompt.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=90f1f2a60c96918a8da19665a24fcaca" alt="Bảng quyền hạn mới nhắc người bán kết nối Notion" style={{ maxHeight: '500px', width: 'auto' }} width="2000" height="1133" data-path="images/entitlements/notion/connect-prompt.png" />
    </Frame>

    Nhấp qua sẽ mở Notion trong một tab mới. Đăng nhập vào không gian làm việc sở hữu các mẫu nguồn của bạn, xem xét các quyền mà Dodo Payments yêu cầu, sau đó chọn các trang (mẫu) mà tích hợp được phép đọc và nhân bản.

    <Frame caption="Notion OAuth: review permissions, then pick the template pages to share.">
      <div style={{ display: 'flex', gap: '12px', flexWrap: 'wrap', justifyContent: 'center' }}>
        <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/oauth-permissions.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=957e39812ac19bbf81cceb50f023a14a" alt="Màn hình quyền OAuth của Notion cho Dodo Payments" style={{ maxHeight: '420px', width: 'auto' }} width="2000" height="1121" data-path="images/entitlements/notion/oauth-permissions.png" />

        <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/oauth-select-pages.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=1f8bd414d5900f9d246d96f15877aba1" alt="Trình chọn trang Notion đang chọn mẫu mà Dodo Payments có thể truy cập" style={{ maxHeight: '420px', width: 'auto' }} width="2000" height="1138" data-path="images/entitlements/notion/oauth-select-pages.png" />
      </div>
    </Frame>

    Khi Notion chuyển hướng trở lại, bạn sẽ thấy một xác nhận rằng không gian làm việc đã được kết nối.

    <Frame caption="Workspace connected — return to the Dodo Payments dashboard to continue.">
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/connected.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=5e526d2cc12c27f526b2a6e469157bd8" alt="Trang xác nhận kết nối mẫu Notion thành công" style={{ maxHeight: '500px', width: 'auto' }} width="2000" height="1143" data-path="images/entitlements/notion/connected.png" />
    </Frame>
  </Step>

  <Step title="Pick a template">
    Quay lại bảng điều khiển, chọn **mẫu** để nhân bản từ trình chọn mẫu. Chỉ các trang bạn đã ủy quyền ở bước trước mới xuất hiện ở đây. Đặt tên cho quyền hạn và nhấp **Create Entitlement**.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/do-W-dMDGVB_xzr_/images/entitlements/notion/create.png?fit=max&auto=format&n=do-W-dMDGVB_xzr_&q=85&s=82a51c79ed0c6937abf866c187673ab7" alt="Biểu mẫu quyền hạn Notion với không gian làm việc được kết nối, trình chọn mẫu và trường tên" style={{ maxHeight: '500px', width: 'auto' }} width="2000" height="1135" data-path="images/entitlements/notion/create.png" />
    </Frame>
  </Step>

  <Step title="Save the entitlement">
    Lưu và đính kèm vào bất kỳ sản phẩm nào.
  </Step>
</Steps>

## Luồng khách hàng

1. Khách hàng hoàn tất thanh toán.
2. Dodo Payments tạo một quyền trong trạng thái `pending` với Notion `oauth_url` cho khách hàng kết nối không gian làm việc của họ.
3. Khách hàng ủy quyền qua liên kết trong email hoặc cổng thông tin khách hàng và chọn không gian làm việc mà họ muốn nhân bản mẫu vào.
4. Dodo Payments nhân bản mẫu. Quyền chuyển sang `delivered`.
5. Khi hủy bỏ, quyền được đánh dấu `revoked`; bản sao nhân bản vẫn nằm trong không gian làm việc của khách hàng.

<Note>
  Notion cố tình coi trang nhân bản là nội dung riêng của người nhận. Dodo Payments không thể xóa bản sao khi hủy bỏ.
</Note>

## Cấu hình yêu cầu

| Trường               | Bắt buộc | Mô tả                                                              |
| -------------------- | -------- | ------------------------------------------------------------------ |
| `notion_template_id` | Có       | ID của mẫu. Trình chọn trên bảng điều khiển sẽ điền thông tin này. |

## Tạo qua API

<CodeGroup>
  ```typescript TypeScript theme={null} theme={null}
  const entitlement = await client.entitlements.create({
    name: 'Study Notes',
    integration_type: 'notion',
    integration_config: {
      notion_template_id: 'tmpl_abc123',
    },
  });
  ```

  ```python Python theme={null} theme={null}
  client.entitlements.create(
      name="Study Notes",
      integration_type="notion",
      integration_config={"notion_template_id": "tmpl_abc123"},
  )
  ```

  ```go Go theme={null} theme={null}
  client.Entitlements.New(ctx, dodopayments.EntitlementNewParams{
    Name:            dodopayments.F("Study Notes"),
    IntegrationType: dodopayments.F(dodopayments.EntitlementIntegrationTypeNotion),
    IntegrationConfig: dodopayments.F[dodopayments.IntegrationConfigUnionParam](
      dodopayments.IntegrationConfigNotionConfigParam{
        NotionTemplateID: dodopayments.F("tmpl_abc123"),
      },
    ),
  })
  ```
</CodeGroup>

## Webhooks

Xem [`entitlement_grant.*` sự kiện webhook](/developer-resources/webhooks/intents/entitlement-grant):

* `entitlement_grant.created` bao gồm Notion `oauth_url`.
* `entitlement_grant.delivered` được kích hoạt khi mẫu được nhân bản.
* `entitlement_grant.revoked` được kích hoạt khi hủy; bản sao của khách hàng không bị ảnh hưởng.

## Khắc phục sự cố

<AccordionGroup>
  <Accordion title="Customer didn't get the template">
    Quyền vẫn ở trạng thái `pending` cho đến khi khách hàng hoàn tất OAuth của Notion. Gửi lại email giao hàng; liên kết OAuth hết hạn sau một tuần, sau đó bạn có thể hủy và tạo lại quyền.
  </Accordion>

  <Accordion title="Template picker is empty">
    Kết nối lại Notion từ **Quyền hạn → Tích hợp → Notion** với không gian làm việc sở hữu các mẫu nguồn.
  </Accordion>

  <Accordion title="Customer wants the template removed after refund">
    Notion không cho phép xóa từ xa các trang được nhân bản. Khách hàng phải xóa bản sao từ không gian làm việc của chính họ.
  </Accordion>
</AccordionGroup>
