FinteqHub API Reference

Download OpenAPI specification:Download

The Processing API provides you an interface to seamlessly integrate with FinteqHub for managing transactions from your customers.

Key features:

  • Retrieve available payment methods.
  • Initiate transactions.
  • Receive merchant callbacks.
  • Retrieve transaction results.
  • Manage customer accounts.

Cashier

Cashier - Merchant Integration Guide

Cashier is FinteqHub's payment widget solution that provides a seamless, iframe-based payment interface for merchants. From the merchant's perspective, Cashier enables you to:

  • Accept Multiple Payment Methods: Automatically display available payment methods to customers
  • Secure Payment Processing: Handle sensitive payment data without PCI compliance burden
  • Customer Account Management: Allow customers to save payment methods for future use
  • Flexible Integration: Simple iframe embedding with minimal code changes

Integration Overview

  1. Backend Setup: Create initTokens on your server using merchant credentials
  2. Frontend Integration: Embed the Cashier widget iframe in your checkout page
  3. Authorization Flow: Handle authentication tokens and callbacks

Key Benefits for Merchants

  • Security: Payment data never touches merchant servers
  • Compliance: PCI DSS scope reduction
  • User Experience: Consistent, optimized payment interface
  • Flexibility: Support for various payment methods and flows

Integration Roadmap

Follow these steps to integrate Cashier into your payment flow:

1. Generate InitToken (Backend)

Create JWE-encrypted initToken on your server before displaying the payment form.

Complete Ruby and Python implementation examples are provided separately and available locally upon request.

# Simplified example
def create_init_token(project_token, project_id, project_token_id, merchant_id, business_data):
    # 1. Generate unique metadata (jti, iat, exp)
    jti = str(uuid.uuid4())
    iat = int(datetime.now(timezone.utc).timestamp())
    exp = iat + 3600  # 1 hour expiry
    
    # 2. Encrypt system identifiers using AES-GCM
    # 3. Create JWE token with business payload
    return jwe_token  # Returns JWE compact serialization

2. Embed Cashier Widget (Frontend)

Install and configure the Cashier widget using the CDN or types package.

Widget Repository:

CDN Installation:

<script src="https://cdn.finteqhub.com/finteqhub-cashier.js"></script>

Types Package (Optional - for TypeScript support):

npm install --save-dev @finteqhub/cashier-types

Widget Integration:

<script>
  const widget = new FinteqHubCashier({
    initToken: "your_generated_init_token",
    bonuses: [],
    lotteries: [],
    balance: 1000,
    locale: 'en',
    theme: 'dark',      // Optional: 'light' or 'dark'
    autoClose: true,    // Optional: auto-close on user close action
  });
  
  // Open the widget
  widget.open();
  
  // Handle widget events
  widget.onEvent((event) => {
    if (event.type === 'PAYMENT_SUCCESS') {
      console.log('Payment successful:', event.payload);
      widget.close();
    }
    
    if (event.type === 'WIDGET_TRIGGER_CLOSE') {
      // Widget closes automatically if autoClose is true
      console.log('Widget closed by user');
      widget.close();
    }
    
    if (event.type === 'BONUSES_PROMOCODE_SUBMITTED') {
      console.log('Promocode:', event.payload.promocode);
      widget.setOptions({
        bonuses: [
          {
            id: "welcome",
            name: "Welcome Bonus", 
            description: "100% up on your first deposit"
          }
        ]
      });
    }
  });
</script>

3. Handle Authorization Requests (Backend)

Implement authorization endpoint to approve/decline payments in real-time.

4. Process Callbacks (Backend)

Handle payment status notifications from FinteqHub.

Flow Diagram

sequenceDiagram
    participant M as Merchant Backend
    participant F as Merchant Frontend
    participant C as Cashier Widget
    participant FTH as FinteqHub
    participant PSP as Payment Provider
    
    M->>M: Generate initToken
    F->>C: Initialize widget(initToken)
    C->>FTH: Payment request
    FTH->>M: Authorization request
    
    alt Immediate Decision
        M-->>FTH: approve/decline (HTTP 201)
        FTH->>PSP: Process payment
    else Delayed Authorization (not implemented)
        M-->>FTH: waiting_authorization (HTTP 201)
        Note over M: Manual review process
        M->>FTH: Merchant Authorization Callback
        FTH->>PSP: Process payment
    end
    
    PSP-->>FTH: Payment result
    FTH->>M: Payment callback
    FTH->>C: Update status
    C->>F: Payment event

InitToken Creation Process

Business Payload Structure:

{
  "currencyCode": "USD",
  "customer": {
    "merchantCustomerId": "CUST-12345",
    "name": "John Doe",
    "email": "[email protected]",
    "countryCode": "US"
  },
  "session": {
    "ip": "192.168.1.100"
  }
}

Widget API Methods

Available Methods:

  • widget.open(options?) - Opens the widget, optionally with new configuration
  • widget.close() - Closes the widget
  • widget.setOptions(newOptions) - Updates widget configuration dynamically
  • widget.onEvent(callback) - Registers event handler for widget events

Key Event Types:

  • PAYMENT_SUCCESS - Payment completed successfully
  • PAYMENT_FAILED - Payment failed or was cancelled
  • WIDGET_TRIGGER_CLOSE - User requested widget close
  • BONUSES_PROMOCODE_SUBMITTED - User submitted a promocode
  • WIDGET_READY - Widget fully loaded and ready
  • METHOD_SELECTED - Payment method was selected

Event Structure: Each event object contains type (string) and payload (any) properties with relevant data.

Credentials Parameters (Full Reference)

This section lists all credential parameters that may appear in cashier credential forms across payment methods. For each parameter we show a practical example, expected length (min/max), and the validation format when applicable. Formats map to gateway validators: email, iso3166-alpha-2, iso3166-alpha-3, iso4217-currency-code, date, date-time, E.164, postal-code, uri, bcp47-language, rfc6557-time-zone, uuid, decimal, IPv4, IPv6, IP-dual-stack.

Note: Availability and required/optional status depend on the payment method and integration. Use Get Payment Methods to fetch actual fields and constraints per method. Fields marked “not implemented” are reserved and may be ignored by current integrations.

