Thanks, Alper. I take it that this means no recaptcha on these pages?
My last release to production was problematical, to say the least. I am currently building development and staging slots. Once I'm happy I will gadly post back the results.
Ah, ok.
Having got this working and played with it for a while I have the following observations:
The documentation is a little sparse and could be expanded to give an "easy step guide". As it is one has to trawl through the Webhook and Stripe sites to get the exact information needed. That said, it wasn't too difficult.
When setting up an edition there should be no spaces in the name or Stripe will throw the following error:
This value must match the regex pattern. (/\A[a-zA-Z0-9_\-]+\z/ does not match for the value 5 devices_Monthly_GBP).
Stripe.StripeException: This value must match the regex pattern. (/\A[a-zA-Z0-9_\-]+\z/ does not match for the value 5 devices_Monthly_GBP).
Where "5 devices" is the name of the edition. I used edition.displayName property to change the name on the pricing page.
In file [Projectname].Core\MultiTenancy\Payments\Stripe\StripeGatewayManager.cs a product name is defined at line 24:
public static string ProductName = "_YourProductNameHere _";
I believe, given current code, this will create a new product for in Stripe for every sale. It would be better to create a product in the Stripe portal and then take the generated Id and replace YourProductNameHere (above) with the generated Id. This will ensure all of your sales are for the same Stripe product.
If I am not mistaken there is no functionality for tax. Stripe has the ability to change tax and call it "VAT" with a type of "percentage". I found a way to get Stripe to create a VAT-able invoice by changing the following code in StripeGatewayManager.CreateSubscription():
var subscriptionService = new SubscriptionService();
var subscription = await subscriptionService.CreateAsync(new SubscriptionCreateOptions
{
CustomerId = customerId,
Items = new List<SubscriptionItemOption>
{
new SubscriptionItemOption
{
PlanId = planId
}
}
});
to:
var items = new List<SubscriptionItemOption> { new SubscriptionItemOption { PlanId = planId } };
var options = new SubscriptionCreateOptions
{
CustomerId = customerId,
Items = items,
TaxPercent = 20
};
var service = new SubscriptionService();
Subscription subscription = service.Create(options);
Example given at Stripe - Applying Taxes to Subscriptions The above change got 20% VAT working with Stripe.
There should be a transactions grid in the host for invoices and payments for all payment providers.
It is difficult to test. How do I set up a daily or weekly subscription so I can test over a period of days or weeks rather than a period of months? There are very few emails sent by the system to update the relevant users. Zero seems to leave it to Stripe for payment reminders and confirmations. Can anyone suggest a way of testing when Zero enumerators give us Monthly and Annual only?
The host dashboard showed new tenants but did not display financials from test transactions at Stripe. I haven't had time to investigate this in more depth but I was wondering why this would be the case.
I will continue to investigate and post back here. I will understand if you don't want this feedback, please close the issue and I will update my own documentation only. Thanks go to Aaron, who insisted I read up on forum etiquette.
Hi Aaron, thanks for the speedy reply as always. You are correct, I had missed both the Stripe and Paypal proxies from my service proxy module during the recent merge operation due to upgrade from 5.4.1 to 6.8.0. I was going to update the thread and will do so when testing is complete.
Aaron, I love you, but semantics, etymology and a tendency to dictate how one uses available tools to bring attention to a point whilst not adhering to your particular rules does not impress.
All that given, can you give me an answer as to why email verification appears on the sign in page?
Or can you give me information on possible penetration attacks on the current sign in page and give any guarantee that the Zero framework will not flood my logs under any DDoS attack. It's just a thought, no negative criticism intended.
angular, dotnetcore, 6.8.0, .net 4.6.1 I am still at a loss. I have just released 6.8.0. I go to host settings-> User management and enable Phone number verification: I go to host settings-> Security and enable Two Factor Login, note Google Authenticator is unchecked: I go to my user settings and make sure I have a phone number and enable Two factor authentication: I refresh my page to reload all settings and go to .\admin -> My settings -> Two Factor Login: Note I cannot verify my phone number but I can enable Google Authenticator (which is not set). I sign out and sign in again and I have just one option for 2FA, email:
How the hell do I verify my phone number?
I go to the database and update IsPhoneNumberConfirmed:
begin tran
update [dbo].[AbpUsers]
set [IsPhoneNumberConfirmed] = 1
where Id = 1
--commit
--rollback
I go back to the sign in page and refresh and bingo I have 2FA for the phone.
How the hell do I verify my phone number without having to resort to SQL?