Skip to main content
GitHub entitlement menambahkan pelanggan yang membayar sebagai collaborator pada private repository. Anda memilih tingkat permission (pull, push, triage, maintain, atau admin). Dodo Payments mengirimkan undangan collaborator dan menghapus collaborator tersebut saat grant dicabut.

Yang Diterima

  • Pelanggan menghubungkan akun GitHub mereka dari Customer Portal. Ini menautkan akun GitHub mereka ke pembelian.
  • Dodo Payments mengundang akun tersebut ke repository Anda pada tingkat permission yang dikonfigurasi. Pelanggan mendapatkan akses setelah menerima undangan di GitHub. Jika pelanggan memiliki repository tersebut, undangan tidak diperlukan.
  • Pembatalan, refund, atau revoke manual menghapus collaborator dan membatalkan undangan yang masih tertunda.
Penggunaan umum mencakup produk source-available, template berbayar, repository kode kursus, dan client SDK yang dibatasi aksesnya.

Hubungkan GitHub

1

Open Entitlements

Di dashboard Dodo Payments, buka Entitlements dan klik + untuk memulai entitlement baru.
2

Pick GitHub

Pilih GitHub Access sebagai integrasi. Jika GitHub belum terhubung, klik Connect GitHub.
Panel hak baru meminta pedagang untuk menghubungkan GitHub

Connect GitHub prompt before the install handoff.

GitHub terbuka di tab baru. Masuk, lalu install Dodo Payments GitHub App pada organization atau user account yang memiliki repository tersebut. Anda dapat memberikan akses app ke All repositories atau Only select repositories. Jika memilih repository, sertakan setiap repository yang ingin Anda batasi aksesnya.
GitHub Install and Authorize page with All repositories and Only select repositories options

GitHub Install & Authorize page. Choose which repositories the app can manage.

Saat GitHub mengarahkan kembali, halaman konfirmasi menampilkan bahwa akun telah terhubung.
GitHub Access connected successfully confirmation page

Account connected. Return to the Dodo Payments dashboard to continue.

3

Pick a Repository and Permission

Kembali ke dashboard, pilih Repository yang aksesnya diberikan oleh entitlement, lalu pilih tingkat Permission. Repository picker hanya menampilkan repository yang dapat diakses oleh GitHub App. Masukkan Name untuk entitlement dan klik Create Entitlement.
Formulir hak GitHub dengan Akses GitHub terhubung, pemilih repositori, dropdown izin, dan bidang nama

Creating a GitHub entitlement. Pick the repository and the permission you want customers to receive.

4

Attach It to a Product

Lampirkan entitlement ke produk mana pun. Pelanggan yang membeli produk tersebut menerima undangan GitHub setelah mereka menghubungkan akun GitHub.

Tingkat Permission

Entitlement menggunakan permission repository standar GitHub:
Berikan least privilege yang sesuai dengan kasus penggunaan Anda. Sebagian besar produk konten berbayar hanya memerlukan pull.

Alur Pelanggan

  1. Pelanggan menyelesaikan checkout.
  2. Dodo Payments membuat grant dengan status Pending. Dodo Payments segera mencoba membuat URL otorisasi GitHub dan menyimpannya di oauth_url. Jika gagal, oauth_url tetap dalam keadaan null hingga pelanggan memulai alur penerimaan.
  3. Email konfirmasi pembayaran mencantumkan entitlement sebagai Action Required dan menautkan ke Customer Portal. Di portal, pelanggan mengeklik Connect dan melakukan otorisasi dengan GitHub. Tautan otorisasi kedaluwarsa setelah 30 menit, dan Customer Portal membuat tautan baru saat pelanggan kembali.
  4. Dodo Payments mengundang akun GitHub pelanggan ke repository dengan izin yang telah dikonfigurasi. Grant berpindah ke Delivered setelah undangan dibuat. Jika GitHub menolak undangan tersebut, grant tidak terkirim.
  5. Jika subscription dibatalkan, pembayaran dikembalikan, atau grant dicabut, Dodo Payments menghapus pelanggan sebagai collaborator dan membatalkan undangan yang masih tertunda.

Konfigurasi yang Diperlukan

Buat melalui API

Webhooks

Event webhook standar entitlement_grant.* mencakup alur GitHub:
  • entitlement_grant.created terpicu dengan status: "Pending". oauth_url mungkin sudah berisi URL otorisasi GitHub. Jika statusnya null, nilainya akan diisi setelah pelanggan memulai alur penerimaan dari Customer Portal.
  • entitlement_grant.delivered terpicu setelah undangan collaborator dibuat.
  • entitlement_grant.revoked terpicu saat akses dicabut. Jika Anda menghapus instalasi GitHub App, Dodo Payments mencabut grant yang masih tertunda dan yang telah dikirim dari instalasi tersebut dengan revocation_reason: platform_external.
  • entitlement_grant.failed terpicu dengan error_code: "GRANT_ACCESS_FAILED" jika Dodo Payments tidak dapat menambahkan pelanggan ke repository, misalnya karena GitHub App kehilangan akses ke repository tersebut.

Pemecahan Masalah

GitHub App Dodo Payments harus diinstal pada organisasi atau pengguna yang memiliki repository tersebut. Dalam formulir entitlement, klik Disconnect pada kartu GitHub, lalu klik Connect GitHub untuk menginstal ulang aplikasi dan berikan akses ke repository yang ingin Anda batasi.
Instalasi GitHub App tidak lagi memiliki akses ke repository, atau repository telah diubah namanya atau ditransfer. Berikan kembali akses app ke repository, dan regrant berikutnya akan berhasil.
Pelanggan menerima undangan GitHub dari notifikasi GitHub mereka atau dari link dalam email undangan GitHub. Hingga mereka menerimanya, mereka telah diundang tetapi tidak dapat melakukan clone repository. Grant tetap berstatus Delivered di Dodo Payments, karena undangan tersebut adalah hal yang diterbitkan oleh Dodo Payments.
Terakhir diubah pada 28 September 2026