Tap Payments

Tap Payments is a payment gateway and financial infrastructure provider for the Middle East and North Africa (MENA). Its REST API lets merchants accept online payments across the GCC and Egypt - cards (Visa, Mastercard, Amex), local schemes (mada in Saudi Arabia, KNET in Kuwait, Benefit in Bahrain), and wallets (Apple Pay, Google Pay) - through Charges and Authorize/Capture flows, with Tokens for saved cards, Customers, Refunds, Invoices, Payouts, and merchant onboarding via the Business API. Authentication is a secret API key passed as a Bearer token, with separate test and live keys issued from the Tap dashboard.

Tap Payments publishes 9 APIs on the APIs.io network, including Authorize API, Business API, Cards API, and 6 more. Tagged areas include Payments, Fintech, Payment Gateway, MENA, and Middle East.

Tap Payments’ developer surface includes authentication, documentation, and 8 more developer resources.

35.6/100 thin ▬ flat Agent 48/100 agent ready Full breakdown ↓
scored 2026-07-23 · rubric v0.5
AccessFreemiumSelf serve⚡ Free to try
10 APIs
PaymentsFintechPayment GatewayMENAMiddle EastOnline PaymentsChargesCardsKNETmadaFinancial Infrastructure

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-23 · rubric v0.5
Composite quality — 35.6/100 · thin
Contract Quality 15.3 / 25
Developer Ergonomics 3.9 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 3.4 / 13
Governance 0.0 / 12
Discoverability 6.8 / 10
Agent readiness — 48/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/tap-payments: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 10

Individual APIs this provider publishes, each with its own machine-readable definition.

Tap Payments Webhooks

Server-to-server HTTP POST callbacks (Instant Payment Notification) that Tap sends to your configured endpoint when a charge, authorize, invoice, or recurring payment changes st...

Tap Payments Authorize API

Authorize (hold) funds for later capture.

Tap Payments Business API

Business, merchant, and destination onboarding.

Tap Payments Cards API

Saved cards (card-on-file) attached to a customer.

Tap Payments Charges API

Charge a card or other payment source.

Tap Payments Customers API

Customer records for vaulting and recurring payments.

Tap Payments Invoices API

Hosted, payable invoices.

Tap Payments Payouts API

Settlements paid out to the merchant.

Tap Payments Refunds API

Refund a captured charge.

Tap Payments Tokens API

Single-use tokenization of cards and wallets.

Scroll for all 10

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Tap Payments API

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Tap Payments Rate Limits

2 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Tap Payments Authentication

http · 1 scheme

SECURITY

Tap Payments Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Tap Payments Agentic Access

29 operations · 13 acting

29 operations · 13 acting

AGENTIC

Resources

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
opencollection: 1.0.0
info:
  name: Tap Payments API
  version: '1.0'
request:
  auth:
    type: bearer
    token: '{{secretApiKey}}'
items:
- info:
    name: Charges
    type: folder
  items:
  - info:
      name: Create a charge.
      type: http
    http:
      method: POST
      url: https://api.tap.company/v2/charges
      body:
        type: json
        data: "{\n  \"amount\": 1,\n  \"currency\": \"KWD\",\n  \"threeDSecure\": true,\n  \"customer\": { \"first_name\"\
          : \"Test\", \"email\": \"test@example.com\" },\n  \"source\": { \"id\": \"src_card\" },\n  \"redirect\": { \"url\"\
          : \"https://example.com/return\" }\n}"
    docs: Initiates a charge to charge a card or other payment source.
  - info:
      name: List all charges.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/charges
    docs: Lists charges, filterable by date, status, method, customer, and charge id.
  - info:
      name: Retrieve a charge.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/charges/:charge_id
      params:
      - name: charge_id
        value: ''
        type: path
        description: The id of the charge.
    docs: Retrieves the details of a charge by its id.
  - info:
      name: Update a charge.
      type: http
    http:
      method: PUT
      url: https://api.tap.company/v2/charges/:charge_id
      params:
      - name: charge_id
        value: ''
        type: path
        description: The id of the charge.
      body:
        type: json
        data: "{\n  \"description\": \"Updated description\"\n}"
    docs: 'Updates mutable fields on a charge (modeled: verify method against the live reference).'
- info:
    name: Authorize
    type: folder
  items:
  - info:
      name: Create an authorize.
      type: http
    http:
      method: POST
      url: https://api.tap.company/v2/authorize
      body:
        type: json
        data: "{\n  \"amount\": 1,\n  \"currency\": \"KWD\",\n  \"customer\": { \"first_name\": \"Test\", \"email\": \"test@example.com\"\
          \ },\n  \"source\": { \"id\": \"src_card\" },\n  \"redirect\": { \"url\": \"https://example.com/return\" }\n}"
    docs: Authorizes (holds) funds on a card without capturing.
  - info:
      name: Retrieve an authorize.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/authorize/:authorize_id
      params:
      - name: authorize_id
        value: ''
        type: path
        description: The id of the authorize object.
    docs: Retrieves an authorize object by its id.
