---
title: "Merchant Initiated Transactions"
method: POST
path: "/pgw/api/v2/direct/pay/token"
---

# Merchant Initiated Transactions

`POST /pgw/api/v2/direct/pay/token`

## 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).
  - `timestamp` string, required
  - `payWithToken` true | false, required
  - `callbackUrl` string — The URL where the payment gateway should send the callback after the transaction is completed. It must have a valid SSL certificate and start with 'https://'
  - `signature` string, required — A parameter to ensure the security and authenticity of API communications. It involves generating a signature using the contents of the API request and secret keys, which is then sent along with the request.
  - `merchantReferenceId` string — A unique merchant identifier for the order. You can send your own reference ID using this field.
  - `paymentOperation` string
  - `initiatedBy` string, required — A value indicating whether the request is started from Merchant.
  - `agreementId` string, required — This is a string value that represents the unique identifier of the card-on-file agreement to use. This ID must be agreed upon between the merchant and the payment gateway before the COF service can be used. It is recommended to use a unique value for each card-on-file agreement to avoid confusion or conflicts.
  - `agreementType` string, required — This is a string value that represents the type of card-on-file agreement to use. There are different types of card-on-file agreements available, and the type of agreement used can affect how the customer's card information is stored and processed. The currently supported values are RECURRING and UNSCHEDULED.
  - `tokenId` string, required

## Response `200`

200

- object
  - `order` object
    - `orderId` string
    - `amount` integer
    - `tipAmount` integer
    - `convenienceFeeAmount` integer
    - `totalAmount` integer
    - `settleAmount` integer
    - `currency` string
    - `settleCurrency` string
    - `language` string
    - `detailedStatus` string
    - `status` string
    - `threeDSecureId` unknown
    - `merchantId` string
    - `merchantPublicKey` string
    - `parentOrderId` string
    - `merchantReferenceId` string
    - `mcc` unknown
    - `callbackUrl` string
    - `customerEmail` unknown
    - `billingAddress` unknown
    - `shippingAddress` unknown
    - `returnUrl` unknown
    - `cardOnFile` boolean
    - `tokenId` string
    - `initiatedBy` string
    - `agreementId` string
    - `agreementType` string
    - `paymentOperation` string
    - `custom` unknown
    - `paymentIntent` unknown
    - `restrictPaymentMethods` boolean
    - `paymentMethods` unknown
    - `platform` unknown
    - `statementDescriptor` unknown
    - `description` unknown
    - `createCustomer` boolean
    - `setDefaultPaymentMethod` boolean
    - `customerReferenceId` unknown
    - `customerId` unknown
    - `recurrence` unknown
    - `transactions` object[]
      - `transactionId` string
      - `type` string
      - `status` string
      - `amount` integer
      - `currency` string
      - `source` string
      - `authorizationCode` string
      - `rrn` string
      - `stan` string
      - `paymentMethod` object
        - `type` string
        - `brand` string
        - `cardholderName` string
        - `maskedCardNumber` string
        - `wallet` unknown
        - `expiryDate` object
          - `month` integer
          - `year` integer
        - `sameBank` boolean
        - `issuingCountry` unknown
        - `fundingType` unknown
        - `issuingBank` unknown
        - `cardCategory` unknown
      - `codes` object
        - `acquirerCode` string
        - `acquirerMessage` string
        - `responseCode` string
        - `responseMessage` string
        - `detailedResponseCode` string
        - `detailedResponseMessage` string
      - `authenticationDetails` unknown
      - `postilionDetails` unknown
      - `terminalDetails` unknown
      - `meezaDetails` unknown
      - `bnplDetails` unknown
      - `bankInstallmentDetails` unknown
      - `correlationId` string
      - `parentTransactionId` unknown
      - `paymentAttemptId` string
      - `acquirer` object
        - `additionalResponseData` unknown
        - `batch` integer
        - `customData` unknown
        - `date` string
        - `id` string
        - `merchantId` string
        - `settlementDate` string
        - `time` unknown
        - `timeZone` string
        - `transactionId` string
      - `authorizationResponse` object
        - `autoExpiry` unknown
        - `avsCode` unknown
        - `cardLevelIndicator` unknown
        - `cardSecurityCodeError` unknown
        - `cardSecurityCodePresenceIndicator` unknown
        - `commercialCard` string
        - `commercialCardIndicator` string
        - `financialNetworkCode` string
        - `financialNetworkDate` unknown
        - `marketSpecificData` unknown
        - `merchantAdviceCode` unknown
        - `paySvcData` unknown
        - `posData` string
        - `posEntryMode` string
        - `posEntryModeChanged` unknown
        - `processingCode` string
        - `responseCode` string
        - `date` unknown
        - `responseMessage` unknown
        - `returnAci` unknown
        - `time` unknown
        - `timeZone` unknown
        - `trackQuality` unknown
        - `transactionIdentifier` string
        - `transactionIntegrityClass` unknown
        - `validationCode` unknown
        - `vpasResponse` unknown
      - `madaDetails` unknown
      - `refundType` unknown
      - `refundStatus` unknown
      - `createdDate` string
      - `createdBy` string
      - `updatedDate` string
      - `updatedBy` string
    - `orderItems` unknown[]
      - unknown
    - `isTokenPayment` boolean
    - `paymentMethod` object
      - `type` string
      - `brand` string
      - `cardholderName` string
      - `maskedCardNumber` string
      - `wallet` unknown
      - `expiryDate` object
        - `month` integer
        - `year` integer
      - `sameBank` boolean
      - `issuingCountry` unknown
      - `fundingType` unknown
      - `issuingBank` unknown
      - `cardCategory` unknown
    - `totalAuthorizedAmount` integer
    - `totalCapturedAmount` integer
    - `totalRefundedAmount` integer
    - `orderSource` string
    - `paymentBrands` string[]
    - `multiCurrency` object
      - `authCurrency` string
      - `authAmount` integer
      - `settleCurrency` string
      - `settleAmount` integer
      - `exchangeRate` unknown
      - `exchangeFeePercentage` unknown
      - `exchangeFeeAmount` unknown
    - `isTest` boolean
    - `cashOnDelivery` boolean
    - `amountToCollect` unknown
    - `isDownPayment` boolean
    - `exchangeRate` unknown
    - `exchangeFeePercentage` unknown
    - `exchangeFeeAmount` unknown
    - `deviceId` unknown
    - `gatewayDecision` string
    - `subscriptionId` unknown
    - `subscriptionOccurrenceId` unknown
    - `customerPhoneNumber` unknown
    - `customerPhoneCountryCode` unknown
    - `refundType` unknown
    - `refundStatus` unknown
    - `bankId` unknown
    - `createdDate` string
    - `createdBy` string
    - `updatedDate` string
    - `updatedBy` unknown
  - `responseMessage` string
  - `detailedResponseMessage` string
  - `language` string
  - `responseCode` string
  - `detailedResponseCode` string

## Other responses

- `400` — 400

---

[API](https://skmtc.dev/geidea/apis/checkout-v2.md) · [All operations](https://skmtc.dev/geidea/apis/checkout-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/geidea/checkout-v2/revisions/873e534eeb01/schema)