credentials:
  countryCode:
    example: "US"
    minLength: 2
    maxLength: 2
    format: iso3166-alpha-2
    description: Customer’s country
  integrationCustomerId:
    example: "CUST-123456"
    minLength: 0
    maxLength: 64
    format: string
    description: Unique identifier of Customer on Integration’s side
  firstName:
    example: "John"
    minLength: 0
    maxLength: 50
    format: string
    description: Customer’s first name
  lastName:
    example: "Doe"
    minLength: 0
    maxLength: 50
    format: string
    description: Customer’s last name
  middleName:
    example: "A"
    minLength: 0
    maxLength: 50
    format: string
    description: Customer’s middle name
  fullName:
    example: "John A Doe"
    minLength: 0
    maxLength: 50
    format: string
    description: Customer’s full name
  userName:
    example: "john_doe"
    minLength: 0
    maxLength: 50
    format: string
    description: Customer’s username on merchant side
  identificationNumber:
    example: "A123456789"
    minLength: 0
    maxLength: 50
    format: string
    description: National identification number
  document:
    example: "AO1234567"
    minLength: 0
    maxLength: 50
    format: string
    description: Customer’s identifier (document) number
  documentType:
    example: "passport"
    minLength: 0
    maxLength: 255
    format: string
    description: Document type (passport, id-card, residence-permit)
  documentIssueDate:
    example: "2023-05-15"
    minLength: 10
    maxLength: 10
    format: date
    description: Document issue date (YYYY-MM-DD)
  birthDate:
    example: "1985-04-12"
    minLength: 10
    maxLength: 10
    format: date
    description: Date of birth (YYYY-MM-DD)
  yearOfBirth:
    example: "1985"
    minLength: 4
    maxLength: 4
    format: string
    description: Year of birth (YYYY)
  nationality:
    example: "US"
    minLength: 2
    maxLength: 2
    format: iso3166-alpha-2
    description: Customer nationality (prefer countryCode when possible)
  gender:
    enum: ["Male", "Female"]
    format: enum
    description: Customer’s gender
  email:
    example: "[email protected]"
    minLength: 4
    maxLength: 254
    format: email
    description: Customer’s email
  phoneNumber:
    example: "5551234567"
    minLength: 5
    maxLength: 15
    format: string
    description: Customer’s phone number without country code
  phoneCountryCode:
    example: "1"
    minLength: 0
    maxLength: 5
    format: E.164
    description: Country phone code (without "+")
  accountPhoneNumber:
    example: "5559876543"
    minLength: 5
    maxLength: 15
    format: string
    description: Customer’s account phone number (integration account)
  accountPhoneCountryCode:
    example: "1"
    minLength: 0
    maxLength: 5
    format: E.164
    description: Country phone code for integration account (without "+")
  cpf:
    example: "12345678901"
    minLength: 0
    maxLength: 11
    format: string
    description: Brazil CPF (taxpayer registry number)
  language:
    example: "en"
    minLength: 2
    maxLength: 2
    format: bcp47-language
    description: Customer’s language
  merchantCustomerAccountId:
    example: "ACCT-7890"
    minLength: 0
    maxLength: 255
    format: string
    description: Customer Account ID on merchant side

  account:
    example: "[email protected]"
    minLength: 0
    maxLength: 254
    format: string
    description: Unique account identifier on integration side (email for interac/interac-e-transfer)
  accountAddress:
    example: "0xAbC12345..."
    minLength: 0
    maxLength: 254
    format: string
    description: Cryptocurrency address
  accountTag:
    example: "123456"
    minLength: 0
    maxLength: 254
    format: string
    description: Cryptocurrency tag or memo
  wallet:
    example: "ewallet_abc123"
    minLength: 0
    maxLength: 254
    format: string
    description: Wallet identifier (integer for ecopayz)
  voucherPin:
    example: "9876543210"
    minLength: 0
    maxLength: 254
    format: string
    description: Voucher PIN code
  accountHolderName:
    example: "John Doe"
    minLength: 0
    maxLength: 50
    format: string
    description: Account holder’s name
  accountType:
    example: "savings"
    minLength: 0
    maxLength: 50
    format: string
    description: Account type
  password:
    example: "MySecret#2024"
    minLength: 0
    maxLength: 255
    format: string
    description: Account password
  upiNumber:
    example: "john@upi"
    minLength: 0
    maxLength: 100
    format: string
    description: UPI number
  skrillProjectCode:
    example: "AB123456"
    minLength: 8
    maxLength: 8
    format: string
    description: Skrill project code
  paymentOption:
    example: "bank-of-america"
    format: string
    description: Specific payment option (integration-defined)
  "steamData.steamId64":
    example: "76561198000000000"
    minLength: 0
    maxLength: 19
    format: string
    description: Steam ID 64
  tradeToken:
    example: "ABCDEFGH"
    minLength: 8
    maxLength: 8
    format: string
    description: Trade token
  partner:
    example: "steam"
    minLength: 0
    maxLength: 255
    format: string
    description: Partner identifier
  game:
    example: "csgo"
    minLength: 0
    maxLength: 255
    format: string
    description: Game identifier
  skinName:
    example: "AK-47 | Redline"
    minLength: 0
    maxLength: 255
    format: string
    description: Item/skin name

  "billingAddress.city":
    example: "New York"
    minLength: 0
    maxLength: 255
    format: string
    description: Billing city
  "billingAddress.state":
    example: "NY"
    minLength: 1
    maxLength: 6
    format: string
    description: Billing state/region code
  "billingAddress.countryCode":
    example: "US"
    minLength: 2
    maxLength: 2
    format: iso3166-alpha-2
    description: Billing country code
  "billingAddress.address":
    example: "350 5th Ave"
    minLength: 0
    maxLength: 255
    format: string
    description: Billing address line
  "billingAddress.postalCode":
    example: "10001"
    minLength: 2
    maxLength: 255
    format: postal-code
    description: Billing postal code

  "shippingAddress.city":
    example: "New York"
    minLength: 0
    maxLength: 255
    format: string
    description: Shipping city
  "shippingAddress.state":
    example: "NY"
    minLength: 1
    maxLength: 6
    format: string
    description: Shipping state/region code
  "shippingAddress.countryCode":
    example: "US"
    minLength: 2
    maxLength: 2
    format: iso3166-alpha-2
    description: Shipping country code
  "shippingAddress.address":
    example: "350 5th Ave"
    minLength: 0
    maxLength: 255
    format: string
    description: Shipping address line
  "shippingAddress.postalCode":
    example: "10001"
    minLength: 2
    maxLength: 255
    format: postal-code
    description: Shipping postal code

  "card.number":
    example: "4111111111111111"
    minLength: 0
    maxLength: 19
    format: string
    description: Primary Account Number (PAN)
  "card.holder":
    example: "JOHN DOE"
    minLength: 0
    maxLength: 50
    format: string
    description: Cardholder name
  "card.expiryMonth":
    example: "12"
    minLength: 1
    maxLength: 2
    format: string
    description: Expiry month
  "card.expiryYear":
    example: "2026"
    minLength: 4
    maxLength: 4
    format: string
    description: Expiry year (YYYY)
  "card.cvv":
    example: "123"
    minLength: 3
    maxLength: 4
    format: string
    description: CVV/CVC
  tokenize:
    example: true
    format: boolean
    description: Save card as customer account if applicable
  "payer.firstName":
    example: "John"
    minLength: 0
    maxLength: 50
    format: string
    description: Payer first name (card-only)
  "payer.lastName":
    example: "Doe"
    minLength: 0
    maxLength: 50
    format: string
    description: Payer last name (card-only)
  "payer.email":
    example: "[email protected]"
    minLength: 4
    maxLength: 254
    format: email
    description: Payer email (card-only)
  "payer.phoneNumber":
    example: "5551234567"
    minLength: 5
    maxLength: 15
    format: string
    description: Payer phone number without country code (card-only)
  "payer.phoneCountryCode":
    example: "1"
    minLength: 0
    maxLength: 5
    format: E.164
    description: Payer country dial code without "+" (card-only)
  "payer.birthDate":
    example: "1985-04-12"
    minLength: 10
    maxLength: 10
    format: date
    description: Payer date of birth (card-only)
  "payer.document":
    example: "AO1234567"
    minLength: 0
    maxLength: 50
    format: string
    description: Payer document number (card-only)
  "payer.documentType":
    example: "passport"
    minLength: 0
    maxLength: 50
    format: string
    description: Payer document type (card-only)
  "payer.type":
    example: "organization"
    minLength: 0
    maxLength: 50
    format: string
    description: Payer type (card-only)
  "payer.residenceCountryCode":
    example: "US"
    minLength: 2
    maxLength: 2
    format: iso3166-alpha-2
    description: Payer residence country (card-only)
  "payer.birthCountryCode":
    example: "US"
    minLength: 2
    maxLength: 2
    format: iso3166-alpha-2
    description: Payer birth country (card-only)

  "document.holderName":
    example: "John Doe"
    minLength: 0
    maxLength: 50
    format: string
    description: Document owner full name (card-only)
  "document.type":
    example: "passport"
    minLength: 0
    maxLength: 50
    format: string
    description: Document type (card-only)
  "document.subtype":
    example: "national"
    minLength: 0
    maxLength: 50
    format: string
    description: Document subtype (card-only)
  "document.number":
    example: "A1234567"
    minLength: 0
    maxLength: 50
    format: string
    description: Document number (card-only)
  "document.countryCode":
    example: "US"
    minLength: 2
    maxLength: 2
    format: iso3166-alpha-2
    description: Issuing country (card-only)

  "bankInformation.bankId":
    example: "BR001"
    minLength: 0
    maxLength: 255
    format: string
    description: Identifier code of financial institution on integration side
  "bankInformation.bankAccountId":
    example: "1234567890"
    minLength: 0
    maxLength: 100
    format: string
    description: Bank account ID
  "bankInformation.bankAccountName":
    example: "John Doe"
    minLength: 0
    maxLength: 50
    format: string
    description: Account name
  "bankInformation.bankAccountFirstName":
    example: "John"
    minLength: 0
    maxLength: 50
    format: string
    description: Account first name
  "bankInformation.bankAccountLastName":
    example: "Doe"
    minLength: 0
    maxLength: 50
    format: string
    description: Account last name
  "bankInformation.bankIBAN":
    example: "DE89370400440532013000"
    minLength: 0
    maxLength: 34
    format: string
    description: IBAN
  "bankInformation.bankBBAN":
    example: "NQ00 0000 0000 0000"
    minLength: 0
    maxLength: 34
    format: string
    description: BBAN (where applicable)
  "bankInformation.bankIFSC":
    example: "HDFC0001234"
    minLength: 0
    maxLength: 11
    format: string
    description: Indian IFSC
  "bankInformation.bankBIC":
    example: "DEUTDEFF"
    minLength: 8
    maxLength: 11
    format: string
    description: BIC/SWIFT
  "bankInformation.bankName":
    example: "Deutsche Bank"
    minLength: 0
    maxLength: 255
    format: string
    description: Bank name
  "bankInformation.bankCountryCode":
    example: "DE"
    minLength: 2
    maxLength: 2
    format: iso3166-alpha-2
    description: Bank country
  "bankInformation.bankCity":
    example: "Berlin"
    minLength: 0
    maxLength: 100
    format: string
    description: Bank city
  "bankInformation.bankProvince":
    example: "ON"
    minLength: 0
    maxLength: 255
    format: string
    description: Province/region
  "bankInformation.bankCorrAccount":
    example: "123456789012345"
    minLength: 0
    maxLength: 255
    format: string
    description: Correspondent bank account
  "bankInformation.bankBranch":
    example: "00123"
    minLength: 0
    maxLength: 50
    format: string
    description: Bank branch ID
  "bankInformation.bankClearingSystemCode":
    example: "ACH"
    minLength: 0
    maxLength: 255
    format: string
    description: Clearing system code
  "bankInformation.bankClearingSystemId":
    example: "001234567"
    minLength: 0
    maxLength: 18
    format: string
    description: Clearing system identifier (CA: 0 + institution(3) + transit/branch(5))
  "bankInformation.bankCode":
    example: "001234567890"
    minLength: 0
    maxLength: 15
    format: string
    description: Bank code (IFSC/Zengin/other country-specific)
  "bankInformation.bankIspbCode":
    example: "12345678"
    minLength: 8
    maxLength: 8
    format: string
    description: Brazilian ISPB code
  "bankInformation.sortCode":
    example: "12-34-56"
    format: string
    description: UK sort code
  "bankInformation.bankAddress":
    example: "1 Main St"
    minLength: 0
    maxLength: 255
    format: string
    description: Bank address
  "bankInformation.bankPostalCode":
    example: "10115"
    minLength: 0
    maxLength: 100
    format: postal-code
    description: Bank postal code
  bankInformation2:
    type: array
    items: object
    description: Array of bank information objects (same structure as bankInformation)
  bankInformation3:
    type: array
    items: object
    description: Additional bank information (integration-specific)

  "attributes.paymentiq.verifyUser":
    type: object
    format: object
    description: Additional user specific parameters (values must be scalar types)
  payhost:
    type: object
    description: Integration-specific attributes
  depositCount:
    type: number
    description: Count of deposits on merchant’s side
  withdrawalCount:
    type: number
    description: Count of withdrawals on merchant’s side

