İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 7 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.
GET/api/b2b/v1/admin/payment/config
GET /admin/payment/config — ödeme yapılandırması (b2b.payment.admin). Sealed creds dönmez.
PUT /admin/payment/connections/{provider}/credentials — sealed merchant creds (b2b.payment.admin).
OturumYol parametresi: provider
creds → blesyum_crypto::seal → core.integration_connections (per (tenant,provider) tek satır;
status='connected'). Yanıt/audit ASLA creds içermez. Canlı-key GİRİLİR ama online açmak go-live
gate (2369) ile korunur → bu tek başına canlı-tahsilat AÇMAZ.
GET /admin/payment/providers — kimlik girişi alan sağlayıcıların form şeması (`b2b.payment.admin`).
Oturum
**NEDEN VAR:** `put_credentials` submit'i `validate_credentials` ile şemaya karşı doğrular ve
**bilinmeyen alanı REDDEDER**. Panelin bu şemayı görmediği sürece kimlik formu ancak alan adları
FRONTEND'e GÖMÜLEREK çizilebilirdi; katalog satırı değiştiğinde (yeni zorunlu alan, yeniden
adlandırma) form sessizce 400 üretmeye başlardı. Form artık tek kaynaktan — katalogdan — çizilir.
**Sır yüzeyi sıfır:** yalnız ALAN TANIMLARI döner; `credentials` sütunu SELECT bile edilmez,
sağlayıcının girilmiş değeri hiçbir biçimde sızmaz (`has_credentials` yalnız var/yok bilgisidir).
Katalog satırı olmayan sağlayıcı listeye HİÇ girmez (fail-closed; `put_credentials` da onu 400'ler).