naftiko: 1.0.0-alpha2 info: label: Paymob Intentions API — Intentions description: 'Paymob Intentions API — create, update, retrieve, and confirm payment intentions for Unified Checkout and Pixel integrations. Lead operation: Create Intention.' tags: - Paymob - Intentions - Payments created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: PAYMOB_SECRET_KEY: PAYMOB_SECRET_KEY PAYMOB_PUBLIC_KEY: PAYMOB_PUBLIC_KEY capability: consumes: - type: http namespace: intentions-intentions baseUri: https://accept.paymob.com description: Paymob Intentions API consumer. resources: - name: intentions path: /v1/intention/ operations: - name: createintention method: POST description: Create a payment intention and obtain a client_secret. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Intention payload with amount, currency, payment_methods, items, billing_data. required: true - name: intention-item path: /v1/intention/{client_secret} operations: - name: updateintention method: PUT description: Update an intention before it is paid. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: client_secret in: path type: string required: true - name: body in: body type: object required: true - name: intention-element path: /v1/intention/element/{public_key}/{client_secret}/ operations: - name: retrieveintention method: GET description: Retrieve an intention using the merchant public key and client_secret. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: public_key in: path type: string required: true - name: client_secret in: path type: string required: true authentication: type: apikey key: Authorization value: 'Token {{env.PAYMOB_SECRET_KEY}}' placement: header exposes: - type: rest namespace: intentions-intentions-rest port: 8080 description: REST adapter for Paymob Intentions. resources: - path: /v1/intentions name: intentions description: REST surface for create intention. operations: - method: POST name: createintention description: Create a payment intention. call: intentions-intentions.createintention with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: intentions-intentions-mcp port: 9090 transport: http description: MCP adapter for Paymob Intentions. tools: - name: paymob-create-intention description: Create a Paymob payment intention. hints: readOnly: false destructive: false idempotent: false call: intentions-intentions.createintention with: body: tools.body outputParameters: - type: object mapping: $. - name: paymob-retrieve-intention description: Retrieve a Paymob payment intention. hints: readOnly: true destructive: false idempotent: true call: intentions-intentions.retrieveintention with: public_key: tools.public_key client_secret: tools.client_secret outputParameters: - type: object mapping: $.