Authorization Request Schema

When a payment is initiated through the Cashier widget, FinteqHub sends an authorization request to your configured endpoint to approve or decline the operation.

FinteqHub → Merchant Authorization Request:

POST {authIntegrationURL} (configured in project settings)

Headers:

Content-Type: application/json
X-Request-ID: {uuid}
Authorization: Bearer {system_auth_token}  # Optional

Request Payload:

{
  "operationId": "01926c4e-8b5f-7890-1234-567890abcdef",
  "merchantOperationId": "MERCH_REF_12345",
  "amount": "150.00",
  "currencyCode": "USD",
  "txType": "deposit",
  "customer": {
    "merchantCustomerId": "USER_789",
    "email": "[email protected]",
    "name": "John Doe",
    "countryCode": "US",
    "phoneNumber": "+1234567890"
  },
  "paymentMethod": "card-acquirer",
  "credentials": {
    "card": {
      "maskedNumber": "411111******1111",
      "expiryMonth": 12,
      "expiryYear": 2025,
      "holder": "JOHN DOE"
    },
    "payer": {
      "firstName": "John",
      "lastName": "Doe"
    }
  },
  "session": {
    "ip": "192.168.1.100",
    "userAgent": "Mozilla/5.0...",
    "country": "US"
  },
  "metadata": {
    "originalAmount": "150.00",
    "promotions": ["PROMO2025"],
    "riskScore": 0.2
  }
}

Expected Merchant Response:

Your endpoint must respond with HTTP 201 Created and one of these authorization status options:

✅ Immediate Approval:

{
  "authorizationStatus": "succeeded",
  "merchantOperationId": "APPROVED_OP_12345",
  "merchantTransactionId": "TXN_12345"
}

❌ Immediate Rejection:

{
  "authorizationStatus": "failed",
  "merchantOperationId": "REJECTED_OP_12345",
  "merchantTransactionId": "TXN_12345"
}

⏳ Delayed Authorization (NOT IMPLEMENTED):

{
  "authorizationStatus": "waiting_authorization",
  "merchantOperationId": "PENDING_OP_12345",
  "merchantTransactionId": "TXN_12345"
}

⚠️ Note: Delayed authorization is currently not implemented. Any status other than "succeeded" will result in operation failure.

Important Requirements:

  • HTTP Status: Your endpoint MUST respond with HTTP 201 Created
  • Success Status: Only "authorizationStatus": "succeeded" will process the payment
  • Failure Handling: Any other status ("failed", "waiting_authorization", etc.) will mark the operation as failed
  • Required Fields:
    • authorizationStatus: Must be "succeeded", "failed", or "waiting_authorization"
    • merchantOperationId: Your internal operation reference (optional, max 100 chars)
    • merchantTransactionId: Your internal transaction reference (optional, max 100 chars)

For Delayed Authorization (when implemented): Send final decision later via POST /v1/cashier/authorization-operation/{operationId} with same response format

Cashier Config

INTERNAL VERSION: Get available payment methods, customer accounts, cashier configuration and authentication tokens.

