# `mozaik.paytr` — PayTR ile kart ödemesi Kendi PayTR hesabınla kart ödemesi al. (Başvurun onaylandığında etkinleşir.) - version **0.2.0** · publisher `mozaik` · runtime `platform` · listed: false - provider kind: `payment` · methodId `card_paytr` · settlement `card` - capabilities: `threeds`, `installments`, `refund`, `partialRefund`, `binlookup` - scopes: `checkout` - PII: none - admin panels: — · actions: — ## Secrets | key | label (TR) | required | sandbox prefix | |---|---|---|---| | `psp.paytr.merchant_id` | Mağaza No | yes | — | | `psp.paytr.merchant_key` | Mağaza Anahtarı | yes | — | | `psp.paytr.merchant_salt` | Mağaza Gizli Anahtarı | yes | — | Secrets are write-only and owner-entered — see [Tokens](/reference/tokens). ## Provider-driven inbound Webhooks and jobs are the platform's to ingest and schedule — **never callable by agents**. None. ## Config schema ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "mode": { "default": "sandbox", "type": "string", "const": "sandbox" } }, "additionalProperties": false } ``` ## For agents Card payments through the merchant's PayTR account. Integration is not live yet (unlisted); setup can be prepared but checkout refuses the method until it clears. ### Setup 1. **Install** — [`extension.install`](/reference/commands/extension.install) with `{"extensionId": "mozaik.paytr"}` and the consent block. 2. **Secret** — the owner enters `psp.paytr.merchant_id` in the admin panel (agents cannot set secrets). Owner-entered in the admin panel. 3. **Secret** — the owner enters `psp.paytr.merchant_key` in the admin panel (agents cannot set secrets). 4. **Secret** — the owner enters `psp.paytr.merchant_salt` in the admin panel (agents cannot set secrets). 5. **Enable** — [`extension.enable`](/reference/commands/extension.enable). Enabling lists the method, but /pay refuses card_paytr until the integration completes. ### Operations | op | via | effects | proposal-only | requires | |---|---|---|---|---| | `refund` | [`orders.refund`](/reference/routes/orders.refund) | `external` | ✓ | enabled · capability `refund` | [`extensions.ops.get`](/reference/routes/extensions.ops.get) (`GET /v1/extensions/mozaik.paytr/ops`) returns this table with live readiness — exactly what blocks each op right now (`missing_secret:`, `missing_config:`, `not_enabled`, …). ### Lifecycle [`extension.install`](/reference/commands/extension.install) → [`extension.configure`](/reference/commands/extension.configure) → [`extension.enable`](/reference/commands/extension.enable) → [`extension.disable`](/reference/commands/extension.disable) → [`extension.uninstall`](/reference/commands/extension.uninstall)