Dodo Payments가 Pending 상태의 grant를 생성합니다. Dodo Payments는 즉시 Notion authorization URL을 생성하려고 시도하고 이를 oauth_url에 저장합니다. 이 작업이 실패하면 고객이 accept flow를 시작할 때까지 oauth_url는 null 상태로 유지됩니다.
Customer Portal에서 고객이 entitlement의 Connect를 클릭하고 Notion으로 authorization을 완료한 다음, 템플릿을 받을 workspace를 선택하고 Dodo Payments와 하나 이상의 페이지를 공유합니다.
Dodo Payments가 해당 workspace의 공유 페이지에 템플릿을 복사합니다. grant가 Delivered 상태로 변경됩니다.
revocation 시 grant가 Revoked로 표시되며, 복사본은 고객의 workspace에 그대로 남습니다.
취소해도 복사본은 삭제되지 않습니다. 복사본은 고객의 워크스페이스에 있으며 Dodo Payments의 grant 취소 플로우는 grant를 Revoked로 표시하기만 합니다.
// client is a *dodopayments.Client, for example from// dodopayments.NewClient(option.WithEnvironmentTestMode()); ctx is a context.Context.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("3f2b8c1e-7d4a-4e9b-a6c5-1d2e3f4a5b6c"), }, ),})
entitlement_grant.created가 status: "Pending"와 함께 발생합니다. oauth_url에 이미 Notion authorization URL이 저장되어 있을 수 있습니다. 값이 null인 경우 고객이 Customer Portal에서 accept flow를 시작하면 해당 값이 채워집니다.
템플릿이 복사되면 entitlement_grant.delivered가 발생합니다.
취소 시 entitlement_grant.revoked가 발생합니다. 고객의 복사본은 변경되지 않은 상태로 유지됩니다.
고객이 Notion 승인을 완료할 때까지 grant는 Pending 상태로 유지됩니다. 고객에게 Customer Portal을 열고 Connect를 클릭하도록 안내하세요. 각 authorization link는 생성 후 30분이 지나면 만료되며, 고객이 다시 방문하면 Customer Portal에서 새 링크를 생성합니다. 승인 과정에서 고객은 하나 이상의 페이지를 공유해야 합니다. Dodo Payments가 공유 페이지 안에 복사본을 생성하기 때문입니다.
Template picker is empty
entitlement form에서 Notion 카드의 Disconnect를 클릭한 다음, Connect Notion을 클릭하고 소스 템플릿을 소유한 workspace에 다시 연결합니다. authorization 중에 템플릿 페이지를 공유합니다.
Customer wants the template removed after refund
Dodo Payments는 grant를 취소할 때 복사본을 삭제하지 않습니다. 고객이 자신의 워크스페이스에서 복사본을 삭제해야 합니다.