This internal version includes additional debugging and monitoring capabilities.

Authorizations:
Bearer
header Parameters
x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

accept-encoding
string

The Accept-Encoding HTTP request header advertises which content encoding, usually a compression algorithm, the client is able to understand.
Using content negotiation, the server selects one of the proposals, uses it and informs the client of its choice with the Content-Encoding response header.
FinteqHub supports gzip compression method.

Request Body schema: application/json
initToken
string <string>

initToken is a JWT used for widget initialization. It contains encrypted session and customer data and is generated on the merchant backend.

INTERNAL VERSION - initToken is OPTIONAL.

locale
string <bcp47-language> (BCP47-language)

Responses

Request samples

Content type
application/json
{
  • "initToken": "string",
  • "locale": "en-US"
}

Response samples

Content type
application/json
{
  • "paymentMethods": [
    ],
  • "accessToken": "string",
  • "refreshToken": "string",
  • "currencyCode": "EUR",
  • "cashierConfig": { },
  • "pendingWithdrawals": [
    ]
}

Cashier Init Transaction

Initialize a deposit or withdrawal transaction through the Cashier.

Request:

  • creates transaction | operation | customer (if customer object is provided in request) on FinteqHub side;
  • initiates request from FinteqHub to integration.

UC: UC - To process operation on FTH Widget

Requires accessToken obtained from cashier-methods endpoint.

Authorizations:
Bearer
path Parameters
txType
required
string (transactionType)
Enum: "deposit" "withdrawal"

Transaction type to be initiated:

  • deposit – transfer from the customer's account to the merchant's account.
  • withdrawal – transfer from the merchant's account to the customer's account.
header Parameters
x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Request Body schema: application/json
required
object (SessionV1)

Customer's session information. For flow:form session must be provided within 2 requests – init or submit transaction.

required
object (CashierOperationRequest)
customerAccountId
string <uuid> (NullULID)
paymentMethod
string (paymentMethodType)
usedPromotions
object

Promotions and bonus information used for this transaction. Contains promotion codes, discount amounts, and other promotional data.

Responses

Request samples

Content type
application/json
{
  • "session": {
    },
  • "operation": {
    },
  • "customerAccountId": "d8c60791-7301-441c-98e8-5bea9a162d9b",
  • "paymentMethod": "string",
  • "usedPromotions": { }
}

Response samples

Content type
application/json
{
  • "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
  • "error": "string"
}

Refresh Access Token

Refresh an expired accessToken using a valid refreshToken.

This endpoint authenticates via refreshToken passed in Bearer authorization header. Upon successful refreshToken validation:

  • A new token pair (accessToken + refreshToken) is created
  • Old tokens become invalid
  • New token pair is returned

RefreshToken has longer TTL (60 minutes) compared to accessToken (5 minutes). Validation includes signature verification, lifetime checks and storage verification.

Authorizations:
Bearer
header Parameters
x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "accessToken": "string",
  • "refreshToken": "string"
}

Process Cashier Operation

Process cashier operation using accessToken authorization.

This endpoint allows browsers to poll operation status and receive action instructions:

  • redirect: redirect user to URL
  • submitForm: display HTML form in hidden iframe
  • wait: wait specified time before next request
  • error: display error message
  • success: operation completed successfully

Authorization is performed via JTI (JSON Token Identifier) from accessToken, which must be linked to the operation through Redis mapping.

Authorizations:
Bearer
path Parameters
operationId
required
string <uuid> (ULID)

Operation ID to process. The operation must be linked to the user through the accessToken's JTI.

header Parameters
x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "type": "submitForm",
  • "formUrl": "http://example.com",
  • "waitUntil": "2019-08-24T14:15:22Z",
  • "waitInterval": 1000,
  • "metadata": {
    }
}

Authorize Operation

Confirm or reject a delayed withdrawal authorization.

Called by merchant backend to provide final authorization decision for withdrawal in waiting_authorization status.

Authorizations:
BearerJwsSignature
path Parameters
operationID
required
string <uuid> (ULID)

The unique identifier of the operation awaiting authorization

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Request Body schema: application/json
authorizationStatus
required
string
Enum: "succeeded" "failed"

Final authorization decision (ONLY 2 values allowed):

  • succeeded - Approve the withdrawal, proceed with PSP execution
  • failed - Reject the withdrawal, cancel the operation

Note: "waiting_authorization" is NOT allowed here - it's internal status only

merchantOperationId
string <= 100 characters

Optional merchant's internal operation reference for tracking. Maximum 100 characters.

merchantTransactionId
string <= 100 characters

Optional merchant's internal transaction reference for tracking. Maximum 100 characters.

Responses

Request samples

Content type
application/json
{
  • "authorizationStatus": "succeeded",
  • "merchantOperationId": "MERCH-OP-12345",
  • "merchantTransactionId": "MERCH-TX-67890"
}

Response samples

Content type
application/json
{
  • "operationId": "01HXB2M3N4P5Q6R7S8T9V0W1X2",
  • "message": "Authorization accepted for processing"
}

/v1/cashier/operations/cancel

Authorizations:
Bearer
header Parameters
x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Request Body schema: application/json
ids
required
Array of strings <uuid> (ULID)

List of operation IDs to be cancelled. The operations must be linked to the user through the accessToken's JTI.

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "pendingWithdrawals": [
    ]
}

Create Cashier Customer Account

Create a new customer account through the Cashier.

This endpoint authenticates via accessToken passed in Bearer authorization header. The customer information is extracted from the accessToken's JTI, which links to the customer session.

Authorizations:
Bearer
header Parameters
x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Request Body schema: application/json
paymentMethod
required
string (paymentMethodType)
parameters
required
object

Additional parameters required for creating customer account. The parameters are defined by the payment integration.

Responses

Request samples

Content type
application/json
{
  • "paymentMethod": "string",
  • "parameters": { }
}

Response samples

Content type
application/json
{
  • "customerAccount": {
    }
}

Transactions

Get Transaction

Retrieve details of transaction and all related operations.

Authorizations:
BearerJwsSignature
path Parameters
uuid
required
string <uuid> (ULID)

Transaction ID in FinteqHub.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "operations": [
    ],
  • "transaction": {
    }
}

Init Transaction

Initiate a deposit or withdrawal transaction.

Authorizations:
BearerJwsSignature
path Parameters
txType
required
string (transactionType)
Enum: "deposit" "withdrawal"

Transaction type to be initiated:

  • deposit – transfer from the customer's account to the merchant's account.
  • withdrawal – transfer from the merchant's account to the customer's account.
header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Request Body schema: application/json
flow
required
string (flowType)
Enum: "direct" "form" "cashier" "initless" "none"
object (CustomerV1)

Customer's information. FinteqHub automatically creates a new customer if no existing customer is found in the system with the provided id. If the customer already exists, FinteqHub will update their information with the details provided in request.

Information from this object is not transmitted to the payment integration, it is only shown in the FinteqHub Backoffice for reference.

customerAccountId
string <uuid> (NullULID)
object (SessionV1)

Customer's session information. For flow:form session must be provided within 2 requests – init or submit transaction.

integration
string (integrationType)
paymentMethod
string (paymentMethodType)
merchantTransactionId
string <= 100 characters

Unique identifier of transaction in the merchant's platform.

object (OperationRequestV1)

Operation's details.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "customerAccountId": "d8c60791-7301-441c-98e8-5bea9a162d9b",
  • "session": {
    },
  • "flow": "direct",
  • "integration": "string",
  • "paymentMethod": "string",
  • "merchantTransactionId": "string",
  • "operation": {
    }
}

