diff --git a/src/CMSMicroservice.WebApi/Services/PackageService.cs b/src/CMSMicroservice.WebApi/Services/PackageService.cs index 3d99a43..d8e961a 100644 --- a/src/CMSMicroservice.WebApi/Services/PackageService.cs +++ b/src/CMSMicroservice.WebApi/Services/PackageService.cs @@ -207,13 +207,17 @@ public class PackageService : PackageContract.PackageContractBase .Select(u => new { u.Mobile }) .FirstOrDefaultAsync(context.CancellationToken); + // Embed orderId in callback URL so FrontOffice can pass it back for verification + var separator = request.CallbackUrl.Contains('?') ? "&" : "?"; + var callbackWithOrder = $"{request.CallbackUrl}{separator}orderId={purchase.Id}"; + var paymentResult = await _paymentGateway.InitiatePaymentAsync(new PaymentRequest { Amount = package.Price, UserId = userId, Mobile = user?.Mobile ?? string.Empty, Description = $"خرید پکیج {package.Title}", - CallbackUrl = request.CallbackUrl + CallbackUrl = callbackWithOrder }, context.CancellationToken); if (!paymentResult.IsSuccess)