Paystack · Capability

Paystack Accept Payments API — Charge

Paystack Accept Payments API. 19 operations. Lead operation: Paystack Initialize Transaction. Self-contained Naftiko capability covering one Paystack business surface.

Paystack Accept Payments API — Charge is a Naftiko capability published by Paystack, one of 13 capabilities the APIs.io network indexes for this provider. It bundles 19 operations across the POST and GET methods.

The capability includes 9 read-only operations and 10 state-changing operations. Lead operation: Paystack Initialize Transaction. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Paystack, Charge, and Transaction.

Run with Naftiko PaystackChargeTransaction

What You Can Do

POST
Transactioninitialize — Paystack Initialize Transaction
/v1/transaction/initialize
GET
Transactionverify — Paystack Verify Transaction
/v1/transaction/verify/{reference}
GET
Transactionlist — Paystack List Transactions
/v1/transaction
GET
Transactionfetch — Paystack Fetch Transaction
/v1/transaction/{id}
GET
Transactiontimeline — Paystack Fetch Transaction Timeline
/v1/transaction/timeline/{id_or_reference}
GET
Transactiontotals — Paystack Transaction Totals
/v1/transaction/totals
GET
Transactiondownload — Paystack Export Transactions
/v1/transaction/export
POST
Transactionchargeauthorization — Paystack Charge Authorization
/v1/transaction/charge_authorization
POST
Transactioncheckauthorization — Paystack Check Authorization
/v1/transaction/check_authorization
POST
Transactionpartialdebit — Paystack Partial Debit
/v1/transaction/partial_debit
GET
Transactionevent — Paystack Get Transaction Event
/v1/transaction/{id}/event
GET
Transactionsession — Paystack Get Transaction Session
/v1/transaction/{id}/session
POST
Chargecreate — Paystack Create Charge
/v1/charge
POST
Chargesubmitpin — Paystack Submit PIN
/v1/charge/submit_pin
POST
Chargesubmitotp — Paystack Submit OTP
/v1/charge/submit_otp
POST
Chargesubmitphone — Paystack Submit Phone
/v1/charge/submit_phone
POST
Chargesubmitbirthday — Paystack Submit Birthday
/v1/charge/submit_birthday
POST
Chargesubmitaddress — Paystack Submit Address
/v1/charge/submit_address
GET
Chargecheck — Paystack Check Pending Charge
/v1/charge/{reference}

MCP Tools

paystack-initialize-transaction

Paystack Initialize Transaction

paystack-verify-transaction

Paystack Verify Transaction

read-only idempotent
paystack-list-transactions

Paystack List Transactions

read-only idempotent
paystack-fetch-transaction

Paystack Fetch Transaction

read-only idempotent
paystack-fetch-transaction-timeline

Paystack Fetch Transaction Timeline

read-only idempotent
paystack-transaction-totals

Paystack Transaction Totals

read-only idempotent
paystack-export-transactions

Paystack Export Transactions

read-only idempotent
paystack-charge-authorization

Paystack Charge Authorization

paystack-check-authorization

Paystack Check Authorization

paystack-partial-debit

Paystack Partial Debit

paystack-get-transaction-event

Paystack Get Transaction Event

read-only idempotent
paystack-get-transaction-session

Paystack Get Transaction Session

read-only idempotent
paystack-create-charge

Paystack Create Charge

paystack-submit-pin

Paystack Submit PIN

paystack-submit-otp

Paystack Submit OTP

paystack-submit-phone

Paystack Submit Phone

paystack-submit-birthday

Paystack Submit Birthday

paystack-submit-address

Paystack Submit Address

paystack-check-pending-charge

Paystack Check Pending Charge

read-only idempotent

Capability Spec

accept-payments.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Paystack Accept Payments API \u2014 Charge"
  description: 'Paystack Accept Payments API. 19 operations. Lead operation: Paystack Initialize Transaction. Self-contained
    Naftiko capability covering one Paystack business surface.'
  tags:
  - Paystack
  - Charge
  - Transaction
  created: '2026-05-24'
  modified: '2026-05-24'
binds:
- namespace: env
  keys:
    PAYSTACK_SECRET_KEY: PAYSTACK_SECRET_KEY
