openapi: 3.2.0 info: title: Tribe Payments Authorize API version: 3.0.0 description: 'Operations tagged 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: Authorize paths: /registered-authorize-address: post: tags: - Authorize summary: '' operationId: postauthorize requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/Authorize' responses: '200': description: 'Expected response: HTTP status code 200' servers: - url: http://127.0.0.1:10010/v3 /authorize: post: tags: - Authorize summary: '' operationId: postauthorize requestBody: description: "To authorize an amount and charge the card later, make an Authorize transaction.\n Upon successful Authorize, funds are reserved in the cardholder's account, and a transaction record 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 charge the authorized amount, make a Capture transaction by providing the initial Authorize transaction ID.\n See [`Capture`](#actions--capture) for details.\n After the request is processed, a webhook will be sent to your URL specified in the Processing Account setup.\n For more details, refer to the [`Authorize`](#webhooks--authorize) webhook." content: application/json: schema: $ref: '#/components/schemas/Authorize_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: AuthorizeTransaction: type: object description: Object containing data of the 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: 4 required: - id - date - orderId - code - message - errorDescription - status - type AuthorizeWebhook: type: object description: Object containing the Authorize webhook data properties: id: description: Unique webhook ID type: string example: '545522349919700221' maxLength: 16 minLength: 16 type: description: '[Webhook Type]
TypeDescription
transaction_ccCredit Card Transaction webhook for transaction change event
transaction_cc_3dsCredit Card Transaction webhook for the event that requires 3DS confirmation
' type: string example: transaction_cc maxLength: 255 minLength: 3 required: - id - type AuthorizeCard: type: object description: Object containing the 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 Authorize: title: authorize properties: webhook: $ref: '#/components/schemas/AuthorizeWebhook' 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/AuthorizeTransaction' card: $ref: '#/components/schemas/AuthorizeCard' type: object required: - requestId 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 AuthorizeShippingLocation: type: object description: Object containing the 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 Authorize_2: title: authorize properties: transaction: $ref: '#/components/schemas/AuthorizeTransaction_2' card: $ref: '#/components/schemas/AuthorizeCard_2' shippingLocation: $ref: '#/components/schemas/AuthorizeShippingLocation' customer: $ref: '#/components/schemas/AuthorizeCustomer' recurring: $ref: '#/components/schemas/AuthorizeRecurring' 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 AuthorizeCustomer: type: object description: Object containing data of the customer to be 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 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 AuthorizeRecurring: type: object description: Object containing data of the recurring payment to be authorized properties: paymentType: description: 'Recurring payment type. Possible values: `1` - scheduled recurring payment; `2` - unscheduled MIT payment' type: integer example: 1 frequency: description: '[`Recurring frequency`](#appendix--enum--recurring-frequency). Mandatory if paymentType=1' type: integer example: 1 endDate: description: 'Recurring end date. Format: `YYYYMMDD`. Mandatory if paymentType=1' type: string example: '20230901' maxLength: 8 minLength: 8 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 AuthorizeCard_2: type: object description: Object containing the 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 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 AuthorizeTransaction_2: type: object description: Object containing data of the 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 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 paymentTypeIndicator: description: The parameter handles the [`payment transaction type`](#appendix--enum--payment-transaction-type-indicator). Required for Mastercard and Visa money transfers as well as Account Funding transactions type: string example: C07 maxLength: 3 minLength: 2 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 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