TabaPay TransactionRequest API
This resource represents a TransactionRequest One-time Payment Portal (>)
This resource represents a TransactionRequest One-time Payment Portal (>)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/tabapay-transactionrequest-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: TabaPay APIs 3D Secure Transaction Request API
description: TabaPay Resource and Service Operations
version: 1.0.0
license:
name: All rights reserved
servers:
- url: https://{FQDN}:{PORT}
description: TabaPay APIs
variables:
FQDN:
default: FQDN
description: Contact [TabaPay Support](https://tabapay.zendesk.com/hc/en-us/requests/new) for the Fully Qualified Domain Name you should be using.
PORT:
default: PORT
description: Ensure you have the capability to access the PORT TabaPay specifies in your credentials file.
security:
- bearerAuth: []
tags:
- name: TransactionRequest
description: This resource represents a TransactionRequest One-time Payment Portal (<<glossary:OTPP>>)
paths:
/v2/clients/{ClientID}/transactionrequests:
post:
tags:
- TransactionRequest
summary: Create TransactionRequest
description: Creates a TransactionRequest One-time Payment Portal (<<glossary:OTPP>>).
operationId: createTransactionRequest
parameters:
- $ref: '#/components/parameters/ClientID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createTransactionRequest'
required: true
responses:
'200':
description: A Transaction is created and processing is completed.
content:
application/json:
schema:
$ref: '#/components/schemas/transactionRequestResponse'
example:
SC: 200
EC: '0'
otppid: TabaPay_OTPPID_22Chars
link: https://link/?ID=TabaPay_OTPPID_22Chars
components:
schemas:
transactionRequestResponse:
type: object
properties:
SC:
type: integer
description: HTTP Status Code
EC:
type: string
description: 'Internal Error Code.
Present if `SC` is `200`.'
EM:
type: string
description: Short Description of Error if `EC` is not `"0"`.
otppID:
type: string
description: '22-character TransactionRequestID (<<glossary:OTPP>>)
Present if `SC` is `200`.'
link:
type: string
description: 'URL
Present if `SC` is `200`.'
country:
type: string
description: '[Country Code](https://developers.tabapay.com/reference/country-codes#/)
*Optional. Default is `840`*'
pattern: ^[0-9]{3}$
example: '840'
line2:
type: string
description: 'Address Line 2
*Optional*'
pattern: ^[ a-zA-Z0-9._-]+$
state:
type: string
description: 'State Code
[State Code](https://developers.tabapay.com/reference/us-state-codes#/) must be a valid 2-character code if `country` is [840](https://developers.tabapay.com/reference/country-codes#/) or [Canadian 2-char code](https://developers.tabapay.com/reference/canadian-province-codes#/) if [124](https://developers.tabapay.com/reference/country-codes#/).'
pattern: ^[ a-zA-Z0-9_-]+$
amount:
type: string
description: See how to [properly format an amount](/reference/data#how-to-specify-an-amount-value).
pattern: ^[0-9]*.?[0-9]{0,4}$
city:
type: string
description: City
pattern: ^[ a-zA-Z0-9_-]+$
zipcode:
type: string
description: 'Zip Code
If `country` is `840`, `zipcode` must be 5 or 9 digits.
If country is `124`, `zipcode` must be in the *A1A 1A1* format.
Zip codes from other countries will not be checked.'
pattern: ^[ a-zA-Z0-9_-]+$
createTransactionRequest:
type: object
required:
- type
- amount
- customer
- callback
properties:
type:
type: string
description: Transaction Type. Currently, only `pull` is supported.
pattern: ^pull$
user1:
type: string
description: '1-15 character User1 Data.
*Optional*'
pattern: ^[ a-zA-Z0-9_-]{1,15}$
user2:
type: string
description: '1-15 character User2 Data.
*Optional*'
pattern: ^[ a-zA-Z0-9_-]{1,15}$
amount:
$ref: '#/components/schemas/amount'
customer:
type: object
required:
- name
description: Customer
properties:
name:
type: object
required:
- first
- last
description: Name
properties:
first:
type: string
description: First Name
pattern: ^[ a-zA-Z0-9_-]+$
last:
type: string
description: Last Name
pattern: ^[ a-zA-Z0-9_-]+$
address:
type: object
description: Address
required:
- line1
- city
- state
- zipcode
- country
properties:
line1:
$ref: '#/components/schemas/line1'
line2:
$ref: '#/components/schemas/line2'
city:
$ref: '#/components/schemas/city'
state:
$ref: '#/components/schemas/state'
zipcode:
$ref: '#/components/schemas/zipcode'
country:
$ref: '#/components/schemas/country'
callback:
type: object
required:
- type
- value
description: 'Callback, contact TabaPay.
Optional.'
properties:
type:
type: string
description: Currently, `URL` is the only value supported.
value:
type: string
description: URL String
line1:
type: string
description: Address Line 1
pattern: ^[ a-zA-Z0-9._-]+$
parameters:
ClientID:
name: ClientID
in: path
description: 22-character <<glossary:ClientID>>. Ask [TabaPay Support](https://tabapay.zendesk.com/hc/en-us/requests/new) if you need to specify a <<glossary:SubClientID>>.
required: true
style: simple
explode: false
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
custom-header:
type: apiKey
name: Authorization
in: header