capability:
  consumes:
  - type: http
    namespace: accept-payments-transaction
    baseUri: https://api.paystack.co
    description: Paystack Accept Payments API business capability. Self-contained, no shared references.
    resources:
    - name: transaction-initialize
      path: /transaction/initialize
      operations:
      - name: transactioninitialize
        method: POST
        description: Paystack Initialize Transaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: transaction-verify
      path: /transaction/verify/{reference}
      operations:
      - name: transactionverify
        method: GET
        description: Paystack Verify Transaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transaction
      path: /transaction
      operations:
      - name: transactionlist
        method: GET
        description: Paystack List Transactions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transaction
      path: /transaction/{id}
      operations:
      - name: transactionfetch
        method: GET
        description: Paystack Fetch Transaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transaction-timeline
      path: /transaction/timeline/{id_or_reference}
      operations:
      - name: transactiontimeline
        method: GET
        description: Paystack Fetch Transaction Timeline
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transaction-totals
      path: /transaction/totals
      operations:
      - name: transactiontotals
        method: GET
        description: Paystack Transaction Totals
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transaction-export
      path: /transaction/export
      operations:
      - name: transactiondownload
        method: GET
        description: Paystack Export Transactions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transaction-charge-authorization
      path: /transaction/charge_authorization
      operations:
      - name: transactionchargeauthorization
        method: POST
        description: Paystack Charge Authorization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: transaction-check-authorization
      path: /transaction/check_authorization
      operations:
      - name: transactioncheckauthorization
        method: POST
        description: Paystack Check Authorization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: transaction-partial-debit
      path: /transaction/partial_debit
      operations:
      - name: transactionpartialdebit
        method: POST
        description: Paystack Partial Debit
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: transaction-event
      path: /transaction/{id}/event
      operations:
      - name: transactionevent
        method: GET
        description: Paystack Get Transaction Event
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transaction-session
      path: /transaction/{id}/session
      operations:
      - name: transactionsession
        method: GET
        description: Paystack Get Transaction Session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: charge
      path: /charge
      operations:
      - name: chargecreate
        method: POST
        description: Paystack Create Charge
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: charge-submit-pin
      path: /charge/submit_pin
      operations:
      - name: chargesubmitpin
        method: POST
        description: Paystack Submit PIN
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: charge-submit-otp
      path: /charge/submit_otp
      operations:
      - name: chargesubmitotp
        method: POST
        description: Paystack Submit OTP
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: charge-submit-phone
      path: /charge/submit_phone
      operations:
      - name: chargesubmitphone
        method: POST
        description: Paystack Submit Phone
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: charge-submit-birthday
      path: /charge/submit_birthday
      operations:
      - name: chargesubmitbirthday
        method: POST
        description: Paystack Submit Birthday
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: charge-submit-address
      path: /charge/submit_address
      operations:
      - name: chargesubmitaddress
        method: POST
        description: Paystack Submit Address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body.
          required: true
    - name: charge
      path: /charge/{reference}
      operations:
      - name: chargecheck
        method: GET
        description: Paystack Check Pending Charge
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      value: '{{env.PAYSTACK_SECRET_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: accept-payments-transaction-rest
    port: 8080
    description: REST adapter for Paystack Accept Payments API. One resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/transaction/initialize
      name: transaction-initialize
      description: REST surface for transaction-initialize.
      operations:
      - method: POST
        name: transactioninitialize
        description: Paystack Initialize Transaction
        call: accept-payments-transaction.transactioninitialize
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/transaction/verify/{reference}
      name: transaction-verify
      description: REST surface for transaction-verify.
      operations:
      - method: GET
        name: transactionverify
        description: Paystack Verify Transaction
        call: accept-payments-transaction.transactionverify
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transaction
      name: transaction
      description: REST surface for transaction.
      operations:
      - method: GET
        name: transactionlist
        description: Paystack List Transactions
        call: accept-payments-transaction.transactionlist
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transaction/{id}
      name: transaction
      description: REST surface for transaction.
      operations:
      - method: GET
        name: transactionfetch
        description: Paystack Fetch Transaction
        call: accept-payments-transaction.transactionfetch
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transaction/timeline/{id_or_reference}
      name: transaction-timeline
      description: REST surface for transaction-timeline.
      operations:
      - method: GET
        name: transactiontimeline
        description: Paystack Fetch Transaction Timeline
        call: accept-payments-transaction.transactiontimeline
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transaction/totals
      name: transaction-totals
      description: REST surface for transaction-totals.
      operations:
      - method: GET
        name: transactiontotals
        description: Paystack Transaction Totals
        call: accept-payments-transaction.transactiontotals
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transaction/export
      name: transaction-export
      description: REST surface for transaction-export.
      operations:
      - method: GET
        name: transactiondownload
        description: Paystack Export Transactions
        call: accept-payments-transaction.transactiondownload
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transaction/charge_authorization
      name: transaction-charge-authorization
      description: REST surface for transaction-charge-authorization.
      operations:
      - method: POST
        name: transactionchargeauthorization
        description: Paystack Charge Authorization
        call: accept-payments-transaction.transactionchargeauthorization
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/transaction/check_authorization
      name: transaction-check-authorization
      description: REST surface for transaction-check-authorization.
      operations:
      - method: POST
        name: transactioncheckauthorization
        description: Paystack Check Authorization
        call: accept-payments-transaction.transactioncheckauthorization
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/transaction/partial_debit
      name: transaction-partial-debit
      description: REST surface for transaction-partial-debit.
      operations:
      - method: POST
        name: transactionpartialdebit
        description: Paystack Partial Debit
        call: accept-payments-transaction.transactionpartialdebit
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/transaction/{id}/event
      name: transaction-event
      description: REST surface for transaction-event.
      operations:
      - method: GET
        name: transactionevent
        description: Paystack Get Transaction Event
        call: accept-payments-transaction.transactionevent
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transaction/{id}/session
      name: transaction-session
      description: REST surface for transaction-session.
      operations:
      - method: GET
        name: transactionsession
        description: Paystack Get Transaction Session
        call: accept-payments-transaction.transactionsession
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/charge
      name: charge
      description: REST surface for charge.
      operations:
      - method: POST
        name: chargecreate
        description: Paystack Create Charge
        call: accept-payments-transaction.chargecreate
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/charge/submit_pin
      name: charge-submit-pin
      description: REST surface for charge-submit-pin.
      operations:
      - method: POST
        name: chargesubmitpin
        description: Paystack Submit PIN
        call: accept-payments-transaction.chargesubmitpin
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/charge/submit_otp
      name: charge-submit-otp
      description: REST surface for charge-submit-otp.
      operations:
      - method: POST
        name: chargesubmitotp
        description: Paystack Submit OTP
        call: accept-payments-transaction.chargesubmitotp
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/charge/submit_phone
      name: charge-submit-phone
      description: REST surface for charge-submit-phone.
      operations:
      - method: POST
        name: chargesubmitphone
        description: Paystack Submit Phone
        call: accept-payments-transaction.chargesubmitphone
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/charge/submit_birthday
      name: charge-submit-birthday
      description: REST surface for charge-submit-birthday.
      operations:
      - method: POST
        name: chargesubmitbirthday
        description: Paystack Submit Birthday
        call: accept-payments-transaction.chargesubmitbirthday
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/charge/submit_address
      name: charge-submit-address
      description: REST surface for charge-submit-address.
      operations:
      - method: POST
        name: chargesubmitaddress
        description: Paystack Submit Address
        call: accept-payments-transaction.chargesubmitaddress
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/charge/{reference}
      name: charge
      description: REST surface for charge.
      operations:
      - method: GET
        name: chargecheck
        description: Paystack Check Pending Charge
        call: accept-payments-transaction.chargecheck
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: accept-payments-transaction-mcp
    port: 9090
    transport: http
    description: MCP adapter for Paystack Accept Payments API. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: paystack-initialize-transaction
      description: Paystack Initialize Transaction
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.transactioninitialize
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-verify-transaction
      description: Paystack Verify Transaction
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.transactionverify
      outputParameters:
      - type: object
        mapping: $.
    - name: paystack-list-transactions
      description: Paystack List Transactions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.transactionlist
      outputParameters:
      - type: object
        mapping: $.
    - name: paystack-fetch-transaction
      description: Paystack Fetch Transaction
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.transactionfetch
      outputParameters:
      - type: object
        mapping: $.
    - name: paystack-fetch-transaction-timeline
      description: Paystack Fetch Transaction Timeline
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.transactiontimeline
      outputParameters:
      - type: object
        mapping: $.
    - name: paystack-transaction-totals
      description: Paystack Transaction Totals
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.transactiontotals
      outputParameters:
      - type: object
        mapping: $.
    - name: paystack-export-transactions
      description: Paystack Export Transactions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.transactiondownload
      outputParameters:
      - type: object
        mapping: $.
    - name: paystack-charge-authorization
      description: Paystack Charge Authorization
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.transactionchargeauthorization
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-check-authorization
      description: Paystack Check Authorization
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.transactioncheckauthorization
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-partial-debit
      description: Paystack Partial Debit
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.transactionpartialdebit
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-get-transaction-event
      description: Paystack Get Transaction Event
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.transactionevent
      outputParameters:
      - type: object
        mapping: $.
    - name: paystack-get-transaction-session
      description: Paystack Get Transaction Session
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.transactionsession
      outputParameters:
      - type: object
        mapping: $.
    - name: paystack-create-charge
      description: Paystack Create Charge
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.chargecreate
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-submit-pin
      description: Paystack Submit PIN
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.chargesubmitpin
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-submit-otp
      description: Paystack Submit OTP
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.chargesubmitotp
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-submit-phone
      description: Paystack Submit Phone
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.chargesubmitphone
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-submit-birthday
      description: Paystack Submit Birthday
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.chargesubmitbirthday
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-submit-address
      description: Paystack Submit Address
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: accept-payments-transaction.chargesubmitaddress
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: paystack-check-pending-charge
      description: Paystack Check Pending Charge
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: accept-payments-transaction.chargecheck
      outputParameters:
      - type: object
        mapping: $.