- info:
    name: Refunds
    type: folder
  items:
  - info:
      name: Create a refund.
      type: http
    http:
      method: POST
      url: https://api.tap.company/v2/refunds
      body:
        type: json
        data: "{\n  \"charge_id\": \"chg_XXXX\",\n  \"amount\": 1,\n  \"currency\": \"KWD\",\n  \"reason\": \"requested_by_customer\"\
          \n}"
    docs: Issues a full or partial refund against a captured charge.
  - info:
      name: List all refunds.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/refunds
    docs: Lists refunds, filterable by charge and date.
- info:
    name: Customers
    type: folder
  items:
  - info:
      name: Create a customer.
      type: http
    http:
      method: POST
      url: https://api.tap.company/v2/customers
      body:
        type: json
        data: "{\n  \"first_name\": \"Test\",\n  \"last_name\": \"User\",\n  \"email\": \"test@example.com\"\n}"
    docs: Creates a customer record used to save cards and reconcile future charges.
  - info:
      name: Retrieve a customer.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/customers/:customer_id
      params:
      - name: customer_id
        value: ''
        type: path
        description: The id of the customer.
    docs: Retrieves a customer by id.
  - info:
      name: List all customers.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/customers
    docs: Lists customers in the account.
- info:
    name: Tokens
    type: folder
  items:
  - info:
      name: Create a token (card).
      type: http
    http:
      method: POST
      url: https://api.tap.company/v2/tokens
      body:
        type: json
        data: "{\n  \"card\": {\n    \"number\": \"5123450000000008\",\n    \"exp_month\": 5,\n    \"exp_year\": 27,\n   \
          \ \"cvc\": \"100\",\n    \"name\": \"Test User\"\n  }\n}"
    docs: Tokenizes raw card data into a single-use token id. Tokens cannot be stored or reused.
  - info:
      name: Retrieve a token.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/tokens/:token_id
      params:
      - name: token_id
        value: ''
        type: path
        description: The id of the token.
    docs: Retrieves a token by its id.
- info:
    name: Cards
    type: folder
  items:
  - info:
      name: List all cards.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/card/:customer_id
      params:
      - name: customer_id
        value: ''
        type: path
        description: The id of the customer.
    docs: Lists the saved cards (card-on-file) stored against a customer (modeled path).
  - info:
      name: Retrieve a card.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/card/:customer_id/:card_id
      params:
      - name: customer_id
        value: ''
        type: path
        description: The id of the customer.
      - name: card_id
        value: ''
        type: path
        description: The id of the saved card.
    docs: Retrieves a saved card by id for a given customer (modeled path).
  - info:
      name: Delete a card.
      type: http
    http:
      method: DELETE
      url: https://api.tap.company/v2/card/:customer_id/:card_id
      params:
      - name: customer_id
        value: ''
        type: path
        description: The id of the customer.
      - name: card_id
        value: ''
        type: path
        description: The id of the saved card.
    docs: Deletes a saved card from a customer (modeled path).
- info:
    name: Invoices
    type: folder
  items:
  - info:
      name: Create an invoice.
      type: http
    http:
      method: POST
      url: https://api.tap.company/v2/invoices
      body:
        type: json
        data: "{\n  \"amount\": 10,\n  \"currency\": \"KWD\",\n  \"customer\": { \"first_name\": \"Test\", \"email\": \"test@example.com\"\
          \ }\n}"
    docs: Creates a hosted invoice that produces a payable link delivered by email or SMS.
  - info:
      name: List all invoices.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/invoices
    docs: Lists invoices in the account.
- info:
    name: Payouts
    type: folder
  items:
  - info:
      name: List all payouts.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/payouts
    docs: Lists settlements (payouts) deposited to the merchant's bank account.
  - info:
      name: Retrieve a payout.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/payouts/:payout_id
      params:
      - name: payout_id
        value: ''
        type: path
        description: The id of the payout.
    docs: Retrieves a payout (settlement) by id.
- info:
    name: Business
    type: folder
  items:
  - info:
      name: Create a business.
      type: http
    http:
      method: POST
      url: https://api.tap.company/v2/businesses
      body:
        type: json
        data: '{}'
    docs: Onboards a business entity for marketplace / platform settlement.
  - info:
      name: List all businesses.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/businesses
    docs: Lists onboarded businesses.
  - info:
      name: Retrieve a destination.
      type: http
    http:
      method: GET
      url: https://api.tap.company/v2/destinations/:destination_id
      params:
      - name: destination_id
        value: ''
        type: path
        description: The id of the settlement destination.
    docs: Retrieves a settlement destination (bank account) that funds are paid out to.
bundled: true