config: fix IAB package name + flatten Production Iab example
CI/CD / CI - API (dotnet build + engine sim) (push) Successful in 28s
CI/CD / CI - Web (tsc + next build) (push) Successful in 1m9s
CI/CD / Deploy - local stack (db + server + web) (push) Successful in 1m7s

- appsettings.json + docker-compose default: PackageName com.bargevasat.hokm →
  com.bargevasat.app (the validate API URL embeds it; wrong value breaks
  Bazaar/Myket token verification).
- appsettings.Production.json.example: Iab keys were nested (Iab.Bazaar.*,
  Iab.Myket.*) which don't bind to the flat IabOptions; flattened to
  PackageName / BazaarClientId / ... / MyketAccessToken.

MyketAccessToken is already wired end to end: ENV_FILE IAB_MYKET_ACCESS_TOKEN →
compose Iab__MyketAccessToken → IabOptions.MyketAccessToken → VerifyMyket.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-12 21:33:58 +03:30
parent d1bd279eba
commit 9cce016b90
3 changed files with 9 additions and 14 deletions
+1 -1
View File
@@ -57,7 +57,7 @@ services:
Zarinpal__CallbackUrl: ${ZARINPAL_CALLBACK_URL:-http://localhost:1505/api/coins/pay/callback} Zarinpal__CallbackUrl: ${ZARINPAL_CALLBACK_URL:-http://localhost:1505/api/coins/pay/callback}
Zarinpal__ClientReturnUrl: ${ZARINPAL_CLIENT_RETURN_URL:-http://localhost:1500} Zarinpal__ClientReturnUrl: ${ZARINPAL_CLIENT_RETURN_URL:-http://localhost:1500}
# Store in-app billing verification (Cafe Bazaar / Myket) — fill from panels. # Store in-app billing verification (Cafe Bazaar / Myket) — fill from panels.
Iab__PackageName: ${IAB_PACKAGE_NAME:-com.bargevasat.hokm} Iab__PackageName: ${IAB_PACKAGE_NAME:-com.bargevasat.app}
Iab__BazaarClientId: ${IAB_BAZAAR_CLIENT_ID:-} Iab__BazaarClientId: ${IAB_BAZAAR_CLIENT_ID:-}
Iab__BazaarClientSecret: ${IAB_BAZAAR_CLIENT_SECRET:-} Iab__BazaarClientSecret: ${IAB_BAZAAR_CLIENT_SECRET:-}
Iab__BazaarRefreshToken: ${IAB_BAZAAR_REFRESH_TOKEN:-} Iab__BazaarRefreshToken: ${IAB_BAZAAR_REFRESH_TOKEN:-}
@@ -22,17 +22,12 @@
"ClientReturnUrl": "https://bargevasat.ir" "ClientReturnUrl": "https://bargevasat.ir"
}, },
"Iab": { "Iab": {
"// note": "Cafe Bazaar / Myket in-app purchase. Fill after publishing & getting store creds.", "// note": "Cafe Bazaar / Myket in-app purchase. Fill after publishing & getting store creds. Keys are FLAT (must match IabOptions).",
"AllowUnverified": false,
"Bazaar": {
"PackageName": "com.bargevasat.app", "PackageName": "com.bargevasat.app",
"ClientId": "<bazaar-client-id>", "BazaarClientId": "<bazaar-client-id>",
"ClientSecret": "<bazaar-client-secret>", "BazaarClientSecret": "<bazaar-client-secret>",
"RefreshToken": "<bazaar-refresh-token>" "BazaarRefreshToken": "<bazaar-refresh-token>",
}, "MyketAccessToken": "<myket-access-token>",
"Myket": { "AllowUnverified": false
"PackageName": "com.bargevasat.app",
"AccessToken": "<myket-access-token>"
}
} }
} }
+1 -1
View File
@@ -25,7 +25,7 @@
"ClientReturnUrl": "http://localhost:3000" "ClientReturnUrl": "http://localhost:3000"
}, },
"Iab": { "Iab": {
"PackageName": "com.bargevasat.hokm", "PackageName": "com.bargevasat.app",
"BazaarClientId": "", "BazaarClientId": "",
"BazaarClientSecret": "", "BazaarClientSecret": "",
"BazaarRefreshToken": "", "BazaarRefreshToken": "",