-
Notifications
You must be signed in to change notification settings - Fork 193
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
130 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,70 @@ | ||
# Stripe | ||
|
||
In order to configure Stripe, open appsettings.json file in *.Web.Mvc project and fill the values; | ||
In order to configure Stripe, open ``appsettings.json` file in ***.Web.Mvc** project and fill the values; | ||
|
||
- **IsActive:** This setting can be used to enable/disable Stripe. If set to false, end users will not see Stripe option during the payment process. | ||
- **BaseUrl:** Url for making API calls to Stripe. You can find correct urls in your Stripe dashboard. | ||
- **SecretKey:** Your Stripe SecretKey. | ||
- **PublishableKey:** Your Stripe PublishableKey. | ||
- **WebhookSecret:** Your Stripe WebhookSecret which is used to validate WebHook requests. | ||
- **PaymentMethodTypes** (array containing strings): Supported payment method types, check [stripe payment method types](https://stripe.com/docs/payments/payment-methods) | ||
|
||
Stripe supports recurring payments. If a tenant wants to pay via Stripe and accepts automatically billing the account used for the initial payment, then Stripe charges the amount from Tenants account on each subscription cycle and notifies AspNet Zero. Then, AspNet Zero extends the subscription for the paid period (either monthly or annual). | ||
|
||
<img src="images/subscription-stripe-recurring-payments.png" alt="Stripe recurring payments" class="img-thumbnail" /> | ||
|
||
If "Automatically bill my account" option is not selected on the payment page, tenants should login to the system and manually extend their subscription by clicking the "**Extend**" button on the subscription page and pay manually. | ||
|
||
|
||
|
||
## Testing Stripe WebHooks on Localhost | ||
|
||
In order to get Stripe's WebHook request on your local environment, you need to use an external tool. [https://webhookrelay.com](https://webhookrelay.com) is one of the best tools on the web at the moment. [How to receive Stripe webhooks on localhost](https://webhookrelay.com/blog/2017/12/26/receiving-stripe-webhooks-localhost/) can be used to test Stripe's WebHooks on the localhost. Basically, you need to create an account on [https://webhookrelay.com](https://webhookrelay.com), then need to download relay.exe to your development machine. | ||
##### Stripe-Cli | ||
|
||
You can use stripe-cli in order to get Stripe's WebHooks requests on your local environment. To download it, go to https://dashboard.stripe.com/webhooks page. And install stripe-cli | ||
|
||
![stripe-test-stripe-cli-download](images/stripe-test-stripe-cli-download.png) | ||
|
||
After you download it, login to stripe-cli https://github.com/stripe/stripe-cli/wiki/login-command | ||
|
||
Then you can forward webhooks to AspNet Zero with running listener. | ||
|
||
```powershell | ||
stripe listen --forward-to http://localhost:62114/Stripe/WebHooks | ||
``` | ||
|
||
That will forward all events to your local project. For more information check: https://github.com/stripe/stripe-cli/wiki/listen-command | ||
|
||
*After you connect successfully your device will be listed.* | ||
|
||
![stripe-test-stripe-cli-list](images/stripe-test-stripe-cli-list.png) | ||
|
||
##### Webhookrelay | ||
|
||
In order to get Stripe's webhook request on your local environment, you can also use external tools like [https://webhookrelay.com](https://webhookrelay.com). It is one of the best tools on the web at the moment. [How to receive Stripe webhooks on localhost](https://webhookrelay.com/blog/2017/12/26/receiving-stripe-webhooks-localhost/) can be used to test Stripe's webhook on the localhost. Basically, you need to create an account on [https://webhookrelay.com](https://webhookrelay.com), then need to download relay.exe to your development machine. | ||
|
||
Then, you need to run relay.exe like this; | ||
|
||
```./relay.exe forward --bucket stripe http://localhost:62114/Stripe/WebHooks``` | ||
```powershell | ||
./relay.exe forward --bucket stripe http://localhost:62114/Stripe/WebHooks | ||
``` | ||
|
||
This will give you an url something like "https://my.webhookrelay.com/v1/webhooks/aa180d45-87d5-4e9c-8bfa-e535a91df3fc". You need to enter this url as an WebHook endpoint on Stripe's WebHook dashboard ([https://dashboard.stripe.com/account/webhooks](https://dashboard.stripe.com/account/webhooks)). | ||
This will give you an url something like "https://my.webhookrelay.com/v1/webhooks/aa180d45-87d5-4e9c-8bfa-e535a91df3fc". You need to enter this url as an webhook endpoint on Stripe's webhook dashboard ([https://dashboard.stripe.com/account/webhooks](https://dashboard.stripe.com/account/webhooks)). | ||
|
||
Don't forget to enter your production app's url as a WebHook endpoint when you publish your app to production. | ||
Don't forget to enter your production app's url as a webhook endpoint when you publish your app to production. | ||
|
||
Note that; | ||
|
||
|
||
**Note that;** | ||
|
||
- Tenants can disable or enable Stripe to charge their accounts automatically on the Subscription page. | ||
|
||
- When upgrading to an higher edition, stripe calculates the cost for upgrade and charges it from Tenants account. However, AspNet Zero can't show this amount during the edition upgrade process. But, this amount can be seen at the Payment History tab on Subscription page after a successful payment process. | ||
- When upgrading to an higher edition, AspNet Zero calculates the cost for upgrade and charges it from Tenants account(with using checkout). | ||
|
||
- When a tenant subscribes to an edition using Stripe and if admin user changes the edition of the Tenant on Tenant page to a higher edition, Tenant's account will be charged on stripe automatically. | ||
|
||
## Next | ||
(https://stripe.com/docs/billing/subscriptions/prorations ) | ||
|
||
- [Visual Settings](Features-Mvc-Core-Visual-Settings) | ||
## Next | ||
|
||
- [Visual Settings](Features-Mvc-Core-Visual-Settings) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.