openapi: 3.0.0 info: title: Hipay Payment Gateway balance Transaction API description: '## Version 1.6.1 - June 11, 2025 The Gateway API allows you to get paid and manage orders and transactions. Please note: this documentation describes the Gateway API parameters and response fields and allows you to test the platform in real time. This page is to be used alongside the **[HiPay Enterprise Platform Overview documentation](https://developer.hipay.com/api-explorer/api-online-payments)**, which gives you more information and details on the HiPay Enterprise workflow. You may use both documents in parallel when integrating HiPay Enterprise. # Web service information ## Gateway API base URLs | Environment | Base URL | | --- | --- | | Stage | [https://stage-api-gateway.hipay.com](https://stage-api-gateway.hipay.com) | | Production | [https://api-gateway.hipay.com](https://api-gateway.hipay.com) | ## Authentication All requests to the HiPay Enterprise API require identification through *HTTP Basic Authentication*. Your API credentials can be found in the Integration section of your HiPay Enterprise back office. 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. `Authorization: Basic base64(''API login>:'')` ' version: 1.6.1 servers: - url: https://stage-api-gateway.hipay.com description: Stage - url: https://api-gateway.hipay.com description: Production tags: - name: Transaction paths: /v3/transaction/{transaction_reference}: get: tags: - Transaction operationId: get_api_transaction_consultation_public parameters: - name: transaction_reference in: path description: The unique identifier of the transaction. required: true schema: type: string pattern: \d+ example: '800000420435' responses: '200': description: Transaction retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/Transaction' '401': description: An authentication error occurred/invalid credentials. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: This transaction is not found. content: application/json: schema: $ref: '#/components/schemas/Error' security: - ApiKeyAuth: [] - BasicAuth: [] /v3/transactions/{type}/{value}: get: tags: - Transaction operationId: get_api_transaction_consultations_by_type_public parameters: - name: type in: path required: true schema: type: string pattern: arn|opid|acquirerid enum: - arn - opid - acquirerid - name: value in: path required: true schema: type: string responses: '200': description: Transactions retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/TransactionCollection' '400': description: The request was rejected due to a validation error. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: An authentication error occurred/invalid credentials. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: No transaction found. content: application/json: schema: $ref: '#/components/schemas/Error' security: - ApiKeyAuth: [] - BasicAuth: [] /v1/transaction/{transaction_reference}: get: tags: - Transaction summary: Gets details of existing transactions based on a transaction ID description: Gets details of existing transactions based on a transaction ID. operationId: getTransactionByReference parameters: - name: transaction_reference in: path description: The unique identifier of the transaction. required: true schema: type: string example: '800000420435' x-sort: 1 responses: '200': description: Transaction retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/TransactionDetail' '400': description: The request was rejected due to a validation error. content: application/json: schema: $ref: '#/components/schemas/Error_2' '401': description: An authentication error occurred/invalid credentials. content: application/json: schema: $ref: '#/components/schemas/Error_2' '403': description: Access to this resource is fordidden. content: application/json: schema: $ref: '#/components/schemas/Error_2' deprecated: true security: - basicAuth: [] /v1/transaction: get: tags: - Transaction summary: Gets details of existing transactions related to a given order description: Gets details of existing transactions related to a given order. Deprecated, you can refer to [this page](https://developer.hipay.com/api-explorer/api-gateway#/transaction/get_api_consultation_transaction) for new endpoint operationId: getTransactionsByReference parameters: - name: orderid in: query description: Merchant unique order id. Return all the transactions related to an order id. required: true schema: type: string example: ORDER_1487239265080 x-sort: 1 responses: '200': description: Transactions retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/TransactionDetail' '400': description: The request was rejected due to a validation error. content: application/json: schema: $ref: '#/components/schemas/Error_2' '401': description: An authentication error occurred/invalid credentials. content: application/json: schema: $ref: '#/components/schemas/Error_2' '403': description: Access to this resource is fordidden. content: application/json: schema: $ref: '#/components/schemas/Error_2' deprecated: true security: - basicAuth: [] /transaction.{_format}: get: produces: [] consumes: - multipart/form-data summary: Get transactions list description: ' ### Information Get transactions list.' parameters: - in: path name: _format required: true type: string enum: - json - xml default: json - in: query description: 'Start of transaction date range. Accepted formats : yyyy-MM-dd HH:MM:ss and yyyy-MM-dd. Default date : 7 days ago. Default time : 00:00:00.' name: start-date type: string default: '2018-01-31' - in: query description: 'End of transaction date range. Accepted formats : yyyy-MM-dd HH:MM:ss and yyyy-MM-dd. Default date : today. Default time : 23:59:59. Interval between start-date and end-date cannot be greater than 3 months (92 days). ' name: end-date type: string default: '2018-04-07' - in: query description: 'Number of results to display on each page. Cannot exceed 1000. Default : 20' name: nb-result-per-page type: integer format: int32 default: 20 - in: query description: 'Page number. First page has number 1. Default : 1' name: page type: integer format: int32 default: 1 - in: query description: 'Properties sorting configuration. Ex: sort-props[email]=asc&sort-props[status]=desc. Default : sort-props[captured]=desc' name: sort-props type: string - 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 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 type: string responses: '200': description: Success response. schema: properties: code: type: integer format: int32 description: Status code of the answer. message: type: string description: Description of the answer. nb_result: type: integer format: int32 description: Total number of results matching search criterias transactions_list: type: array items: type: string description: List of transactions '400': description: Validation failed. '401': description: Authentication failed. tags: - Transaction security: - basicAuth: [] /transaction/{id}.{_format}: get: produces: [] consumes: - multipart/form-data summary: Get transaction details description: ' ### Information This request will send you the details of a requested transaction.' parameters: - in: path name: id description: HiPay transaction ID or Merchant reference of transaction ID to verify. required: true type: string default: 5a71d61c6778932713 - in: path name: _format required: true 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 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 type: string responses: '200': description: Success response. schema: properties: code: type: integer format: int32 description: Status code of the answer. message: type: string description: Description of the answer. transaction_id: type: string description: HiPay transaction ID. amount: type: number format: float description: Transaction amount. currency: type: string description: Transaction currency. creation_date: type: string description: Transaction creation date. collect_date: type: string description: Transaction collect date. transaction_status: type: string description: "### Actual status of the transaction\nTransaction type\n\n - `1`: feeding\n - `2`: external transfer\n - `3`: simple payment\n - `4`: direct payment\n - `5`: european withdrawal\n - `6`: other\n - `7`: international transfer\n - `8`: international withdrawal\n - `10`: affiliation transfer\n - `11`: tax transfer\n - `12`: identification transfer\n - `13`: direct donation\n - `14`: simple donation\n - `15`: payable reference payment\n - `16`: business contributor transfer\n - `17`: injection payment" transaction_label: type: string description: Transaction label. type: type: string description: Transaction type. capture_date: type: string description: Transaction capture date. issuer_email: type: string description: Issuer email. recipient_email: type: string description: Recipient email. subscription_id: type: string description: If a subscription is linked to the transaction, subscription ID. merchant_reference: type: string description: Merchant reference sent to the transaction. site_url: type: string description: Site URL linked to the transaction. merchant_email: type: string description: Merchant Email. site_name: type: string description: Website name. fees: type: string description: Transaction fees. currency_fees: type: string description: Currency linked to fees. refusal_reason: type: string description: Refusal reason. '400': description: Validation failed. '401': description: Authentication failed. tags: - Transaction security: - basicAuth: [] components: schemas: Result3: type: string enum: - NOT_LAUNCHED - PENDING - ACCEPTED - REQUEST EXEMPTION - BLOCKED - CHALLENGED - AUTHENTICATE - FORCE_AUTHENTICATE - OVERRIDE - ACCEPT WITH NO PREFERENCE - DENIED - ALLOWED reason: title: Reason description: Reason model properties: code: description: '' type: string x-sort: 1 message: description: '' type: string x-sort: 5 type: object Preference: type: integer enum: - 1 - 2 - 3 - 4 - 5 - 7 Issuer3: properties: fullname: type: string nullable: true institution: type: string nullable: true country: type: string nullable: true type: object Review3: type: string enum: - ALLOWED - PENDING - DENIED Address2: properties: house_number: description: House number. type: string example: '101' nullable: true house_extension: description: House extension. type: string example: B nullable: true street: description: Street address. type: string example: Rue de Rivoli nullable: true street_additional: description: Additional address information of the customer (e.g., building, floor, flat, etc.). type: string example: Immeuble B nullable: true locality: description: City. type: string example: Paris nullable: true locality_additional: description: The USA state or the Canada state of the customer making the purchase. Send this information only if the address country of the customer is US (USA) or CA (Canada) type: string example: '' nullable: true postal_code: description: The zip or postal code of the customer. type: string example: '75001' nullable: true country: description: Country code to which the order is being shipped. This two-letter country code complies with ISO 3166-1 (alpha 2). type: string example: FR nullable: true type: object Authentication4: required: - eci properties: enrollment_status: description: '' type: string example: N nullable: true enrollment_message: description: '' type: string example: Cardholder Not Enrolled nullable: true authentication_status: nullable: true oneOf: - $ref: '#/components/schemas/Authentication6' authentication_message: type: string nullable: true eci: description: 'Electronic Commerce Indicator (ECI). The Electronic Commerce Indicator (ECI) is used by acquirers/issuers to determine the type of transaction being processed. The ECI value should represent the source of the transaction request. That is, the environment that the cardholder used to provide the payment card details to the merchant. It is important that merchants set the correct ECI value during transaction processing to ensure that appropriate merchant service rates are received.' type: integer example: 5 sca_preference: description: "To indicate the preference for a frictionless flow during the authentication request, the merchant may send the sca_preference parameter.\n\nDepending on the merchant's assessment of the risk of fraud, specific values may be sent.\n\nThis parameter can only be used by merchants who have a fraud risk assessment mechanism of their own and who have subscribed to the SCA Preference merchant option.\n\nPlease contact your account manager to request it.\n\n`1` : No Preference.\n\n If you are not sure about the transaction's risk of fraud, use this value. Using this value for all your transactions may result in a high strong customer authentication rate.\n\n`2` : No Challenge\n\n If you think this transaction is safe. This will tell the acquirer a frictionless flow is preferred.\n\n`3` : Challenge Requested\n\n If you think this transaction may be at risk, use this value. This will tell the acquirer that a strong customer authentication may be required, depending on the PSD2 specific information you sent along with the transaction." example: 1 nullable: true oneOf: - $ref: '#/components/schemas/Preference3' method: description: "To indicate the authentication method used :\n\n - 3DSecure\n\n - ApplePay" type: string example: 3DSecure nullable: true three_ds_version: description: 3D Secure Version type: string example: '2' nullable: true three_ds_authentication_method: description: "3D Secure Authentication Method:\n\n - challenge\n\n - frictionless\n\n - empty" example: frictionless nullable: true oneOf: - $ref: '#/components/schemas/ThreeDSAuthenticationMethod3' three_ds_liability: description: "3D Secure payment liability shift:\n\n - issuer\n\n - merchant\n\n - not applicable" example: issuer nullable: true oneOf: - $ref: '#/components/schemas/ThreeDSAuthenticationLiability3' type: object ReasonCode: properties: code: type: integer nullable: true reason: type: string nullable: true type: object paymentMethod: title: Payment description: Payment model properties: token: description: '' type: string x-sort: 1 brand: description: '' type: string x-sort: 5 pan: description: '' type: string x-sort: 10 cardExpiryMonth: description: '' type: string example: '03' x-sort: 20 cardExpiryYear: description: '' type: string example: '2020' x-sort: 25 issuer: description: 'Name of the financial institution that issued the payment method.' type: string x-sort: 30 country: description: The country code where payment method was issued. type: string example: US x-sort: 35 cardHolder: description: '' type: string example: JOHN DOE x-sort: 15 type: object ComputedAuthenticationStatus3: type: string enum: - No authentication - Abandoned strong authentication - Unsuccessful authentication attempted - Challenge authentication - Frictionless authentication - Successful authentication - Failed authentication - Unknown authentication ThreeDSAuthenticationMethod3: type: string enum: - challenge - frictionless - '' Status6: type: string enum: - available - created - error - incomplete - pending - suspended - terminated CardEntryMode2: type: string enum: - Not specified - Magstripe - Contactless chip transaction using EMV chip data - Contactless chip transaction using magstripe data - ICC - Manual entry - Magstripe, after attempt to read chip - Provided by a server - Card-on-File Transaction_2: title: Transaction description: Transaction model properties: order: type: object allOf: - $ref: '#/components/schemas/OrderResponse' x-sort: 140 authorizationCode: description: '' type: string example: author x-sort: 25 dateCreated: description: '' type: string example: 2019-02-07T10:07:09+0000 x-sort: 35 dateAuthorized: description: '' type: string example: 2019-02-07T10:07:09+0000 x-sort: 45 authorizedAmount: description: '' type: string example: '125.85' x-sort: 60 decimals: description: '' type: string example: '2' x-sort: 80 currency: description: '' type: string example: EUR x-sort: 85 ipAddress: description: '' type: string example: 0.0.0.0 x-sort: 90 ipCountry: description: '' type: string example: 0.0.0.0 x-sort: 95 avsResult: description: '' type: string x-sort: 105 cvcResult: description: '' type: string x-sort: 110 threeDSecure: type: object allOf: - $ref: '#/components/schemas/ThreeDSecure' x-sort: 130 transactionReference: description: Unique Transaction Identifier. type: string example: '800000790677' x-sort: 30 attemptId: description: Attempt identifier. type: integer example: '1' x-sort: 20 dateUpdated: description: 'Date of last status change. This date must comply with ISO 8601.' type: string x-sort: 40 state: description: Transaction state. type: string example: completed x-sort: 1 mid: description: 'Merchant id (MID). Unique identifier assigned to the merchant.' type: integer x-sort: 15 capturedAmount: description: Captured amount. type: string example: '125.75' x-sort: 65 refundedAmount: description: Refunded amount. type: string example: '00.00' x-sort: 70 creditedAmount: description: Total credited. type: string x-sort: 75 chargebackedAmount: description: Chargebacked amount. type: string example: '125.75' x-sort: 65 paymentProduct: description: The payment product used for processing current transaction. type: string example: visa x-sort: 120 paymentMethod: description: The payment method used for processing current transaction. type: object allOf: - $ref: '#/components/schemas/paymentMethod' x-sort: 125 status: description: Transaction status. type: integer example: '116' x-sort: 50 reason: description: The numeric value of the error. type: object allOf: - $ref: '#/components/schemas/reason' x-sort: 5 forwardUrl: description: URL of the page on which to redirect the customer. type: string x-sort: 10 deviceId: description: '' type: string x-sort: 100 fraudScreening: description: Fraud screening result. type: object allOf: - $ref: '#/components/schemas/fraud' x-sort: 135 eci: description: 'Electronic Commerce Indicator (ECI). The Electronic Commerce Indicator (ECI) is used by acquirers/issuers to determine the type of transaction being processed. The ECI value should represent the source of the transaction request. That is, the environment that the cardholder used to provide the payment card details to the merchant. It is important that merchants set the correct ECI value during transaction processing to ensure that appropriate merchant service rates are received.' type: integer example: '7' x-sort: 115 debitAgreement: type: object allOf: - $ref: '#/components/schemas/debitAgreement' x-sort: 145 message: type: string x-sort: 55 type: object OperationType3: type: string enum: - CAPTURE - CREDIT - REFUND - CHGBCK - CHGBCK_REFUND - RDR Error_2: title: Error description: Error model properties: code: description: Code type: integer x-sort: 1 message: description: Message type: string x-sort: 5 description: description: Description type: string x-sort: 10 type: object TerminalInformation2: properties: payment_context: description: Payment context type: string example: online nullable: true input_mode: description: Input mode type: string example: contact nullable: true aid: description: Aid type: string example: A0000000422010 nullable: true payment_gateway: description: Payment gateway type: string example: nepting nullable: true authorization_code: description: Authorization code type: string example: '00' nullable: true authorization_number: description: Authorization number type: string example: '963379' nullable: true customer_receipt: description: Customer receipt type: string nullable: true payment_source: description: Payment source type: string example: IPN Nepting nullable: true payment_terminal_serial_number: description: Payment terminal serial number type: string nullable: true idsa: description: Acceptance system identifier assigned by an acquirer type: string nullable: true rts: description: Transaction ID generated by the issuer auth system type: string nullable: true card_entry_mode: description: Card entry mode example: magstripe nullable: true oneOf: - $ref: '#/components/schemas/CardEntryMode2' file_number: description: File number type: string nullable: true type: object fraud: title: Fraud screening description: Fraud screening model properties: scoring: description: '' type: string example: '0' x-sort: 1 result: description: '' type: string example: ACCEPTED x-sort: 5 review: description: '' type: string example: '' x-sort: 15 type: object Authentication6: type: string enum: - Authentication Successful - Authentication Attempt Performed - Authentication Failed - Authentication Could Not Be Performed - Error - Not applicable - Cardholder challenge required - Not authenticated because the issuer is rejecting authentication - Challenge required; decoupled authentication confirmed - Informational only; 3DS Requestor challenge preference acknowledged - Mastercard Delegated Authentication Status: type: integer enum: - 1 - 2 - 3 - 4 - 52 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 42 - 43 - 75 - 16 - 55 - 17 - 18 - 54 - 19 - 20 - 21 - 22 - 23 - 24 - 65 - 25 - 26 - 27 - 28 - 29 - 34 - 30 - 31 - 32 - 40 - 41 - 80 - 81 - 82 - 83 - 50 - 51 - 53 - 57 - 69 - 66 - 72 - 74 - 77 - 78 Cvc3: type: string enum: - Match - No Match - Not Processed - Missing - Not Supported PaymentMethod3: required: - name - description properties: name: type: string description: type: string type: object ThreeDSAuthenticationLiability: type: string enum: - issuer - merchant - not applicable Transaction: required: - id - attemptid - merchant_order_id - state - status - eci - amount - captured_amount - refunded_amount - credited_amount - chargebacked_amount - acquirer - issuer - device - forward_url - customer_country - date_created - date_updated - mid - operations - authorized_amount - currency - decimals properties: id: description: Unique transaction ID. type: integer example: '2456731565945' order: nullable: true oneOf: - $ref: '#/components/schemas/Order2' attemptid: type: integer merchant_order_id: type: string state: $ref: '#/components/schemas/TransactionState' status: $ref: '#/components/schemas/Status' computed_authentication_status: description: Transaction computed authentication status. example: Successful authentication nullable: true oneOf: - $ref: '#/components/schemas/ComputedAuthenticationStatus' reason: nullable: true oneOf: - $ref: '#/components/schemas/ReasonCode' eci: description: 'Electronic Commerce Indicator (ECI). The Electronic Commerce Indicator (ECI) is used by acquirers/issuers to determine the type of transaction being processed. The ECI value should represent the source of the transaction request. That is, the environment that the cardholder used to provide the payment card details to the merchant. It is important that merchants set the correct ECI value during transaction processing to ensure that appropriate merchant service rates are received.' type: integer example: 7 amount: description: Transaction amount. type: string example: '125.75' captured_amount: description: Captured amount. type: string example: '125.75' refunded_amount: description: Refunded amount. type: string example: '0.00' credited_amount: description: Total credited. type: string example: '125.75' chargebacked_amount: description: Chargebacked amount. type: string example: '125.75' payment_product: description: The payment product used for processing current transaction. example: visa nullable: true oneOf: - $ref: '#/components/schemas/PaymentProduct' acquirer: $ref: '#/components/schemas/Acquirer' acquirer_tra: nullable: true oneOf: - $ref: '#/components/schemas/AcquirerTraContext' issuer: $ref: '#/components/schemas/Issuer' card: nullable: true oneOf: - $ref: '#/components/schemas/Card' debit_agreement: nullable: true oneOf: - $ref: '#/components/schemas/DebitAgreement' device: $ref: '#/components/schemas/Device' authentication: nullable: true oneOf: - $ref: '#/components/schemas/Authentication' authorization_code: type: string nullable: true forward_url: description: URL of the page on which to redirect the customer. type: string example: '' fraud_screening: nullable: true oneOf: - $ref: '#/components/schemas/FraudResult' cvc_result: nullable: true oneOf: - $ref: '#/components/schemas/Cvc' customer_country: type: string example: FR date_created: type: string format: date-time date_updated: description: 'Date of last status change. This date must comply with ISO 8601.' type: string format: date-time date_authorized: type: string format: date-time nullable: true mid: description: 'Merchant id (MID). Unique identifier assigned to the merchant.' type: integer operations: type: array items: $ref: '#/components/schemas/Operation' authorized_amount: description: Authorized amount. type: string example: '125.75' currency: $ref: '#/components/schemas/Currency2' decimals: type: integer example: '2' type: object Acquirer: properties: transaction_reference: description: Unique Transaction Identifier. type: string example: '800000790677' nullable: true type: object OperationStatus3: type: string enum: - CANCELLED - COMPLETED - CREATED - FAILURE - NOT_PROCESSED - PENDING - RECONCILED - REMITTED - REQUESTED - RETRIED - SPLIT - CHGBCK - CHGBCK_REFUND DebitAgreement: required: - id - status properties: id: type: integer scheme_reference_data: type: string nullable: true status: $ref: '#/components/schemas/Status3' recurring_payment_end_date: type: string nullable: true type: object Cvc: type: string enum: - Match - No Match - Not Processed - Missing - Not Supported AcquirerTraContext3: type: object Device3: required: - ip_address properties: id: type: string nullable: true ip_address: description: The IP address of the Device type: string example: 127.0.0.1 type: object Error: required: - message - code properties: message: type: string code: type: integer details: type: array items: {} default: null nullable: true description: type: string nullable: true type: object Transaction3: required: - id - attemptid - merchant_order_id - state - status - status_history - eci - amount - captured_amount - refunded_amount - credited_amount - chargebacked_amount - acquirer - issuer - device - forward_url - customer_country - date_created - date_updated - mid - operations - authorized_amount - currency - decimals properties: id: description: Unique transaction ID. type: integer example: '2456731565945' order: nullable: true oneOf: - $ref: '#/components/schemas/Order3' attemptid: type: integer merchant_order_id: type: string state: $ref: '#/components/schemas/TransactionState3' status: $ref: '#/components/schemas/Status4' computed_authentication_status: description: Transaction computed authentication status. example: Successful authentication nullable: true oneOf: - $ref: '#/components/schemas/ComputedAuthenticationStatus3' status_history: $ref: '#/components/schemas/StatusHistoryCollection' reason: nullable: true oneOf: - $ref: '#/components/schemas/ReasonCode3' eci: description: 'Electronic Commerce Indicator (ECI). The Electronic Commerce Indicator (ECI) is used by acquirers/issuers to determine the type of transaction being processed. The ECI value should represent the source of the transaction request. That is, the environment that the cardholder used to provide the payment card details to the merchant. It is important that merchants set the correct ECI value during transaction processing to ensure that appropriate merchant service rates are received.' type: integer example: 7 amount: description: Transaction amount. type: string example: '125.75' captured_amount: description: Captured amount. type: string example: '125.75' refunded_amount: description: Refunded amount. type: string example: '0.00' credited_amount: description: Total credited. type: string example: '125.75' chargebacked_amount: description: Chargebacked amount. type: string example: '125.75' payment_product: description: The payment product used for processing current transaction. example: visa nullable: true oneOf: - $ref: '#/components/schemas/PaymentProduct3' acquirer: $ref: '#/components/schemas/Acquirer3' acquirer_tra: nullable: true oneOf: - $ref: '#/components/schemas/AcquirerTraContext3' issuer: $ref: '#/components/schemas/Issuer3' card: nullable: true oneOf: - $ref: '#/components/schemas/Card3' debit_agreement: nullable: true oneOf: - $ref: '#/components/schemas/DebitAgreement3' device: $ref: '#/components/schemas/Device3' authentication: nullable: true oneOf: - $ref: '#/components/schemas/Authentication4' authorization_code: type: string nullable: true forward_url: description: URL of the page on which to redirect the customer. type: string example: '' fraud_screening: nullable: true oneOf: - $ref: '#/components/schemas/FraudResult3' cvc_result: nullable: true oneOf: - $ref: '#/components/schemas/Cvc3' customer_country: type: string example: FR date_created: type: string format: date-time date_updated: description: 'Date of last status change. This date must comply with ISO 8601.' type: string format: date-time date_authorized: type: string format: date-time nullable: true mid: description: 'Merchant id (MID). Unique identifier assigned to the merchant.' type: integer operations: type: array items: $ref: '#/components/schemas/Operation3' authorized_amount: description: Authorized amount. type: string example: '125.75' currency: $ref: '#/components/schemas/Currency3' decimals: type: integer example: '2' type: object FraudResult3: required: - result - review - score properties: result: $ref: '#/components/schemas/Result3' review: $ref: '#/components/schemas/Review3' score: type: integer example: 200 type: object Status4: type: integer enum: - 1 - 2 - 3 - 4 - 52 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 42 - 43 - 75 - 16 - 55 - 17 - 18 - 54 - 19 - 20 - 21 - 22 - 23 - 24 - 65 - 25 - 26 - 27 - 28 - 29 - 34 - 30 - 31 - 32 - 40 - 41 - 80 - 81 - 82 - 83 - 50 - 51 - 53 - 57 - 69 - 66 - 72 - 74 - 77 - 78 Device: required: - ip_address properties: id: type: string nullable: true ip_address: description: The IP address of the Device type: string example: 127.0.0.1 type: object CardEntryMode3: type: string enum: - Not specified - Magstripe - Contactless chip transaction using EMV chip data - Contactless chip transaction using magstripe data - ICC - Manual entry - Magstripe, after attempt to read chip - Provided by a server - Card-on-File Authentication3: type: string enum: - Authentication Successful - Authentication Attempt Performed - Authentication Failed - Authentication Could Not Be Performed - Error - Not applicable - Cardholder challenge required - Not authenticated because the issuer is rejecting authentication - Challenge required; decoupled authentication confirmed - Informational only; 3DS Requestor challenge preference acknowledged - Mastercard Delegated Authentication ThreeDSAuthenticationMethod: type: string enum: - challenge - frictionless - '' Review: type: string enum: - ALLOWED - PENDING - DENIED FraudResult: required: - result - review - score properties: result: $ref: '#/components/schemas/Result' review: $ref: '#/components/schemas/Review' score: type: integer example: 200 type: object Customer2: required: - email - phone properties: id: type: string example: '283749291' nullable: true firstname: description: The customer’s first name. This value will be use to pre-fill cardholder name on credit card payment form. type: string example: Rose nullable: true lastname: description: The customer’s last name. This value will be use to pre-fill cardholder name on credit card payment form. type: string example: Dévent nullable: true email: description: The customer’s e-mail address. type: string example: otto.graph@foobar.email phone: description: The customer’s phone. type: string example: 01234567890 language: type: string example: en_GB nullable: true type: object Address3: properties: house_number: description: House number. type: string example: '101' nullable: true house_extension: description: House extension. type: string example: B nullable: true street: description: Street address. type: string example: Rue de Rivoli nullable: true street_additional: description: Additional address information of the customer (e.g., building, floor, flat, etc.). type: string example: Immeuble B nullable: true locality: description: City. type: string example: Paris nullable: true locality_additional: description: The USA state or the Canada state of the customer making the purchase. Send this information only if the address country of the customer is US (USA) or CA (Canada) type: string example: '' nullable: true postal_code: description: The zip or postal code of the customer. type: string example: '75001' nullable: true country: description: Country code to which the order is being shipped. This two-letter country code complies with ISO 3166-1 (alpha 2). type: string example: FR nullable: true type: object debitAgreement: title: Debit Agreement description: Debit Agreement model properties: id: type: string x-sort: 1 status: type: string x-sort: 5 type: object TransactionState: type: string enum: - completed - waiting - pending - declined - forwarding - error OperationType: type: string enum: - CAPTURE - CREDIT - REFUND - CHGBCK - CHGBCK_REFUND - RDR Card: properties: pan: type: string nullable: true last_digits: type: string nullable: true scheme: type: string nullable: true category: type: string nullable: true type: type: string nullable: true bin: type: integer nullable: true token: type: string nullable: true type: object Card3: properties: pan: type: string nullable: true last_digits: type: string nullable: true scheme: type: string nullable: true category: type: string nullable: true type: type: string nullable: true bin: type: integer nullable: true token: type: string nullable: true type: object StatusHistoryCollection: type: object DebitAgreement3: required: - id - status properties: id: type: integer scheme_reference_data: type: string nullable: true status: $ref: '#/components/schemas/Status6' recurring_payment_end_date: type: string nullable: true type: object ReasonCode3: properties: code: type: integer nullable: true reason: type: string nullable: true type: object PaymentMethod: required: - name - description properties: name: type: string description: type: string type: object Order2: required: - id - attempts - amount - shipping - tax - customer - shipping_to - date_created - currency - decimals properties: id: description: Unique order ID. type: integer example: '1537532589263' attempts: description: Attempt identifier type: integer example: 1 amount: description: Total order amount, calculated as the sum of purchased items, plus shipping fees (if present), plus tax fees (if present). type: string example: '8.99' shipping: description: The order shipping fee. It can be omitted if the shipping fee value is zero. type: string example: '1.30' tax: description: The order tax fee. It can be omitted if the order tax value is zero... type: string example: '1.10' customer: $ref: '#/components/schemas/Customer2' shipping_to: $ref: '#/components/schemas/ShippingAddress2' terminal_information: description: The customer terminal informations used for the order. nullable: true oneOf: - $ref: '#/components/schemas/TerminalInformation2' date_created: type: string format: date-time currency: $ref: '#/components/schemas/Currency2' decimals: type: integer example: '2' billing_to: nullable: true oneOf: - $ref: '#/components/schemas/Address2' custom_data: type: string nullable: true type: object TerminalInformation3: properties: payment_context: description: Payment context type: string example: online nullable: true input_mode: description: Input mode type: string example: contact nullable: true aid: description: Aid type: string example: A0000000422010 nullable: true payment_gateway: description: Payment gateway type: string example: nepting nullable: true authorization_code: description: Authorization code type: string example: '00' nullable: true authorization_number: description: Authorization number type: string example: '963379' nullable: true customer_receipt: description: Customer receipt type: string nullable: true payment_source: description: Payment source type: string example: IPN Nepting nullable: true payment_terminal_serial_number: description: Payment terminal serial number type: string nullable: true idsa: description: Acceptance system identifier assigned by an acquirer type: string nullable: true rts: description: Transaction ID generated by the issuer auth system type: string nullable: true card_entry_mode: description: Card entry mode example: magstripe nullable: true oneOf: - $ref: '#/components/schemas/CardEntryMode3' file_number: description: File number type: string nullable: true type: object Preference3: type: integer enum: - 1 - 2 - 3 - 4 - 5 - 7 Order3: required: - id - attempts - amount - shipping - tax - customer - shipping_to - date_created - currency - decimals properties: id: description: Unique order ID. type: integer example: '1537532589263' attempts: description: Attempt identifier type: integer example: 1 amount: description: Total order amount, calculated as the sum of purchased items, plus shipping fees (if present), plus tax fees (if present). type: string example: '8.99' shipping: description: The order shipping fee. It can be omitted if the shipping fee value is zero. type: string example: '1.30' tax: description: The order tax fee. It can be omitted if the order tax value is zero... type: string example: '1.10' customer: $ref: '#/components/schemas/Customer3' shipping_to: $ref: '#/components/schemas/ShippingAddress3' terminal_information: description: The customer terminal informations used for the order. nullable: true oneOf: - $ref: '#/components/schemas/TerminalInformation3' date_created: type: string format: date-time currency: $ref: '#/components/schemas/Currency3' decimals: type: integer example: '2' billing_to: nullable: true oneOf: - $ref: '#/components/schemas/Address3' custom_data: type: string nullable: true type: object Customer3: required: - email - phone properties: id: type: string example: '283749291' nullable: true firstname: description: The customer’s first name. This value will be use to pre-fill cardholder name on credit card payment form. type: string example: Rose nullable: true lastname: description: The customer’s last name. This value will be use to pre-fill cardholder name on credit card payment form. type: string example: Dévent nullable: true email: description: The customer’s e-mail address. type: string example: otto.graph@foobar.email phone: description: The customer’s phone. type: string example: 01234567890 language: type: string example: en_GB nullable: true type: object Acquirer3: properties: transaction_reference: description: Unique Transaction Identifier. type: string example: '800000790677' nullable: true type: object ThreeDSecure: title: ThreeDSecure description: ThreeDSecure model properties: eci: description: '' type: string example: '6' x-sort: 1 enrollmentStatus: description: '' type: string example: N x-sort: 5 enrollmentMessage: description: '' type: string example: Cardholder Not Enrolled x-sort: 10 authenticationStatus: description: '' type: string example: '' x-sort: 15 authenticationMessage: description: '' type: string example: '' x-sort: 20 authenticationToken: description: '' type: string example: '' x-sort: 25 xid: description: '' type: string example: '' x-sort: 30 type: object OrderResponse: title: Order Response description: Order Response model properties: id: description: '' type: string example: '1549547828947' x-sort: 1 dateCreated: description: '' type: string example: 2019-02-07T13:57:08+0000 x-sort: 5 attempts: description: '' type: string example: '0' x-sort: 10 amount: description: '' type: string example: '125.75' x-sort: 15 shipping: description: '' type: string example: '0' x-sort: 20 tax: description: '' type: string example: '1.10' x-sort: 25 decimals: description: '' type: string example: '2' x-sort: 30 currency: description: '' type: string example: EUR x-sort: 35 customerId: description: '' type: string example: '283749291' x-sort: 40 language: description: '' type: string example: en_GB x-sort: 45 email: description: '' type: string example: john.doe@foobar99.com x-sort: 50 amount_to_capture: description: '' type: string example: '125.75' x-sort: 55 sca_preference: description: "To indicate the preference for a frictionless flow during the authentication request, the merchant may send the sca_preference parameter.\n Depending on the merchant's assessment of the risk of fraud, specific values may be sent.\n This parameter can only be used by merchants who have a fraud risk assessment mechanism of their own and who have subscribed to the SCA Preference merchant option.\n Please contact your account manager to request it.\n\n `1` : No Preference.\n If you are not sure about the transaction's risk of fraud, use this value. Using this value for all your transactions may result in a high strong customer authentication rate.\n `2` : No Challenge\n If you think this transaction is safe. This will tell the acquirer a frictionless flow is preferred.\n `3` : Challenge Requested\n If you think this transaction may be at risk, use this value. This will tell the acquirer that a strong customer authentication may be required, depending on the PSD2 specific information you sent along with the transaction." type: integer enum: - 1 - 2 - 3 example: 1 x-sort: 346 type: object OperationStatus: type: string enum: - CANCELLED - COMPLETED - CREATED - FAILURE - NOT_PROCESSED - PENDING - RECONCILED - REMITTED - REQUESTED - RETRIED - SPLIT - CHGBCK - CHGBCK_REFUND ShippingAddress3: properties: house_number: description: House number. type: string example: '101' nullable: true house_extension: description: House extension. type: string example: B nullable: true street: description: Street address. type: string example: Rue de Rivoli nullable: true street_additional: description: Additional address information of the customer (e.g., building, floor, flat, etc.). type: string example: Immeuble B nullable: true locality: description: City. type: string example: Paris nullable: true locality_additional: description: The USA state or the Canada state of the customer making the purchase. Send this information only if the address country of the customer is US (USA) or CA (Canada) type: string example: '' nullable: true postal_code: description: The zip or postal code of the customer. type: string example: '75001' nullable: true country: description: Country code to which the order is being shipped. This two-letter country code complies with ISO 3166-1 (alpha 2). type: string example: FR nullable: true type: object ComputedAuthenticationStatus: type: string enum: - No authentication - Abandoned strong authentication - Unsuccessful authentication attempted - Challenge authentication - Frictionless authentication - Successful authentication - Failed authentication - Unknown authentication Operation3: required: - type - status - amount - arn - date_created - id - currency - decimals properties: type: $ref: '#/components/schemas/OperationType3' status: $ref: '#/components/schemas/OperationStatus3' amount: description: Operation Amount. type: string example: '10.00' arn: description: Acquirer Reference Number. type: string example: '75064953264000221624949' merchant_reference: type: string nullable: true date_created: type: string format: date-time date_updated: type: string format: date-time nullable: true date_remitted: type: string format: date-time nullable: true date_processed: type: string format: date-time nullable: true date_reconciled: type: string format: date-time nullable: true id: type: integer currency: $ref: '#/components/schemas/Currency3' decimals: type: integer example: '2' caseid: type: string nullable: true type: object Operation: required: - type - status - amount - arn - date_created - id - currency - decimals properties: type: $ref: '#/components/schemas/OperationType' status: $ref: '#/components/schemas/OperationStatus' amount: description: Operation Amount. type: string example: '10.00' arn: description: Acquirer Reference Number. type: string example: '75064953264000221624949' merchant_reference: type: string nullable: true date_created: type: string format: date-time date_updated: type: string format: date-time nullable: true date_remitted: type: string format: date-time nullable: true date_processed: type: string format: date-time nullable: true date_reconciled: type: string format: date-time nullable: true id: type: integer currency: $ref: '#/components/schemas/Currency2' decimals: type: integer example: '2' caseid: type: string nullable: true type: object Currency2: type: string enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYR - BZD - CAD - CDF - CHF - CLP - CNY - COP - CRC - CUC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EEK - EGP - ERN - ETB - EUR - FJD - FKP - FRF - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LVL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SKK - SLL - SOS - SRD - STD - SVC - SYP - SZL - THB - TJS - TMM - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VEF - VND - VUV - WST - XAF - XCD - XOF - XPF - YER - ZAR - ZMK - ZWL PaymentProduct: required: - name - description properties: payment_method: nullable: true oneOf: - $ref: '#/components/schemas/PaymentMethod' name: type: string description: type: string type: object Result: type: string enum: - NOT_LAUNCHED - PENDING - ACCEPTED - REQUEST EXEMPTION - BLOCKED - CHALLENGED - AUTHENTICATE - FORCE_AUTHENTICATE - OVERRIDE - ACCEPT WITH NO PREFERENCE - DENIED - ALLOWED Authentication: required: - eci properties: enrollment_status: description: '' type: string example: N nullable: true enrollment_message: description: '' type: string example: Cardholder Not Enrolled nullable: true authentication_status: nullable: true oneOf: - $ref: '#/components/schemas/Authentication3' authentication_message: type: string nullable: true eci: description: 'Electronic Commerce Indicator (ECI). The Electronic Commerce Indicator (ECI) is used by acquirers/issuers to determine the type of transaction being processed. The ECI value should represent the source of the transaction request. That is, the environment that the cardholder used to provide the payment card details to the merchant. It is important that merchants set the correct ECI value during transaction processing to ensure that appropriate merchant service rates are received.' type: integer example: 5 sca_preference: description: "To indicate the preference for a frictionless flow during the authentication request, the merchant may send the sca_preference parameter.\n\nDepending on the merchant's assessment of the risk of fraud, specific values may be sent.\n\nThis parameter can only be used by merchants who have a fraud risk assessment mechanism of their own and who have subscribed to the SCA Preference merchant option.\n\nPlease contact your account manager to request it.\n\n`1` : No Preference.\n\n If you are not sure about the transaction's risk of fraud, use this value. Using this value for all your transactions may result in a high strong customer authentication rate.\n\n`2` : No Challenge\n\n If you think this transaction is safe. This will tell the acquirer a frictionless flow is preferred.\n\n`3` : Challenge Requested\n\n If you think this transaction may be at risk, use this value. This will tell the acquirer that a strong customer authentication may be required, depending on the PSD2 specific information you sent along with the transaction." example: 1 nullable: true oneOf: - $ref: '#/components/schemas/Preference' method: description: "To indicate the authentication method used :\n\n - 3DSecure\n\n - ApplePay" type: string example: 3DSecure nullable: true three_ds_version: description: 3D Secure Version type: string example: '2' nullable: true three_ds_authentication_method: description: "3D Secure Authentication Method:\n\n - challenge\n\n - frictionless\n\n - empty" example: frictionless nullable: true oneOf: - $ref: '#/components/schemas/ThreeDSAuthenticationMethod' three_ds_liability: description: "3D Secure payment liability shift:\n\n - issuer\n\n - merchant\n\n - not applicable" example: issuer nullable: true oneOf: - $ref: '#/components/schemas/ThreeDSAuthenticationLiability' type: object ThreeDSAuthenticationLiability3: type: string enum: - issuer - merchant - not applicable ShippingAddress2: properties: house_number: description: House number. type: string example: '101' nullable: true house_extension: description: House extension. type: string example: B nullable: true street: description: Street address. type: string example: Rue de Rivoli nullable: true street_additional: description: Additional address information of the customer (e.g., building, floor, flat, etc.). type: string example: Immeuble B nullable: true locality: description: City. type: string example: Paris nullable: true locality_additional: description: The USA state or the Canada state of the customer making the purchase. Send this information only if the address country of the customer is US (USA) or CA (Canada) type: string example: '' nullable: true postal_code: description: The zip or postal code of the customer. type: string example: '75001' nullable: true country: description: Country code to which the order is being shipped. This two-letter country code complies with ISO 3166-1 (alpha 2). type: string example: FR nullable: true type: object Status3: type: string enum: - available - created - error - incomplete - pending - suspended - terminated PaymentProduct3: required: - name - description properties: payment_method: nullable: true oneOf: - $ref: '#/components/schemas/PaymentMethod3' name: type: string description: type: string type: object Issuer: properties: fullname: type: string nullable: true institution: type: string nullable: true country: type: string nullable: true type: object AcquirerTraContext: type: object TransactionCollection: properties: transactions: type: array items: $ref: '#/components/schemas/Transaction3' default: [] type: object TransactionDetail: title: Transaction detail description: Transaction detail properties: transaction: description: '' type: object allOf: - $ref: '#/components/schemas/Transaction_2' x-sort: 1 type: object TransactionState3: type: string enum: - completed - waiting - pending - declined - forwarding - error Currency3: type: string enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYR - BZD - CAD - CDF - CHF - CLP - CNY - COP - CRC - CUC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EEK - EGP - ERN - ETB - EUR - FJD - FKP - FRF - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LVL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SKK - SLL - SOS - SRD - STD - SVC - SYP - SZL - THB - TJS - TMM - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VEF - VND - VUV - WST - XAF - XCD - XOF - XPF - YER - ZAR - ZMK - ZWL securitySchemes: BasicAuth: type: http scheme: basic ApiKeyAuth: type: apiKey name: X-API-KEY in: header externalDocs: description: Find out more about HiPay url: https://developer.hipay.com/