Response samples

Content type
application/json
{}

Callback payload samples

Callback
POST: Merchant callback
Content type
application/json
{
  • "transaction": {
    },
  • "operation": {
    },
  • "operations": [
    ],
  • "customerAccount": {
    }
}

Submit Transaction

Submit transaction details. Request is used to transmit card details when flow:form is specified.

Authorizations:
SID
header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

x-fingerprint
required
string = 32 characters

Fingerprint

Request Body schema: application/json
paymentMethod
required
string (paymentMethodType)
object (SessionV1)

Customer's session information. For flow:form session must be provided within 2 requests – init or submit transaction.

customerAccountId
string <uuid> (NullULID)
credentials
object (CredentialsV1)

Payment credentials needed to complete transaction. Required parameters in the credentials depend on selected paymentMethod and defined in Get payment methods response.

Note, that certain fields may be optional at the API level, but in fact their inclusion is required by the business logic of different integrations within a singular payment method. Contact technical support team to get the requirements for specific integrations.

transactionType
string (transactionType)
Enum: "deposit" "withdrawal"

Transaction type.

Responses

Request samples

Content type
application/json
{
  • "session": {
    },
  • "customerAccountId": "d8c60791-7301-441c-98e8-5bea9a162d9b",
  • "credentials": {
    },
  • "paymentMethod": "string",
  • "transactionType": "deposit"
}

Response samples

Content type
application/json
{
  • "sessionId": "d8c60791-7301-441c-98e8-5bea9a162d9b",
  • "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "error": "string"
}

Submit Transaction With Secured MerchantID

Submit transaction details with secured merchantID. Request is used to transmit card details when flow:form is specified.

Authorizations:
SID
header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

x-fingerprint
required
string = 32 characters

Fingerprint

Request Body schema: application/json
paymentMethod
required
string (paymentMethodType)
object (SessionV1)

Customer's session information. For flow:form session must be provided within 2 requests – init or submit transaction.

customerAccountId
string <uuid> (NullULID)
credentials
object (CredentialsV1)

Payment credentials needed to complete transaction. Required parameters in the credentials depend on selected paymentMethod and defined in Get payment methods response.

Note, that certain fields may be optional at the API level, but in fact their inclusion is required by the business logic of different integrations within a singular payment method. Contact technical support team to get the requirements for specific integrations.

transactionType
string (transactionType)
Enum: "deposit" "withdrawal"

Transaction type.

Responses

Request samples

Content type
application/json
{
  • "session": {
    },
  • "customerAccountId": "d8c60791-7301-441c-98e8-5bea9a162d9b",
  • "credentials": {
    },
  • "paymentMethod": "string",
  • "transactionType": "deposit"
}

Response samples

Content type
application/json
{
  • "sessionId": "d8c60791-7301-441c-98e8-5bea9a162d9b",
  • "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "error": "string"
}

Submit authorization form

The request is utilized to:

  • confirm 2FA by customer on authorization form
  • resend OTP code.
path Parameters
authorizationType
required
string (txAuthorizationType)
Enum: "otp" "pin" "phone" "address"

Authorization type passed by customer. Possible values:

  • otp
  • pin
  • phone
  • address
action
required
string (txAuthorizationAction)
Enum: "confirm" "resend"

Action need to be done. Possible values:

  • confirm (used for form submission)
  • resend (used for resend otp code)
header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Request Body schema: application/json
operationId
string <uuid> (ULID)
transactionId
string <uuid> (ULID)
otp
string

OTP code. Mandatory for filling on OTP verification form. Used for authorizationType: otp and action: confirm/resend. If action: confirm, then otp must not be null. If action: resend, then otp must be null.

pin
string

Customer's card's PIN code. Mandatory for filling on PIN verification form. Used for authorizationType: pin and action: confirm.

country
string

Customer's country name. Mandatory for filling on address verification form. Used for authorizationType: address and action: confirm.

state
string

Customer's state name without ISO verification. Mandatory for filling on address verification form. Used for authorizationType: address and action: confirm.

city
string

Customer's city. Mandatory for filling on address verification form. Used for authorizationType: address and action: confirm.

address
string

Customer's address. Mandatory for filling on address verification form. Used for authorizationType: address and action: confirm.

zip_code
string

Customer's postal code. Mandatory for filling on address verification form. Used for authorizationType: address and action: confirm.

phone
string

Customer's phone number (phone country code and phone number). Mandatory for filling on phone verification form. Used for authorizationType: phone and action: confirm.

Responses

Request samples

Content type
application/json
{
  • "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "otp": "string",
  • "pin": "string",
  • "country": "string",
  • "state": "string",
  • "city": "string",
  • "address": "string",
  • "zip_code": "string",
  • "phone": "string"
}

Response samples

Content type
application/json
{}

Create refund

Create a refund operation for the transaction

Authorizations:
BearerJwsSignature
path Parameters
uuid
required
string <uuid> (ULID)

Transaction ID in FinteqHub.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

accept-encoding
string

The Accept-Encoding HTTP request header advertises which content encoding, usually a compression algorithm, the client is able to understand.
Using content negotiation, the server selects one of the proposals, uses it and informs the client of its choice with the Content-Encoding response header.
FinteqHub supports gzip compression method.

Request Body schema: application/json
initialAmount
required
string <= 20 characters
initialCurrencyCode
required
string <iso4217-currency-code> (currencyCode) [ 3 .. 7 ] characters
Enum: "AFN" "EUR" "ALL" "DZD" "USD" "AOA" "XCD" "ARS" "AMD" "AWG" "AUD" "AZN" "BSD" "BHD" "BDT" "BBD" "BYN" "BZD" "XOF" "BMD" "INR" "BTN" "BOB" "BOV" "BAM" "BWP" "NOK" "BRL" "BND" "BGN" "BIF" "CVE" "KHR" "XAF" "CAD" "KYD" "CLP" "CLF" "CNY" "COP" "COU" "KMF" "CDF" "NZD" "CRC" "CUP" "CUC" "ANG" "CZK" "DKK" "DJF" "DOP" "EGP" "SVC" "ERN" "SZL" "ETB" "FKP" "FJD" "XPF" "GMD" "GEL" "GHS" "GIP" "GTQ" "GBP" "GNF" "GYD" "HTG" "HNL" "HKD" "HUF" "ISK" "IDR" "IRR" "IQD" "ILS" "JMD" "JPY" "JOD" "KZT" "KES" "KPW" "KRW" "KWD" "KGS" "LAK" "LBP" "LSL" "ZAR" "LRD" "LYD" "CHF" "MOP" "MKD" "MGA" "MWK" "MYR" "MVR" "MRU" "MUR" "MXN" "MXV" "MDL" "MNT" "MAD" "MZN" "MMK" "NAD" "NPR" "NIO" "NGN" "OMR" "PKR" "PAB" "PGK" "PYG" "PEN" "PHP" "PLN" "QAR" "RON" "RUB" "RWF" "SHP" "WST" "STN" "SAR" "RSD" "SCR" "SLE" "SGD" "SBD" "SOS" "SSP" "LKR" "SDG" "SRD" "SEK" "CHE" "CHW" "SYP" "TWD" "TJS" "TZS" "THB" "TOP" "TTD" "TND" "TRY" "TMT" "UGX" "UAH" "AED" "USN" "UYU" "UYI" "UYW" "UZS" "VUV" "VES" "VED" "VND" "YER" "ZMW" "ZWG" "XTS" "ADA" "APE" "ARB" "ATOM" "AVAX" "BCH" "BNB" "BNB-BSC" "BRZ" "BTC" "CRO" "CSC" "DAI" "DOGE" "ETH" "EURS" "HYPE" "LINK" "LTC" "MON" "OP" "OSMO" "PAXG" "POLYGON" "SAND" "SHIB" "SNACK" "SOL" "TON" "TRUMP" "TRX" "TWT" "UNI" "USDC" "USDCE" "USDT" "VERSE" "WBTC" "XAUT" "XED" "XRP"

Responses

Request samples

Content type
application/json
{
  • "initialAmount": "string",
  • "initialCurrencyCode": "EUR"
}

Response samples

Content type
application/json
{
  • "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
  • "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
  • "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac"
}

Init Transaction V2

Init Transaction

DEPRECATED ENDPOINT. Please use Init transaction v1 endpoint.

Transaction type (txType, see Value object "Transaction_type")

  • Deposit(PayIn) - uses for payment acceptance
  • Withdrawal(PayOut) - uses to make payouts for NeosurfWallet, EcopayzVoucher, etc.(see other in operation.credentials schema). Need to use one of credentials schema to make this. Credentials type should correspond the payment method set in the request.

IntegrationType and PaymentMethodType

If you use only paymentMethodType only, backend will pick the first suitable terminal from list which will be received after evaluating scenarios.
But if you want to use a specific integration for a specific paymentMethodType, it is required to set the integrationType in the request. You make sure that selected terminal is of requested integrationType and that is supports requested paymentMethodType.
To see what options are avaialbe for a specific project, you can send '/v2/transactions/{txType}/payment-methods' request which will return a list payment methods grouped by integration. Also, you can see all methods here: Value object "Payment_methods"

Customer

Finteqhub provides the functionality of a customer storage. In order for it to work you need to send customer id. You can also send other information about your customer (see fields in customer schema)
If you send a new customer id for the first time the system will create a new record in the storage. After that point, sending new information about customer will update record in said storage.

Authorizations:
BearerJwsSignature
path Parameters
txType
required
string (transactionType)
Enum: "deposit" "withdrawal"

Transaction type

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

x-fingerprint
string = 32 characters

Fingerprint

Request Body schema: application/json

Transaction data

object (CustomerV2)
object (CustomerBrowserSession)
flow
string (flowType)
Enum: "direct" "form" "cashier" "initless" "none"
integrationType
string (integrationType)
paymentMethodType
string (paymentMethodType)
merchantTransactionId
string
object (OperationRequest)

Responses

Callbacks

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "customerBrowserSession": {
    },
  • "flow": "direct",
  • "integrationType": "string",
  • "paymentMethodType": "string",
  • "merchantTransactionId": "string",
  • "operation": {
    }
}

Response samples

Content type
application/json
{}

Callback payload samples

Callback
POST: Callbacks from FinteqHub to the merchant.
Content type
application/json
{
  • "transaction": {
    },
  • "operation": {
    },
  • "operations": [
    ],
  • "customerAccount": {
    }
}

Customer Accounts

Customer Accounts functionality enables merchant customers to save credentials once the transaction has been processed successfully and use them for further transactions. As soon as a customer account is created it becomes available to be retrieved over the list/get customer accounts endpoints and could be used passed to the initTransaction request instead of credentials.

List Customer Accounts

Retrieve a list of saved customer accounts of customer.

Authorizations:
BearerJwsSignature
path Parameters
uuid
required
string <uuid> (ULID)

Customer ID in FinteqHub.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "customersAccounts": [
    ]
}

Get Customer Account

Retrieve details of customer account.

Authorizations:
BearerJwsSignature
path Parameters
uuid
required
string <uuid> (ULID)

Customer ID in FinteqHub.

accountUuid
required
string <uuid> (ULID)

Customer account ID in FinteqHub.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "customerAccount": {
    }
}

Create Customer Account

Create a new customer account.

Authorizations:
BearerJwsSignature
header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Request Body schema: application/json
paymentMethod
string (paymentMethodType)
object (Customer)

Customer's information. FinteqHub automatically creates a new customer if no existing customer is found in the system with the provided id. If the customer already exists, FinteqHub will update their information with the details provided in request.

Information from this object is not transmitted to the payment integration, it is only shown in the FinteqHub Backoffice for reference.

parameters
object

Additional parameters required for creating customer account. The parameters are defined by the payment integration.

Responses

Request samples

Content type
application/json
{
  • "paymentMethod": "string",
  • "customer": {
    },
  • "parameters": { }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "integrationAccountId": "string",
  • "prefillableTransactionTypes": [
    ],
  • "successAttempts": 0,
  • "unsuccessfulAttempts": 0,
  • "updatedAt": "2020-12-08T16:38:09.70516+03:00",
  • "metadata": {
    }
}

Operations

Process Operation

Process operation endpoint is used to determine further action in transaction processing. Request should be sent:

  • for flow:form after init + submit requests,
  • in particular cases for flow:direct after init request.
Authorizations:
SID
path Parameters
uuid
required
string <uuid> (ULID)

Operation ID in FinteqHub.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{}

Get Operation

Retrieve details of operation.

DEPRECATED ENDPOINT. Please use Get Transaction endpoint.

Authorizations:
BearerJwsSignature
path Parameters
uuid
required
string <uuid> (ULID)

Operation ID in FinteqHub.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "operation": {
    },
  • "operationLogs": [
    ]
}

Process Operation With Secured MerchantID

Process operation endpoint is used to determine further action in transaction processing. Request should be sent:

  • for flow:form after init + submit requests,
  • in particular cases for flow:direct after init request.
Authorizations:
SID
path Parameters
uuid
required
string <uuid> (ULID)

Operation ID in FinteqHub.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{}

List Operations

Retrieve a list of all operations for a project.
The information is returned for the project specified in headers.
You can filter the list with query parameters.

Authorizations:
BearerJwsSignature
query Parameters
dateFrom
required
string or null (NullTime)
Example: dateFrom=2020-12-08T16:38:09.70516Z

Start date of the period for which information is requested. Operations are filtered by creation date. Max allowed period is 7 days.

dateTo
required
string or null (NullTime)
Example: dateTo=2020-12-08T16:38:09.70516Z

End date of the period for which information is requested. Operations are filtered by creation date. Max allowed period is 7 days.

opType
string

Filter operations by operation type.

txType
string

Filter operations by transaction type.

integration
string

Filter operations by payment integration.

paymentMethod
string

Filter operations by payment method.

offset
string

Pagination offset. Specifies the number of records to skip. The first request must be sent with empty parameter, for subsequent requests value must be taken from offset parameter in response until the empty offset is returned. Limit is 500 operations per request.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-fingerprint
string = 32 characters

Fingerprint

Responses

Response samples

Content type
application/json
{
  • "operations": [
    ],
  • "offset": "string"
}

Payment Methods

Get Payment Methods

Get available payment methods for the customer.

Authorizations:
BearerJwsSignature
query Parameters
withCustomerAccount
string

If true, FinteqHub includes customer account(s) data in the response.

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

accept-encoding
string

The Accept-Encoding HTTP request header advertises which content encoding, usually a compression algorithm, the client is able to understand.
Using content negotiation, the server selects one of the proposals, uses it and informs the client of its choice with the Content-Encoding response header.
FinteqHub supports gzip compression method.

Request Body schema: application/json

The available payment methods for the customer are idenfified based on the request parameters.

