openapi: 3.2.0 info: title: Tribe Payments Sale API version: '1.0' description: 'Operations tagged Sale across 4 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, tribe-payments-trb-cc-token-api-merchant-api-credit-card-token-v3.json, tribe-payments-trb-cc-token-api-merchant-api-credit-card-token-webhook-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: Sale paths: /registered-sale-address: post: tags: - Sale summary: '' operationId: postsale requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/Sale' responses: '200': description: 'Expected response: HTTP status code 200' servers: - url: http://127.0.0.1:10010/v3 /sale: post: tags: - Sale summary: '' operationId: postsale requestBody: description: "To charge the card directly, make a Sale transaction. Upon successful Sale transaction,\n funds are transferred from the cardholder to the merchant, 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 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 [`Sale`](#webhooks--sale) webhook." content: application/json: schema: $ref: '#/components/schemas/Sale_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: SaleTransaction: type: object description: Object containing data of the Sale 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 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 currencyCode: description: Currency ISO 4217 code type: string example: EUR maxLength: 3 minLength: 3 type: description: '[`Transaction type`](#appendix--enum--transaction-type)' type: integer example: 1 required: - id - date - orderId - code - message - errorDescription - status - type SaleCard: type: object description: Object containing the Sale transaction card details properties: hash: description: Card Number and Customer ID tokenized card identifier type: string example: 6899a2bb31fe4fcb619f8cac7f8d300e maxLength: 50 minLength: 1 required: - hash SaleWebhook: type: object description: Object containing the Sale 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 Sale: title: sale properties: webhook: $ref: '#/components/schemas/SaleWebhook' 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/SaleTransaction' card: $ref: '#/components/schemas/SaleCard' 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 responseSuccess: title: Success response properties: requestId: description: Request ID type: string example: b44724c9-3844-450d-b36a-986fc9c38d7b maxLength: 36 minLength: 36 type: object SaleTransaction_2: type: object description: Object containing data of the Sale 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 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 SaleRecurring: type: object description: Object containing data of the recurring Sale payment 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 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 SaleCustomer: type: object description: Object containing the Sale customer data 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 SaleCard_2: type: object description: Object containing the Sale 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 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 Sale_2: title: sale properties: transaction: $ref: '#/components/schemas/SaleTransaction_2' card: $ref: '#/components/schemas/SaleCard_2' shippingLocation: $ref: '#/components/schemas/SaleShippingLocation' customer: $ref: '#/components/schemas/SaleCustomer' recurring: $ref: '#/components/schemas/SaleRecurring' type: object SaleShippingLocation: type: object description: Object containing the Sale 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 SaleShippingLocation_2: type: object 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: 10 minLength: 4 responseSuccess_2: title: Success response properties: requestId: description: Request ID type: string example: b44724c9-3844-450d-b36a-986fc9c38d7b type: object PaymentMethod: type: object properties: type: description: Payment method type. type: string enum: - googlePay - applePay example: googlePay token: description: The base64-encoded Google Pay or Apple Pay token. type: string example: eyJzaWdUjnXFx1AzZFwifSJ9XFx1AzZFwifSJ9XFx1AzZFwXFx1AzZFwifSJ9XFx1AzZFwifSJ9XFx1AzZFwifSJ9ifSJ9XFx1AzZFwifSJ9XFx1AzZFwifSJ9...XFx1AzZFwifSJ9 minLength: 200 maxLength: 5000 required: - type - token responseError_2: title: Error response properties: requestId: description: Request ID type: string example: b44724c9-3844-450d-b36a-986fc9c38d7b message: description: Error response type: string example: Error occurred violations: type: - array - 'null' items: $ref: '#/components/schemas/violationObject_2' type: object SaleCustomer_2: type: object 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: Customer’s phone number. Only numbers and, optionally, "+" symbol can be used type: string example: 0123456789 maxLength: 20 minLength: 3 email: description: Customer’s email address 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) 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 name: description: Customer’s name type: string example: Name maxLength: 26 minLength: 3 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: 10 minLength: 4 ip: description: IPv4 or IPv6 address type: string example: 1.1.1.1 maxLength: 40 minLength: 7 required: - email - countryCode - name - ip violationObject_2: 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: '2001' message: description: '[`Response message`](#appendix--enum--response-code)' type: string maxLength: 50 minLength: 1 example: Value is not provided type: object Sale_3: title: Sale properties: transaction: $ref: '#/components/schemas/SaleTransaction_3' shippingLocation: $ref: '#/components/schemas/SaleShippingLocation_2' customer: $ref: '#/components/schemas/SaleCustomer_2' paymentMethod: $ref: '#/components/schemas/PaymentMethod' type: object required: [] SaleTransaction_3: type: object properties: amount: description: Number in minor units, e.g. 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: 32 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`]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
KEY3DS TypeDescription
1Attempt 3DSProcessing transactions regardless card enrollment in 3DS.
2Soft 3DSProcessing transactions with cards enrolled with 3DS.
3No 3DSProcessing transactions by skipping card 3DS verification at all.
4Hard 3DSProcessing transactions only with full 3DS verification by the cardholder.
' type: integer example: 2 maxLength: 1 minLength: 1 deviceChannel: description: Device channel value. 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 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 required: - amount - currencyCode - orderId - redirectUrlFor3ds SaleTransaction_4: type: object properties: id: description: Transaction ID type: string example: '397209271826453991' maxLength: 16 minLength: 16 date: description: 'Transaction date. ISO 8601 format: YYYY-MM-DD' type: string example: '2023-06-01' maxLength: 10 minLength: 10 orderId: description: Custom merchant’s reference type: string example: '32131231231241' maxLength: 32 minLength: 1 code: description: '[`Response code`](#appendix--enum--response-code)' type: string example: '000' maxLength: 5 minLength: 3 message: description: '[`Response message`](#appendix--enum--response-code)' type: string example: Transaction successfully completed maxLength: 100 minLength: 1 status: description: Text representation of transaction status. Authorized or Not authorized 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: e.g. onlinemerchant.com type: string example: onlinemerchant.com maxLength: 50 minLength: 1 currencyCode: description: Currency ISO 4217 code type: string example: EUR maxLength: 3 minLength: 3 required: - id - date - orderId - code - message - status SaleCard_3: type: object properties: hash: description: Card Number and Customer ID tokenized card identifier type: string example: 6899a2bb31fe4fcb619f8cac7f8d300e maxLength: 50 minLength: 1 required: - hash SaleWebhook_2: type: object 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 3DS confirmation needed event
' type: string example: transaction_cc maxLength: 255 minLength: 3 required: - id - type Sale_4: title: Sale properties: webhook: $ref: '#/components/schemas/SaleWebhook_2' requestId: description: Unique request ID received after a successful initial request for the appropriate action type: string example: a06a73c9-d1d7-11ec-8b58-2e8a68cda573 maxLength: 16 minLength: 16 transaction: $ref: '#/components/schemas/SaleTransaction_4' card: $ref: '#/components/schemas/SaleCard_3' type: object required: - requestId 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 - tribe-payments-trb-cc-token-api-merchant-api-credit-card-token-v3.json - tribe-payments-trb-cc-token-api-merchant-api-credit-card-token-webhook-v3.json