HiPay transfer API

Transfer funds between HiPay accounts

Operations 1

POST /transfer.{_format} Transfer funds between HiPay accounts #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hipay-transfer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hipay-transfer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '0.3'
  title: HiPay Marketplace Transfer API
  description: "\nThe implementation of HiPay Marketplace involves establishing connections between your marketplace platform and HiPay based on a simple integration through a set of APIs.\n\n## Account creation:\n\n  1) The agent checks the e-mail availability with the [Is-available API](#/user-account/post_user-account_is-available).\n\n  2) The agent creates a HiPay account for merchants using the [User-account API](#/user-account/post_user-account).\n\n  3) The agent sends us the account number and the identification/KYC information using the [Identification API](#/identification/post_Identification). HiPay validates the identification/KYC information within three days and sends the agent a notification confirming that the merchant is fully operational.\n\n## Bank account information submission:\n\nPlease note that it is possible to submit bank account information any time between account creation and withdrawal requests.\nTo register a HiPay account bank information, use the [Bank-info API.](#/bank-info/post_user-account)\n\n## Fund allocation:\n\nFund allocation is only possible if the merchant's account is validated by HiPay.\n\nAll the funds are held in escrow before being deposited on the technical account.\n\nThe [Transfer API](#/transfer/post_transfer]) is then used to allocate funds from the technical account to the merchant's account.\nThe [Transfer API](#/transfer/post_transfer]) allows transfer requests to be made on the agent’s behalf or on the behalf of a third party.\n\nThe technical account is therefore a monitoring tool that provides a clear view of fund allocation (fund remittance, refunds, chargebacks).\n\n## Withdrawal requests:\n\nWithdrawal is only possible if the merchant's account AND banking informations are validated by HiPay.\n\nOnce funds are allocated, there are two withdrawal possibilities:\n\n  - Whenever a transaction is made – please note that this option is not recommended by HiPay,\n  - Whenever a withdrawal request is made by the merchant – for example, every ten days, depending on the agent.\n\nWhen agents want to do a withdrawal, they need to check the merchant’s account balance with the [Balance API.](#/balance/get_user-account)\n\n  - In case of a zero balance, funds must be allocated with the [Transfer API](#/transfer/post_transfer]).\n  - If the balance equals the amount of the allocated funds, a fund withdrawal request can be made with the [Withdrawal API](#/withdrawal/post_withdrawal). (The Withdrawal API allows for a withdrawal request to transfer money to the merchant’s bank account and also to the partner’s bank account.)\n  - There must be a zero balance in the end.\n\n## Marketplace live testing:\n\nThis documentation describes the Marketplace API parameters and response fields and allows you to test the platform in real time.\n\n## Marketplace API base URLs:\n\n| Environment | Base URL |\n| --- | --- |\n| Test | https://test-professional.hipay.com/api/ |\n| Production | https://professional.hipay.com/api/ |\n\n## Authentication:\n\nAll requests to the HiPay Marketplace API require you to authenticate yourself using the HTTP *Basic Authentication* to convey your identity. Your API credentials can be found in [your Test HiPay Professional back office](https://test-merchant.hipaywallet.com/login). Most HTTP clients (including web browsers) have built-in support for HTTP Basic Authentication. If not, the following header must be included in all HTTP requests.\n\n`Authorization: Basic base64(\"<API login>:<API password>\")`\n"
servers:
- url: https://test-professional.hipay.com/api
tags:
- name: transfer
  description: Transfer funds between HiPay accounts
paths:
  /transfer.{_format}:
    post:
      description: '

        ### Information

        Allows you to transfer funds from a HiPay account to another HiPay account. HiPay suggests performing fund allocation and withdrawal all at once.


        All the funds are held in escrow before being deposited on the technical account. The Transfer API is then used to allocate funds from the technical account to the merchants'' accounts. The Transfer API allows transfer requests to be made on the agent’s behalf or on the behalf of a third party.


        The technical account is therefore a monitoring tool that provides a clear view of fund allocation (fund remittance, refunds, chargebacks).


        For more information, please read the [HiPay Marketplace Fund allocation section](/marketplace/api-integration/cash-out#fund-allocation)'
      operationId: post_transfer
      x-disableTryItOut: true
      parameters:
      - in: path
        name: _format
        required: true
        schema:
          type: string
          enum:
          - json
          - xml
          default: json
      - description: Account ID if operations must be made on an account other than yours (you must have specific rights on this account).
        in: header
        name: php-auth-subaccount-id
        schema:
          type: integer
      - description: Account login (email address) if operations must be made on an account other than yours (you must have specific rights on this account).
        in: header
        name: php-auth-subaccount-login
        schema:
          type: string
      responses:
        '200':
          description: Error response
          content:
            application/json:
              schema:
                properties:
                  code:
                    description: Status code of the answer. 4 => Action not allowed 26 => Transfer in progress
                    format: int32
                    type: integer
                    default: 4
                  message:
                    description: Description of the answer.
                    type: string
                    default: Action not allowed
        '201':
          description: Success response
          content:
            application/json:
              schema:
                properties:
                  code:
                    description: Status code of the answer.
                    format: int32
                    type: integer
                  message:
                    description: Description of the answer.
                    type: string
                  transaction_id:
                    description: HiPay’s transaction ID.
                    type: string
                  amount:
                    description: Transferred amount.
                    format: float
                    type: number
                  currency:
                    description: Currency of the transfer.
                    type: string
                  recipient_username:
                    description: Login of the recipient account (email).
                    type: string
                  public_label:
                    description: Label of the transfer known by you and the recipient user.
                    type: string
                  private_label:
                    description: Label of the transfer only known by you.
                    type: string
                  merchant_unique_id:
                    description: Unique ID of the transfer sent by the merchant.
                    type: string
                  periodicity_type:
                    description: Periodicity type of the transfer.
                    type: string
                  periodicity:
                    description: Periodicity of the transfer.
                    type: string
                  date:
                    description: Execution date of the transfer.
                    type: string
        '400':
          description: Validation failed.
        '401':
          description: Authentication failed.
      summary: Transfer funds between HiPay accounts
      tags:
      - transfer
      security:
      - basicAuth: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                recipient_account_id:
                  type: integer
                  format: int32
                  default: '592734'
                  description: Account ID of the recipient account.
                recipient_account_login:
                  type: string
                  default: developer@hipay.com
                  description: Login of the recipient account (email).
                amount:
                  type: number
                  format: float
                  default: '19.90'
                  description: Amount of the transfer in the account currency.
                public_label:
                  type: string
                  default: Custom public label
                  description: Label of the transfer known by you and the recipient user.
                private_label:
                  type: string
                  default: Custom private label
                  description: Label of the transfer only known by you.
                merchant_unique_id:
                  type: string
                  default: ORDER_1973645854
                  description: Unique ID of the transfer sent by the merchant. HiPay will process only 1 transfer with this ID.
                periodicity_type:
                  type: string
                  enum:
                  - direct
                  - deferred
                  - periodic
                  default: direct
                  description: Periodicity type of the transfer.
                periodicity:
                  type: integer
                  format: int32
                  default: '15'
                  description: 'Periodicity (required for a periodic transfer).

                    If you select a date which does not exist every month (29, 30 or 31), the transfer will take place on the last day of the month.

                    If you select a date before today''s date, the first transfer will take place next month.'
                date:
                  type: string
                  format: date
                  default: '2020-11-20'
                  description: Execution date of the transfer (required for a deferred transfer).
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic