openapi: 3.2.0
info:
title: Tribe Payments Pre authorize API
version: 3.0.0
description: 'Operations tagged Pre authorize 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: Pre authorize
paths:
/registered-pre-authorize-address:
post:
tags:
- Pre authorize
summary: ''
operationId: postpre-authorize
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PreAuthorize'
responses:
'200':
description: 'Expected response: HTTP status code 200'
servers:
- url: http://127.0.0.1:10010/v3
/pre-authorize:
post:
tags:
- Pre authorize
summary: ''
operationId: postpre-authorize
requestBody:
description: "To authorize an amount and have the ability to authorize an additional amount later, make a Pre authorize transaction.\n Upon successful Pre authorize, funds are reserved on the cardholder's account and a transaction is created.\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 To authorize an additional amount, make an [`Incremental authorize`](#actions--incremental-authorize) transaction by providing the Pre authorize transaction ID.\n To charge this authorized amount, make a Capture transaction by providing the Pre authorize transaction ID.\n See [`Capture`](#actions--capture) for details.\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 [`Pre authorize`](#webhooks--pre-authorize) webhook."
content:
application/json:
schema:
$ref: '#/components/schemas/PreAuthorize_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:
PreAuthorizeCard:
type: object
description: Object containing the Pre Authorize transaction card details
properties:
hash:
description: Card Number and Customer ID tokenized card identifier
type: string
example: 6899a2bb31fe4fcb619f8cac7f8d300e
maxLength: 50
minLength: 1
required:
- hash
PreAuthorizeTransaction:
type: object
description: Object containing data of the Pre Authorize 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
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
avsCheckResponse:
description: '[`Address verification response code`](#appendix--enum--address-verification-response-code). The code will be returned if the Address Verification Service (AVS) was initiated in the request'
type: string
example: G
maxLength: 1
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: 101
required:
- id
- date
- orderId
- code
- message
- errorDescription
- status
- type
PreAuthorize:
title: pre-authorize
properties:
webhook:
$ref: '#/components/schemas/PreAuthorizeWebhook'
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/PreAuthorizeTransaction'
card:
$ref: '#/components/schemas/PreAuthorizeCard'
type: object
required:
- requestId
PreAuthorizeWebhook:
type: object
description: Object containing the Pre Authorize 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
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
PreAuthorizeRecurring:
type: object
properties:
paymentType:
description: 'Recurring payment type. Possible value: `2` - unscheduled Merchant Initiated Transaction (MIT) payment'
type: integer
example: 2
PreAuthorizeTransaction_2:
type: object
description: Object containing data of the Pre Authorize 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). For customer’s card verification use `0`
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
avsCheck:
description: 'Possible values: `true` or `false`. If the value is set to `true`, the Address Verification Service will be initiated'
type: boolean
example: true
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
redirectUrlFor3ds:
description: Redirect URL for 3DS
type: string
example: https://urlfor3ds.com
maxLength: 255
minLength: 1
cryptogram:
description: 'The unique cryptogram that is generated to validate the authorized use of the token for secure remote payments.
Optionally, the parameter can be provided together with 3DS data. Also, the parameter can be provided together with recurring/MIT (Merchant Initiated Transaction) parameters. For MIT (not subsequent), either 3DS or token, or both, are necessary.
The content of this field must be passed unmodified when provided by the Digital Wallet.'
type: string
example: ALnt+yWSJdXBACMLLWMNGgADFA==
maxLength: 255
minLength: 1
eciIndicator:
description: '[`ECI`]
The electronic commerce indicator must be passed unmodified when provided by a Digital Wallet and when received together with a "cryptogram".
| Value |
MasterCard |
Visa |
UnionPay |
JCB |
Amex |
Discover |
| 00 |
Non 3-D secure transaction |
Not applicable |
Not applicable |
Not applicable |
Not applicable |
Not applicable |
| 01 |
Attempted authentication |
Not applicable |
Not applicable |
Not applicable |
Not applicable |
Not applicable |
| 02 |
Fully authenticated (CIT) |
Not applicable |
Not applicable |
Not applicable |
Not applicable |
Not applicable |
| 05 |
Not applicable |
Fully authenticated |
Fully authenticated |
Fully authenticated |
Fully authenticated |
Fully authenticated |
| 06 |
Not applicable |
Attempted authentication |
Attempted authentication |
Attempted authentication |
Attempted authentication |
Attempted authentication |
| 07 |
Fully authenticated (MIT) |
Non 3-D secure transaction |
Non 3-D secure transaction |
Non 3-D secure transaction |
Non 3-D secure transaction |
Non 3-D secure transaction |
| 10 |
Not applicable |
Not applicable |
Used for customer not present authorizations when authentication was not used |
Not applicable |
Not applicable |
Not applicable |
'
type: string
example: '07'
maxLength: 2
minLength: 2
required:
- amount
- currencyCode
- orderId
- redirectUrlFor3ds
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
PreAuthorizeCustomer:
type: object
description: Object containing data of the customer to be pre authorized
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. **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.'
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. Required by some integrations with 3DS v2. Required if avs_check is `true`
type: string
example: City
maxLength: 85
minLength: 1
address:
description: Customer’s billing address. Required by some integrations with 3DS v2. Required if avs_check is `true`
type: string
example: Address
maxLength: 100
minLength: 1
zipCode:
description: Customer’s billing ZIP code. Required by some integrations with 3DS v2. Required if avs_check is `true`
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
required:
- ip
PreAuthorizeShippingLocation:
type: object
description: Object containing the Pre Authorize 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
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
PreAuthorize_2:
title: pre-authorize
properties:
transaction:
$ref: '#/components/schemas/PreAuthorizeTransaction_2'
card:
$ref: '#/components/schemas/PreAuthorizeCard_2'
shippingLocation:
$ref: '#/components/schemas/PreAuthorizeShippingLocation'
customer:
$ref: '#/components/schemas/PreAuthorizeCustomer'
recurring:
$ref: '#/components/schemas/PreAuthorizeRecurring'
type: object
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
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
PreAuthorizeCard_2:
type: object
description: Object containing the Pre Authorize transaction card details
properties:
number:
description: Customer’s card number
type: string
example: '5099993000018223'
maxLength: 22
minLength: 13
expirationMonth:
description: Card expiry month
type: integer
example: 12
expirationYear:
description: Card expiry year. Must be within the next 50 years
type: integer
example: 2028
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
holderName:
description: Customer’s full name
type: string
example: John Doe von Soap
maxLength: 26
minLength: 3
required:
- number
- expirationMonth
- expirationYear
- holderName
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