# Get ARN codes

Get ARN codes request obtains ARN codes for specific orders, providing essential information about refunds, currencies, and transaction statuses.

Endpoint: POST /arn-code
Version: 1.0.0
Security: MerchantID

## Header parameters:

  - `merchant` (string, required)
    Unique public key provided upon registration and must be shared for identification purposes.
    Example: "api_pk_7b197...ba108f842"

  - `signature` (string, required)
    Request signature that allows verification of merchant authenticity on the payment gateway server.
    Example: "M2E3OTkyNzcz...xMmExODI4"

## Request fields (application/json):

  - `order_id` (string, required)
    Unique order identifier, which can be used to find the payment.


  For the first payment, the identifier is defined by the merchant.
  For recurring subscription-based payments, it is generated by the Solidgate subscription service.
    Example: "923bb4e6-4a5f-41ec-81fb-28eb8a152e55"

## Response 200 fields (application/json):

  - `body` (object) — one of:
    - Success:
      - `arn_codes` (array)
        Array data with information about ARN codes corresponding to the order requested.
      - `arn_codes.arn_code` (string, required)
        Acquirer Reference Number (ARN) assigned to transactions.


  Use ARN to check transaction status.
        Example: "12345678901234567890123"
      - `arn_codes.created_at` (string, required)
        Datetime when the refund was created.
        Example: "2025-12-27 11:45:30"
      - `arn_codes.amount_refunded` (integer, required)
        Refund amount.
        Example: 100
      - `arn_codes.currency` (string, required)
        Three-letter ISO-4217 currency code.
        Example: "USD"
      - `arn_codes.transaction_status` (string, required)
        Status of the transaction.
        Enum: "processing", "success", "fail", "verify"
      - `arn_codes.sp_transaction_id` (string)
        Unique transaction identifier.
        Example: "9ec44dfd75936f248a5d68dd7045bbbd63ab10ad9246f"
    - Authentication failed:
      - `error` (object, required)
        Error object.
      - `error.code` (string, required)
        Unauthorized access due to invalid credentials.
        Example: "1.01"
      - `error.messages` (array, required)
        Array of error messages applied to the decline payment.
        Example: ["Authentication failed"]
    - Error:
      - `error` (object, required) — one of (discriminator: code):
        Error object.
        - 2.01 Invalid data:
          - `messages` (array, required)
            Array containing messages that specify why the payment was declined due to validation errors.


  These messages can range from an incorrect card number to an invalid security code or billing address.
            Example: ["Invalid data"]
        - 2.01 Order not found:
          - `messages` (object, required)
            Object containing key-value pairs that clarify the reason for the payment decline, particularly in cases where the requested order does not exist.
        - 2.04 Card brand is not supported:
          - `messages` (array, required)
            Array containing messages that specify why the payment was declined due to unsupported card brand for incremental authorization.


  Supported card brands include American Express (Amex), Cartes Bancaires, Diners, Discover, JCB, Mastercard, Mexico Domestic (Network MX) and Visa.
            Example: ["Card brand is not supported"]
        - X.XX:
          - `messages` (array, required)
            Array containing either strings or objects that provide details about the error or status.


  When it is an array of strings, each string describes a separate issue. When it is an object, the object will contain key-value pairs explaining the issue in more detail.
          - `recommended_message_for_user` (string)
            Message with recommended next steps or additional information.
            Example: "The user’s card balance has insufficient funds."
      - `error.code` (string)
        Gateway error code for the declined payment.


