You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Change_Log.md
+10Lines changed: 10 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,15 @@
1
1
# Change Log
2
2
3
+
## Premium App Subscriptions: New Ways for Testing App Subscriptions
4
+
#### Nov 29, 2023
5
+
6
+
Following feedback on Premium App Subscriptions, we've made it easier for developers to test their app subscriptions. The goal is to provide you with flexibility during testing and prevent you from having to use live payment methods.
7
+
8
+
- Team members will automatically receive a 100% discount on a subscription for your app, allowing you to test the end-to-end payment flow
9
+
- Developers can create and delete [test entitlements](#DOCS_MONETIZATION_ENTITLEMENTS/create-test-entitlement) to toggle access to an application's premium features
10
+
11
+
Read more about [Testing your App Subscriptions Implementation](#DOCS_MONETIZATION_APP_SUBSCRIPTIONS/testing-your-implementation) for details.
Copy file name to clipboardExpand all lines: docs/monetization/App_Subscriptions.md
+12-1Lines changed: 12 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ return new JsonResponse({
49
49
50
50
If someone is already subscribed, this command will show the upgrade prompt with a disabled upgrade button. In order to avoid this, your interaction handler should check to see if the user or guild has an active entitlement for your SKU.
51
51
52
-
Each interaction payload includes an `entitlements` field containing an array of full entitlement objects that the guild or user currently has entitlement to.
52
+
Each interaction payload includes an `entitlements` field containing an array of full [entitlement objects](#DOCS_MONETIZATION_ENTITLEMENTS/entitlement-object).
53
53
54
54
You can use this field to determine if the user or guild is subscribed to your app.
55
55
@@ -74,11 +74,22 @@ For example, you might keep track of our entitlements in a database and check a
74
74
75
75
## Testing Your Implementation
76
76
77
+
### Using Test Entitlements
78
+
77
79
You can test your implementation by [creating](#DOCS_MONETIZATION_ENTITLEMENTS/create-test-entitlement) and [deleting](#DOCS_MONETIZATION_ENTITLEMENTS/delete-test-entitlement) test entitlements. These entitlements will allow you to test your premium offering in both a subscribed and unsubscribed state as a user or guild.
78
80
79
81
> info
80
82
> Test Entitlements do not have a `starts_at` or `ends_at` field as they are valid until they are deleted.
81
83
84
+
### Testing Payment Flow with Live Entitlements
85
+
86
+
If you'd like to test the full payment flow for your app, you can do so by interacting with the `Upgrade` button. Any team members associated with your app will automatically see a 100% discount on the price of the subscription, allowing you to purchase without the use of live payment method.
87
+
88
+
After checkout, you will have a live subscription that includes a `starts_at` and `ends_at` value. If you cancel this subscription, it will remain an active entitlement until the `ends_at` timestamp. This subscription will renew until cancelled and can be used in testing subscription renewals in your app.
89
+
90
+
> info
91
+
> You can only delete entitlements created using the [create test entitlement](#DOCS_MONETIZATION_ENTITLEMENTS/create-test-entitlement) endpoint. If you need to toggle access to your premium features during your development process, it is best to use test entitlements.
92
+
82
93
## Receiving Payouts
83
94
84
95
Once an app has made its first $100 it will become eligible for payout. A review will be conducted and if everything looks good, your team will begin to receive payouts.
0 commit comments