Phase 8a: Wire up Checkout page to Customer* RPCs
- Checkout.razor.cs: Rewrite ProcessPayment() to use CustomerPurchasePackageAsync instead of disabled dead code (old TransactionsContract + UserOrderContract flow removed) - Callback URL now points to /profile/payment-callback (reuses existing verify page with CustomerVerifyPackagePurchase) - Remove unused DI: UserOrderContract, TransactionContract - Remove unused usings: Transactions, UserOrder, WellKnownTypes - Profile/Index.razor.cs: Rename basePackage → selectedPackage, tempCallbackUrl → callbackUrl (cosmetic) - Build: 0 errors
This commit is contained in:
@@ -413,23 +413,22 @@ public partial class Index
|
||||
|
||||
try
|
||||
{
|
||||
// Get available packages and pick the first (base) one
|
||||
// Get available packages and pick the first one
|
||||
var packages = await PackageContract.GetCustomerPackagesAsync(new GetCustomerPackagesRequest());
|
||||
var basePackage = packages?.Models?.FirstOrDefault();
|
||||
if (basePackage == null)
|
||||
var selectedPackage = packages?.Models?.FirstOrDefault();
|
||||
if (selectedPackage == null)
|
||||
{
|
||||
Snackbar.Add("پکیجی برای خرید یافت نشد", Severity.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
// Call CMS to initiate purchase (UserId from JWT, PackageId explicit)
|
||||
// First, get orderId — then embed in callback URL
|
||||
var tempCallbackUrl = $"{Navigation.BaseUri}profile/payment-callback";
|
||||
var callbackUrl = $"{Navigation.BaseUri}profile/payment-callback";
|
||||
|
||||
var response = await PackageContract.CustomerPurchasePackageAsync(new CustomerPurchasePackageRequest
|
||||
{
|
||||
PackageId = basePackage.Id,
|
||||
CallbackUrl = tempCallbackUrl,
|
||||
PackageId = selectedPackage.Id,
|
||||
CallbackUrl = callbackUrl,
|
||||
PurchaseMethod = PurchaseMethodEnum.PurchaseMethodGateway
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user