---
title: "Apple Pay Direct API"
method: POST
path: "/v2/direct/apple/pay"
---

# Apple Pay Direct API

`POST /v2/direct/apple/pay`

The Apple Pay API allows merchants to process payments using Apple Pay.This API accepts a decrypted Apple Pay payment token, validates it, and processes the transaction through the payment gateway.

## 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).
  - `method` 'decrypted', required — The method paramter identifies if the direct Apple Pay payment request will be using the encrypted or decrypted Apple Pay payment token.
  - `walletData` string, required — The wallet data parameter will have all required payment token data to process the Apple Pay payment token. The wallet data needs to be encoded in the payment request.
  - `source` 'HPP' | 'MobileApp' | 'DirectAPI', required — Source of capturing the transaction. Use "DirectAPI" for this call.
  - `initiatedBy` 'Internet' | 'Merchant', required — A value indicating whether the request is started from Customer(Internet) or Merchant.

## 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` string
    - `merchantId` string
    - `merchantPublicKey` string
    - `parentOrderId` unknown
    - `merchantReferenceId` unknown
    - `mcc` string
    - `callbackUrl` string
    - `billingAddress` unknown
    - `shippingAddress` unknown
    - `returnUrl` string
    - `cardOnFile` boolean
    - `tokenId` unknown
    - `initiatedBy` string
    - `agreementId` unknown
    - `agreementType` unknown
    - `amountVariability` unknown
    - `paymentOperation` string
    - `custom` unknown
    - `paymentIntent` unknown
    - `restrictPaymentMethods` boolean
    - `paymentMethods` unknown
    - `platform` unknown
    - `statementDescriptor` unknown
    - `description` unknown
    - `setDefaultPaymentMethod` boolean
    - `recurrence` unknown
    - `transactions` object[]
      - `transactionId` string
      - `type` string
      - `status` string
      - `amount` integer
      - `currency` string
      - `source` string
      - `authorizationCode` unknown
      - `rrn` unknown
      - `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` unknown
        - `acquirerMessage` unknown
        - `responseCode` string
        - `responseMessage` string
        - `detailedResponseCode` string
        - `detailedResponseMessage` string
      - `authenticationDetails` object
        - `acsEci` string
        - `authenticationToken` string
        - `paResStatus` unknown
        - `veResEnrolled` unknown
        - `xid` string
        - `accountAuthenticationValue` unknown
        - `proofXml` unknown
        - `threeDSecureServerTransactionId` unknown
        - `acsTransactionId` string
        - `directoryServerId` string
        - `dsTransactionId` string
        - `methodCompleted` boolean
        - `methodSupported` string
        - `protocolVersion` string
        - `requestorId` string
        - `requestorName` string
        - `transactionStatus` string
        - `statusReasonCode` unknown
        - `acsReferenceNumber` unknown
        - `dsReferenceNumber` unknown
      - `postilionDetails` unknown
      - `terminalDetails` unknown
      - `meezaDetails` unknown
      - `bnplDetails` unknown
      - `bankInstallmentDetails` unknown
      - `correlationId` string
      - `parentTransactionId` unknown
      - `paymentAttemptId` string
      - `acquirer` object
        - `additionalResponseData` unknown
        - `batch` unknown
        - `customData` unknown
        - `date` unknown
        - `id` unknown
        - `merchantId` string
        - `settlementDate` unknown
        - `time` unknown
        - `timeZone` unknown
        - `transactionId` unknown
      - `authorizationResponse` object
        - `autoExpiry` unknown
        - `avsCode` unknown
        - `cardLevelIndicator` unknown
        - `cardSecurityCodeError` unknown
        - `cardSecurityCodePresenceIndicator` unknown
        - `commercialCard` unknown
        - `commercialCardIndicator` unknown
        - `financialNetworkCode` unknown
        - `financialNetworkDate` unknown
        - `marketSpecificData` unknown
        - `merchantAdviceCode` unknown
        - `paySvcData` unknown
        - `posData` unknown
        - `posEntryMode` unknown
        - `posEntryModeChanged` unknown
        - `processingCode` unknown
        - `responseCode` unknown
        - `date` unknown
        - `responseMessage` unknown
        - `returnAci` unknown
        - `time` unknown
        - `timeZone` unknown
        - `trackQuality` unknown
        - `transactionIdentifier` unknown
        - `transactionIntegrityClass` unknown
        - `validationCode` unknown
        - `vpasResponse` unknown
      - `madaDetails` unknown
      - `refundType` unknown
      - `refundStatus` unknown
      - `isExtensionComplete` unknown
      - `extensionDate` string
      - `deviceId` string
      - `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` string
    - `gatewayDecision` string
    - `subscriptionId` unknown
    - `subscriptionOccurrenceId` unknown
    - `refundType` unknown
    - `refundStatus` unknown
    - `bankId` string
    - `isPayWithToken` boolean
    - `customerName` unknown
    - `customerEmail` unknown
    - `createCustomer` boolean
    - `customerReferenceId` unknown
    - `customerId` unknown
    - `customerPhoneNumber` unknown
    - `customerPhoneCountryCode` unknown
    - `customerCustomValue` unknown
    - `airLine` unknown
    - `createdDate` string
    - `createdBy` string
    - `updatedDate` string
    - `updatedBy` string
  - `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)