If the parameters are not provided in the request, then corresponding conditions in routing rules are considered as failed, therefore payment method will not be returned in the response.

currencyCode
string <iso4217-currency-code> (currencyCode) [ 3 .. 7 ] characters
Enum: "AFN" "EUR" "ALL" "DZD" "USD" "AOA" "XCD" "ARS" "AMD" "AWG" "AUD" "AZN" "BSD" "BHD" "BDT" "BBD" "BYN" "BZD" "XOF" "BMD" "INR" "BTN" "BOB" "BOV" "BAM" "BWP" "NOK" "BRL" "BND" "BGN" "BIF" "CVE" "KHR" "XAF" "CAD" "KYD" "CLP" "CLF" "CNY" "COP" "COU" "KMF" "CDF" "NZD" "CRC" "CUP" "CUC" "ANG" "CZK" "DKK" "DJF" "DOP" "EGP" "SVC" "ERN" "SZL" "ETB" "FKP" "FJD" "XPF" "GMD" "GEL" "GHS" "GIP" "GTQ" "GBP" "GNF" "GYD" "HTG" "HNL" "HKD" "HUF" "ISK" "IDR" "IRR" "IQD" "ILS" "JMD" "JPY" "JOD" "KZT" "KES" "KPW" "KRW" "KWD" "KGS" "LAK" "LBP" "LSL" "ZAR" "LRD" "LYD" "CHF" "MOP" "MKD" "MGA" "MWK" "MYR" "MVR" "MRU" "MUR" "MXN" "MXV" "MDL" "MNT" "MAD" "MZN" "MMK" "NAD" "NPR" "NIO" "NGN" "OMR" "PKR" "PAB" "PGK" "PYG" "PEN" "PHP" "PLN" "QAR" "RON" "RUB" "RWF" "SHP" "WST" "STN" "SAR" "RSD" "SCR" "SLE" "SGD" "SBD" "SOS" "SSP" "LKR" "SDG" "SRD" "SEK" "CHE" "CHW" "SYP" "TWD" "TJS" "TZS" "THB" "TOP" "TTD" "TND" "TRY" "TMT" "UGX" "UAH" "AED" "USN" "UYU" "UYI" "UYW" "UZS" "VUV" "VES" "VED" "VND" "YER" "ZMW" "ZWG" "XTS" "ADA" "APE" "ARB" "ATOM" "AVAX" "BCH" "BNB" "BNB-BSC" "BRZ" "BTC" "CRO" "CSC" "DAI" "DOGE" "ETH" "EURS" "HYPE" "LINK" "LTC" "MON" "OP" "OSMO" "PAXG" "POLYGON" "SAND" "SHIB" "SNACK" "SOL" "TON" "TRUMP" "TRX" "TWT" "UNI" "USDC" "USDCE" "USDT" "VERSE" "WBTC" "XAUT" "XED" "XRP"
object (PaymentMethodsCustomer)

Customer's information. You can provide only id parameter, and FinteqHub will attempt to retrieve the remaining customer information from the database. However, any additional request parameters will take precedence over the database values.

object (PaymentMethodsSession)

Customer's session information.

Responses

Request samples

Content type
application/json
{
  • "currencyCode": "EUR",
  • "customer": {
    },
  • "session": {
    }
}

Response samples

Content type
application/json
{
  • "integrations": {
    },
  • "credentials": {
    },
  • "paymentMethods": {
    },
  • "adjustments": {
    },
  • "customerAccounts": {
    }
}

Get Payment Methods

Get available payment methods for the customer.

DEPRECATED ENDPOINT. Please use Get payment methods POST endpoint.

Authorizations:
BearerJwsSignature
path Parameters
txType
required
string (transactionType)
Enum: "deposit" "withdrawal"

Transaction type

query Parameters
currencyCode
string <iso4217-currency-code> (currencyCode) [ 3 .. 7 ] characters
Enum: "AFN" "EUR" "ALL" "DZD" "USD" "AOA" "XCD" "ARS" "AMD" "AWG" "AUD" "AZN" "BSD" "BHD" "BDT" "BBD" "BYN" "BZD" "XOF" "BMD" "INR" "BTN" "BOB" "BOV" "BAM" "BWP" "NOK" "BRL" "BND" "BGN" "BIF" "CVE" "KHR" "XAF" "CAD" "KYD" "CLP" "CLF" "CNY" "COP" "COU" "KMF" "CDF" "NZD" "CRC" "CUP" "CUC" "ANG" "CZK" "DKK" "DJF" "DOP" "EGP" "SVC" "ERN" "SZL" "ETB" "FKP" "FJD" "XPF" "GMD" "GEL" "GHS" "GIP" "GTQ" "GBP" "GNF" "GYD" "HTG" "HNL" "HKD" "HUF" "ISK" "IDR" "IRR" "IQD" "ILS" "JMD" "JPY" "JOD" "KZT" "KES" "KPW" "KRW" "KWD" "KGS" "LAK" "LBP" "LSL" "ZAR" "LRD" "LYD" "CHF" "MOP" "MKD" "MGA" "MWK" "MYR" "MVR" "MRU" "MUR" "MXN" "MXV" "MDL" "MNT" "MAD" "MZN" "MMK" "NAD" "NPR" "NIO" "NGN" "OMR" "PKR" "PAB" "PGK" "PYG" "PEN" "PHP" "PLN" "QAR" "RON" "RUB" "RWF" "SHP" "WST" "STN" "SAR" "RSD" "SCR" "SLE" "SGD" "SBD" "SOS" "SSP" "LKR" "SDG" "SRD" "SEK" "CHE" "CHW" "SYP" "TWD" "TJS" "TZS" "THB" "TOP" "TTD" "TND" "TRY" "TMT" "UGX" "UAH" "AED" "USN" "UYU" "UYI" "UYW" "UZS" "VUV" "VES" "VED" "VND" "YER" "ZMW" "ZWG" "XTS" "ADA" "APE" "ARB" "ATOM" "AVAX" "BCH" "BNB" "BNB-BSC" "BRZ" "BTC" "CRO" "CSC" "DAI" "DOGE" "ETH" "EURS" "HYPE" "LINK" "LTC" "MON" "OP" "OSMO" "PAXG" "POLYGON" "SAND" "SHIB" "SNACK" "SOL" "TON" "TRUMP" "TRX" "TWT" "UNI" "USDC" "USDCE" "USDT" "VERSE" "WBTC" "XAUT" "XED" "XRP"
Example: currencyCode=EUR

ISO-4217 currency code

userCountryCode
string <iso3166-alpha-2> (CountryAlpha2) = 2 characters
Enum: "AF" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BQ" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "CV" "KH" "CM" "CA" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CD" "CG" "CK" "CR" "HR" "CU" "CW" "CY" "CZ" "CI" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "SZ" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IM" "IL" "IT" "JM" "JP" "JE" "JO" "KZ" "KE" "KI" "KP" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "ME" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MK" "MP" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RO" "RU" "RW" "RE" "BL" "SH" "KN" "LC" "MF" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "RS" "SC" "SL" "SG" "SX" "SK" "SI" "SB" "SO" "ZA" "GS" "SS" "ES" "LK" "SD" "SR" "SJ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TM" "TC" "TV" "TR" "UG" "UA" "AE" "GB" "UM" "US" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW" "AX"
Example: userCountryCode=AS

ISO-3166-alpha2 country code

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

accept-encoding
string

The Accept-Encoding HTTP request header advertises which content encoding, usually a compression algorithm, the client is able to understand.
Using content negotiation, the server selects one of the proposals, uses it and informs the client of its choice with the Content-Encoding response header.
FinteqHub supports gzip compression method.

