---
title: "Initiate Authentication"
method: POST
path: "/v6/direct/authenticate/initiate"
---

# Initiate Authentication

`POST /v6/direct/authenticate/initiate`

## Request

- Base URL: `https://api.geidea.ae/pgw/api`
- URL: `https://api.geidea.ae/pgw/api/v6/direct/authenticate/initiate`
- Auth: HTTP basic

## Request body

- object
  - `sessionId` string, required: A session ID, is a unique identifier that a server generates as part of the create session API call and assigns to a merchant transaction for the duration of the session (15 min).
  - `cardNumber` string, required: Valid card number, as a string without any separators. Length of 16 for Visa, MasterCard, Mada cards. Length of 15 for American Express cards.
  - `ReturnUrl` string, required: The URL where the client will be automatically redirected to once the Authentication process has been successful. Must be dynamic, based on the order being created. Must be a URL with a HTTPS protocol.
  - `merchantName` string: Name of the merchant initiating the transaction
  - `callbackUrl` string: The URL where the response containing order details will be returned. Must be a valid URL and must have an HTTPS protocol.
  - `isSetPaymentMethodEnabled` boolean: If this is set to true, then the customer is allowed to use the payment gateway
  - `isCreateCustomerEnabled` boolean: If this is set to true, then the customer account will be created and can be used for later transactions.
  - `paymentOperation` 'Pay' | 'PreAuthorize' | 'AuthorizeCapture': Type of payment operation that is carried out with this transaction
  - `cardOnFile` boolean: This field only applies if you collect details of card from your payers, store them, and either you or your payers use the stored value for subsequent payments.
  - `restrictPaymentMethods` boolean: Flag indicating whether certain type of payment methods are restricted for this transaction
  - `source` 'HPP. MobileApp' | 'DirectAPI': Source of capturing the transaction. Use "DirectAPI" for this call.
  - `deviceIdentification` object
    - `providerDeviceId` string: Unique identifier of the customer device used for the payment.
    - `language` 'en' | 'ar': The language settings of the device or browser. ISO 639-1 code must be used
    - `userAgent` string: The User-Agent is a characteristic string that lets servers and network peers identify the application, operating system, vendor, and/or version of the requesting user agent.

## Response `200`

200

- object
  - `orderId` string
  - `threeDSecureId` string
  - `redirectHtml` string
  - `gatewayDecision` string
  - `responseMessage` string
  - `detailedResponseMessage` string
  - `language` string
  - `responseCode` string
  - `detailedResponseCode` string

## Other responses

- `400`: 400

---

[API](https://skmtc.dev/geidea/apis/direct-apis-v2.md) - [All operations](https://skmtc.dev/geidea/apis/direct-apis-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/geidea/apis/direct-apis-v2/revisions/7e2e36ba4afd?raw)
