Version: ASP.NET Core MVC & jQuery version 12.0.1
Looks like there are some changes required for Stripe integration to work. Stripe updated their API so line_items no longer work: https://stripe.com/docs/upgrades#2022-08-01
StripePaymentAppService.cs lines 188-192
Amount = (long) _stripeGatewayManager.ConvertToStripePrice(payment.Amount),
Name = StripeGatewayManager.ProductName,
Currency = myProjectConsts.Currency,
Description = payment.Description,
Quantity = 1
I changed them to this:
//Price = _stripeGatewayManager.ConvertToStripePrice(payment.Amount).ToString(),
PriceData = new SessionLineItemPriceDataOptions()
{
UnitAmount = _stripeGatewayManager.ConvertToStripePrice(payment.Amount),
Currency = myProjectConsts.Currency,
ProductData = new SessionLineItemPriceDataProductDataOptions()
{
Name= StripeGatewayManager.ProductName,
Description = payment.Description
},
},
//Amount = (long) _stripeGatewayManager.ConvertToStripePrice(payment.Amount),
//Name = StripeGatewayManager.ProductName,
//Currency = myProjectConsts.Currency,
//Description = payment.Description,
Quantity = 1,
Also on line 161 I added Mode:
{
Mode = "payment",
PaymentMethodTypes = paymentTypes,
SuccessUrl = input.SuccessUrl + (input.SuccessUrl.Contains("?") ? "&" : "?") +
"sessionId={CHECKOUT_SESSION_ID}",
CancelUrl = input.CancelUrl
};
Those changes seemed to allow me to use Stripe, but during testing I was provided a new error message.
In the US, we do not use Tax/VATNo for most transactions, and never for personal transactions. In this case, someone simply signing up for service as a user, not a business.
What can be done here to avoid this error? I am thinking just modify the existing code for InvoiceAppService to exclude Tax info and passing the users name and address from Stripe, but I wasn't sure if I was missing something that may make this a bit easier...like a const setting perhaps?
Thoughts?
3 Answer(s)
-
0
Found the Stripe fix on the github: https://github.com/aspnetzero/aspnet-zero-core/pull/4753/files/5e80799f97a0b3854f417f32a092559cc1a13c8a
That helps.
-
0
-
0
Found the issue, I was confused about the minimum payment amount and how it worked.
Default is set to what looks like $1million (1M): https://docs.aspnetzero.com/en/aspnet-core-mvc/latest/Features-Mvc-Core-Subscription
I changed this to "50", which is Stripe's minimum accepted payment amount (for testing), and the transaction completed and activated the account.
I am still confused about how to handle the Tax/VATNo for the US users that are not businesses, but I will ask this in a new/different thread.
Thanks.