openapi: 3.2.0
info:
title: Tribe Payments Process API
version: 3.0.0
description: 'Operations tagged Process across 2 of this provider''s published API definitions: tribe-payments-trb-cc-api-merchant-api-credit-card-callback-v3.json, tribe-payments-trb-cc-api-merchant-api-credit-card-v3.json. Each path carries the servers of the definition it was published in.'
servers:
- url: http://127.0.0.1:10010/v3
security:
- accountId: []
accountPassword: []
tags:
- name: Process
paths:
/registered-process-address:
post:
tags:
- Process
summary: ''
operationId: postprocess
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Process'
responses:
'200':
description: 'Expected response: HTTP status code 200'
servers:
- url: http://127.0.0.1:10010/v3
/process:
post:
tags:
- Process
summary: ''
operationId: postprocess
requestBody:
description: "To process a transaction without cardholder details, use card hash received in the webhook response of any previous API call.\n Depending on the provided operationType, three actions can be done: [`Authorize`](#actions--authorize), [`Sale`](#actions--sale) or [`Credit`](#actions--credit) request.\n In some cases, a 3DS authentication procedure is required to successfully complete such an action.\n For more details, please refer to [`3DS required`](#webhooks--3ds-authentication-required).\n After processing the request, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Process`](#webhooks--process) webhook."
content:
application/json:
schema:
$ref: '#/components/schemas/Process_2'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/responseSuccess'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/responseError'
'401':
description: Unauthorized Request
content:
application/json:
schema:
$ref: '#/components/schemas/responseUnauthorized'
'403':
description: Forbidden Request
content:
application/json:
schema:
$ref: '#/components/schemas/responseForbidden'
servers:
- url: http://127.0.0.1:10010/v3
components:
schemas:
ProcessTransaction:
type: object
description: Object containing data for the transaction
properties:
id:
description: Transaction ID
type: string
example: '397209271826453991'
maxLength: 16
minLength: 16
date:
description: 'Transaction date in UTC. ISO 8601 format: `YYYY-MM-DD hh:ii:ss`'
type: string
example: '2023-06-01 11:21:15'
maxLength: 19
minLength: 19
orderId:
description: Custom merchant’s reference
type: string
example: '32131231231241'
maxLength: 32
minLength: 1
parentId:
description: Parent transaction ID for `Cancel`, `Capture`, `Incremental authorize`, `Refund`, etc.
type: string
example: '675689811821989225'
maxLength: 19
minLength: 16
code:
description: '[`Transaction error code`](#appendix--enum--transaction-error-code)'
type: string
example: '000'
maxLength: 5
minLength: 3
message:
description: '[`Transaction error message`](#appendix--transaction-error-code)'
type: string
example: Transaction successfully completed
maxLength: 100
minLength: 1
errorDescription:
description: Error description
type: string
example: null
maxLength: 100
minLength: 1
expirationDate:
description: Expiration date
type: string
example: '2023-06-01 08:01:01'
maxLength: 19
minLength: 19
status:
description: The transaction status can be `true` (for authorized transactions) or `false` (for unauthorized transactions)
type: string
example: 'true'
maxLength: 20
minLength: 1
statementDescriptor:
description: Transaction descriptor text that appears on a customer's credit card statement
type: string
example: onlinemerchant.com
maxLength: 50
minLength: 1
type:
description: '[`Transaction type`](#appendix--enum--transaction-type)'
type: integer
example: 4
required:
- id
- date
- orderId
- code
- message
- errorDescription
- status
- type
Process:
title: process
properties:
webhook:
$ref: '#/components/schemas/ProcessWebhook'
requestId:
description: Unique request ID received after a successful initial request for the appropriate action
type: string
example: a06a73c9-d1d7-11ec-8b58-2e8a68cda573
maxLength: 36
minLength: 36
transaction:
$ref: '#/components/schemas/ProcessTransaction'
card:
$ref: '#/components/schemas/ProcessCard'
type: object
required:
- requestId
ProcessCard:
type: object
description: Object containing the transaction card details
properties:
hash:
description: Card Number and Customer ID tokenized card identifier
type: string
example: 6899a2bb31fe4fcb619f8cac7f8d300e
maxLength: 50
minLength: 1
required:
- hash
ProcessWebhook:
type: object
description: Object containing the webhook data
properties:
id:
description: Unique webhook ID
type: string
example: '545522349919700221'
maxLength: 16
minLength: 16
type:
description: '[Webhook Type]
| Type | Description |
|---|
| transaction_cc | Credit Card Transaction webhook for transaction change event |
| transaction_cc_3ds | Credit Card Transaction webhook for the event that requires 3DS confirmation |
'
type: string
example: transaction_cc
maxLength: 255
minLength: 3
required:
- id
- type
ProcessShippingLocation:
type: object
description: Object containing the transaction shipping location data
properties:
countryCode:
description: Customer’s billing country. [`Country list`](#appendix--enum--country)
type: string
example: GB
maxLength: 2
minLength: 2
state:
description: 'State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL'
type: string
example: AL
maxLength: 3
minLength: 1
city:
description: Customer’s billing city
type: string
example: City
maxLength: 85
minLength: 1
address:
description: Customer’s billing address
type: string
example: Address 11
maxLength: 100
minLength: 1
zipCode:
description: Customer’s billing ZIP code
type: string
example: GU16 7HF
maxLength: 20
minLength: 1
Process_2:
title: process
properties:
operationType:
description: 'Possible operations: sale, authorize, credit'
type: string
example: sale
maxLength: 20
minLength: 1
transaction:
$ref: '#/components/schemas/ProcessTransaction_2'
card:
$ref: '#/components/schemas/ProcessCard_2'
shippingLocation:
$ref: '#/components/schemas/ProcessShippingLocation'
customer:
$ref: '#/components/schemas/ProcessCustomer'
receiver:
$ref: '#/components/schemas/ProcessReceiver'
type: object
required:
- operationType
ProcessCard_2:
type: object
description: Object containing the transaction card details
properties:
securityCode:
description: '**Conditional parameter:** The CVV or CVC of the card. Whether this parameter is mandatory or optional depends on your integration.'
type: string
example: '000'
maxLength: 4
minLength: 3
hash:
description: Tokenized card identifier
type: string
example: 6899a2bb31fe4fcb619f8cac7f8d300e
maxLength: 32
minLength: 32
required:
- hash
violationObjectForbidden:
title: Validation object
properties:
code:
description: '[`Response code`](#appendix--enum--response-code)'
type: string
maxLength: 5
minLength: 3
example: '4001'
message:
description: '[`Response message`](#appendix--enum--response-code)'
type: string
maxLength: 50
minLength: 1
example: Company is disabled
type: object
responseSuccess:
title: Success response
properties:
requestId:
description: Request ID
type: string
example: b44724c9-3844-450d-b36a-986fc9c38d7b
maxLength: 36
minLength: 36
type: object
responseUnauthorized:
properties:
requestId:
description: Request ID
type: string
example: b44724c9-3844-450d-b36a-986fc9c38d7b
maxLength: 36
minLength: 36
message:
description: Request ID
type: string
example: Unauthorized request
violations:
type:
- array
- 'null'
items:
type: string
example: []
type: object
responseError:
title: Error response
properties:
requestId:
description: Request ID
type: string
example: b44724c9-3844-450d-b36a-986fc9c38d7b
maxLength: 36
minLength: 36
message:
description: Error response
type: string
example: Error occurred
violations:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/violationObject'
type: object
ProcessReceiver:
type: object
description: Object containing data of the transaction receiver
properties:
firstName:
description: '**Conditional parameter**: Receiver’s first name. For institutions, their name must be encoded through the `firstName` and `lastName` parameters. It is required if the MCC is 6536 or 6537 (MoneySend Payment).'
type: string
example: Firstname
maxLength: 35
minLength: 1
lastName:
description: '**Conditional parameter**: Receiver’s last name. For institutions, their name must be encoded through the `firstName` and `lastName` parameters. It is required if the MCC is 6536 or 6537 (MoneySend Payment).'
type: string
example: Lastname
maxLength: 35
minLength: 1
responseForbidden:
properties:
requestId:
description: Request ID
type: string
example: b44724c9-3844-450d-b36a-986fc9c38d7b
maxLength: 36
minLength: 36
message:
description: Request ID
type: string
example: Error occurred
violations:
type: array
items:
$ref: '#/components/schemas/violationObjectForbidden'
type: object
ProcessCustomer:
type: object
description: Object containing data of the actual transaction customer
properties:
id:
description: Unique identifier of the customer in the merchant’s system. Used for applying limits to the customer
type: string
example: user123
maxLength: 50
minLength: 1
phone:
description: '**Conditional parameter:** The customer''s phone number is required if the customer''s email address is not provided and `operationType` is `sale` or `authorize`. **Format:** The parameter must include a valid country code and a phone number of the correct length. Only numbers and an optional `+` symbol are allowed.'
type: string
example: 0123456789
maxLength: 20
minLength: 3
email:
description: '**Conditional parameter**: The customer’s email address is mandatory if the customer’s phone number is not provided and `operationType` is `sale` or `authorize`.'
type: string
example: email@email.com
maxLength: 50
minLength: 6
dateOfBirth:
description: 'Customer’s date of birth. ISO 8601 format: `YYYY-MM-DD`. Required by some providers or when MCC is 6012'
type: string
example: '2000-01-01'
maxLength: 10
minLength: 10
countryCode:
description: Customer’s billing country. [`Country list`](#appendix--enum--country). Might be mandatory for some integrations.
type: string
example: GB
maxLength: 2
minLength: 2
state:
description: 'State or province of the customer’s billing address, as defined in ISO 3166-2, e.g. US Alabama: AL'
type: string
example: AL
maxLength: 3
minLength: 1
city:
description: Customer’s billing city. Might be mandatory for some integrations
type: string
example: City
maxLength: 85
minLength: 1
address:
description: Customer’s billing address. Might be mandatory for some integrations
type: string
example: Address
maxLength: 100
minLength: 1
zipCode:
description: Customer’s billing ZIP code. Might be mandatory for some integrations
type: string
example: GU16 7HF
maxLength: 20
minLength: 1
ip:
description: IPv4 or IPv6 address
type: string
example: 1.1.1.1
maxLength: 40
minLength: 7
ProcessTransaction_2:
type: object
description: Object containing data for the transaction
properties:
amount:
description: Number in minor units, e.g. cents. To charge €10, provide 1000 (as the EUR minor unit is cents). Meanwhile, for a ¥10 charge, provide 10 (as the JPY minor unit is the whole unit, i.e., it does not have cents).
type: string
example: '123'
maxLength: 13
minLength: 1
currencyCode:
description: Currency ISO 4217 code
type: string
example: EUR
maxLength: 3
minLength: 3
orderId:
description: Custom merchant’s reference
type: string
example: '32131231231241'
maxLength: 32
minLength: 1
descriptor:
description: Custom descriptor
type: string
example: descriptor
maxLength: 22
minLength: 1
typeOf3ds:
description: '[`3DS Type`]
| KEY |
3DS Type |
Description |
| 1 |
Attempt 3DS |
Processing transactions regardless card enrollment in 3DS. |
| 2 |
Soft 3DS |
Processing transactions with cards enrolled in 3DS. |
| 3 |
No 3DS |
Processing transactions by skipping card 3DS verification at all. |
| 4 |
Hard 3DS |
Processing transactions only with full 3DS verification the cardholder. |
'
type: integer
example: 2
deviceChannel:
description: '[`Device channel value.`](#appendix--enum--device-channel-values) The default value is `02`'
type: string
example: '02'
maxLength: 2
minLength: 2
mitParentTransactionId:
description: Transaction ID of the initial MIT transaction
type: string
example: '497709221425450974'
maxLength: 19
minLength: 5
mitMessageReasonCode:
description: '[`The MIT message reason code `]
| Scheme |
Code |
Description |
| Mastercard |
ps |
Partial Shipment |
| Mastercard |
in |
Installment |
| Mastercard |
so |
Standing Order (variable amount, fixed frequency) |
| Mastercard |
sf |
Subscription (fixed amount, fixed frequency) |
| Mastercard |
uco |
Unscheduled Credential On File |
| Visa |
inc |
Incremental Authorization Transaction |
| Visa |
rea |
Reauthorization Transaction |
| Visa, Mastercard |
res |
Resubmission Transaction |
| Visa, Mastercard |
del |
Delayed Charges Transaction |
| Visa, Mastercard |
ns |
No Show Transaction |
'
type: string
example: ps
maxLength: 3
minLength: 2
redirectUrlFor3ds:
description: Redirect URL for 3DS
type: string
example: https://urlfor3ds.com
maxLength: 255
minLength: 1
category:
description: 'MOTO category
| Value |
Comment |
| MO |
Mail order |
| TO |
Telephone order |
| MOTO |
Mail order Telephone order |
'
type: string
example: MO
maxLength: 4
minLength: 2
required:
- amount
- currencyCode
- orderId
- redirectUrlFor3ds
violationObject:
title: Validation object
properties:
propertyPath:
description: Path of parameter causing an error. Null for general errors
type:
- string
- 'null'
example: parameterName
maxLength: 50
minLength: 1
code:
description: '[`Response code`](#appendix--enum--response-code)'
type: string
maxLength: 5
minLength: 3
example: '2000'
message:
description: '[`Response message`](#appendix--enum--response-code)'
type: string
maxLength: 50
minLength: 1
example: Value is not provided
type: object
securitySchemes:
accountId:
type: apiKey
in: header
name: x-auth-account-id
accountPassword:
type: apiKey
in: header
name: x-auth-account-password
x-refined-from:
- tribe-payments-trb-cc-api-merchant-api-credit-card-callback-v3.json
- tribe-payments-trb-cc-api-merchant-api-credit-card-v3.json