Responses

Response samples

Content type
application/json
{
  • "integrations": {
    },
  • "credentials": {
    },
  • "paymentMethods": {
    },
  • "adjustments": {
    }
}

Get Payment Methods V2

Get available payment methods for the customer.

DEPRECATED ENDPOINT. Please use Get payment methods POST endpoint.

Authorizations:
BearerJwsSignature
path Parameters
txType
required
string (transactionType)
Enum: "deposit" "withdrawal"

Transaction type

query Parameters
currency
string <iso4217-currency-code> (currencyCode) [ 3 .. 7 ] characters
Enum: "AFN" "EUR" "ALL" "DZD" "USD" "AOA" "XCD" "ARS" "AMD" "AWG" "AUD" "AZN" "BSD" "BHD" "BDT" "BBD" "BYN" "BZD" "XOF" "BMD" "INR" "BTN" "BOB" "BOV" "BAM" "BWP" "NOK" "BRL" "BND" "BGN" "BIF" "CVE" "KHR" "XAF" "CAD" "KYD" "CLP" "CLF" "CNY" "COP" "COU" "KMF" "CDF" "NZD" "CRC" "CUP" "CUC" "ANG" "CZK" "DKK" "DJF" "DOP" "EGP" "SVC" "ERN" "SZL" "ETB" "FKP" "FJD" "XPF" "GMD" "GEL" "GHS" "GIP" "GTQ" "GBP" "GNF" "GYD" "HTG" "HNL" "HKD" "HUF" "ISK" "IDR" "IRR" "IQD" "ILS" "JMD" "JPY" "JOD" "KZT" "KES" "KPW" "KRW" "KWD" "KGS" "LAK" "LBP" "LSL" "ZAR" "LRD" "LYD" "CHF" "MOP" "MKD" "MGA" "MWK" "MYR" "MVR" "MRU" "MUR" "MXN" "MXV" "MDL" "MNT" "MAD" "MZN" "MMK" "NAD" "NPR" "NIO" "NGN" "OMR" "PKR" "PAB" "PGK" "PYG" "PEN" "PHP" "PLN" "QAR" "RON" "RUB" "RWF" "SHP" "WST" "STN" "SAR" "RSD" "SCR" "SLE" "SGD" "SBD" "SOS" "SSP" "LKR" "SDG" "SRD" "SEK" "CHE" "CHW" "SYP" "TWD" "TJS" "TZS" "THB" "TOP" "TTD" "TND" "TRY" "TMT" "UGX" "UAH" "AED" "USN" "UYU" "UYI" "UYW" "UZS" "VUV" "VES" "VED" "VND" "YER" "ZMW" "ZWG" "XTS" "ADA" "APE" "ARB" "ATOM" "AVAX" "BCH" "BNB" "BNB-BSC" "BRZ" "BTC" "CRO" "CSC" "DAI" "DOGE" "ETH" "EURS" "HYPE" "LINK" "LTC" "MON" "OP" "OSMO" "PAXG" "POLYGON" "SAND" "SHIB" "SNACK" "SOL" "TON" "TRUMP" "TRX" "TWT" "UNI" "USDC" "USDCE" "USDT" "VERSE" "WBTC" "XAUT" "XED" "XRP"
Example: currency=EUR

ISO-4217 currency code

userCountry
string <iso3166-alpha-2> (CountryAlpha2) = 2 characters
Enum: "AF" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BQ" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "CV" "KH" "CM" "CA" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CD" "CG" "CK" "CR" "HR" "CU" "CW" "CY" "CZ" "CI" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "SZ" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IM" "IL" "IT" "JM" "JP" "JE" "JO" "KZ" "KE" "KI" "KP" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "ME" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MK" "MP" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RO" "RU" "RW" "RE" "BL" "SH" "KN" "LC" "MF" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "RS" "SC" "SL" "SG" "SX" "SK" "SI" "SB" "SO" "ZA" "GS" "SS" "ES" "LK" "SD" "SR" "SJ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TM" "TC" "TV" "TR" "UG" "UA" "AE" "GB" "UM" "US" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW" "AX"
Example: userCountry=AS

ISO-3166-alpha2 country code

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-project-id
required
string <uuid> (ULID)

Project ID in FinteqHub.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "availableMethods": {
    },
  • "availableCardBrands": {
    }
}

Callbacks

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
required
string <uuid> (ULID)

Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
required
string <uuid> (ULID)

Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

query Parameters
operationId
string <uuid> (ULID)

Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

query Parameters
operationId
string <uuid> (ULID)

Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

projectTokenId
string

Project ID

terminalId
string

Terminal ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

projectTokenId
string

Project ID

terminalId
string

Terminal ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
required
string <uuid> (ULID)

Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
required
string <uuid> (ULID)

Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

query Parameters
operationId
string <uuid> (ULID)

Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

query Parameters
operationId
string <uuid> (ULID)

Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

projectTokenId
string

Project ID

terminalId
string

Terminal ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

projectTokenId
string

Project ID

terminalId
string

Terminal ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

v2 callback

External integrations callbacks

path Parameters
integrationType
required
string (integrationType)

Integration type

paymentMethodType
required
string (paymentMethodType)

Payment Method type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

operationId
string <uuid> (ULID)

Operation ID

extTx
string

External Operation ID

Request Body schema: application/octet-stream

Callback data

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

PaymentIQ

Verify user

Verify user

path Parameters
integrationType
required
string (reversedIntegrationType)
Enum: "paymentiq" "volt"

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

Request Body schema: application/octet-stream

Integration payload

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

Authorize payment

Authorize payment

path Parameters
integrationType
required
string (reversedIntegrationType)
Enum: "paymentiq" "volt"

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

Request Body schema: application/octet-stream

Integration payload

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

Transfer payment

Transfer payment

path Parameters
integrationType
required
string (reversedIntegrationType)
Enum: "paymentiq" "volt"

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

Request Body schema: application/octet-stream

Integration payload

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

Cancel payment

Cancel payment

path Parameters
integrationType
required
string (reversedIntegrationType)
Enum: "paymentiq" "volt"

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

Request Body schema: application/octet-stream

Integration payload

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

Volt

Process callback

Process callback

path Parameters
integrationType
required
string (reversedIntegrationType)
Enum: "paymentiq" "volt"

Integration type

query Parameters
merchantId
required
string

Merchant short ID, provided to you by the FinteqHub team.

Request Body schema: application/octet-stream

Integration payload

string <binary> (RawPayload)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "details": { },
  • "traceId": "1234567890abcdef"
}

Sessions

Get Session

Get Session

path Parameters
uuid
required
string <uuid> (ULID)

UUID

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "session": {
    },
  • "customer": {
    },
  • "operation": {
    },
  • "initCredentials": { },
  • "paymentMethods": {
    }
}

Get Session With Secured MerchantID

Get Session With Secured MerchantID

path Parameters
uuid
required
string <uuid> (ULID)

UUID

header Parameters
x-merchant-id
required
string

Merchant short ID, provided to you by the FinteqHub team.

x-request-id
required
string <uuid> (ULID)

Request ID – random UUIDv4.
The header is used to ensure the idempotency of POST requests. In the context of API, idempotence is the concept of multiple requests having the same effect as a single request. Upon receiving a new request with identical parameters, we will respond with results of the original request.

Responses

Response samples

Content type
application/json
{
  • "session": {
    },
  • "customer": {
    },
  • "operation": {
    },
  • "initCredentials": { },
  • "paymentMethods": {
    }
}