---
title: "Process a debit"
method: POST
path: "/transaction/{apiKey}/debit"
tags: ["transaction"]
---

# Process a debit

`POST /transaction/{apiKey}/debit`

## Request

- Base URL: `https://secure.tillpayments.com/api/v3`
- URL: `https://secure.tillpayments.com/api/v3/transaction/{apiKey}/debit`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/tillpayments/apis/tillpayments-com-payment-platform/docs/transaction/:apiKey/debit/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `apiKey` string, required

## Request body

- Debit
  - `merchantTransactionId` string, required
  - `additionalId1` string
  - `additionalId2` string
  - `extraData` ExtraData
  - `pspPassthroughData` PspPassthroughData
  - `merchantMetaData` string
  - `cardDetailsUpdate` CardDetailsUpdateData
    - `expiryMonth` string
    - `expiryYear` string
  - `referenceUuid` string
  - `amount` string, required
  - `surchargeAmount` string
  - `currency` string, required
  - `paymentToken` union
    - ExternallyProvisionedApplePayToken
      - `type` 'EXTERNAL-NETWORK' | 'EXTERNAL-GOOGLEPAY' | 'EXTERNAL-APPLEPAY', required
      - `token` string, required
      - `cryptogram` string
      - `paymentAccountReference` string
      - `tokenExpirationMonth` string, required
      - `tokenExpirationYear` string, required
      - `eciIndicator` string
    - ExternallyProvisionedGooglePayToken
      - `type` 'EXTERNAL-NETWORK' | 'EXTERNAL-GOOGLEPAY' | 'EXTERNAL-APPLEPAY', required
      - `token` string, required
      - `cryptogram` string
      - `paymentAccountReference` string
      - `tokenExpirationMonth` string, required
      - `tokenExpirationYear` string, required
      - `eciIndicator` string
    - ExternallyProvisionedNetworkToken
      - `type` 'EXTERNAL-NETWORK' | 'EXTERNAL-GOOGLEPAY' | 'EXTERNAL-APPLEPAY', required
      - `token` string, required
      - `cryptogram` string
      - `paymentAccountReference` string
      - `tokenExpirationMonth` string, required
      - `tokenExpirationYear` string, required
      - `eciIndicator` string
  - `successUrl` string
  - `cancelUrl` string
  - `errorUrl` string
  - `callbackUrl` string
  - `transactionToken` string
  - `description` string
  - `items` object[]
    - `identification` string
    - `name` string
    - `description` string
    - `quantity` union
      - integer
      - string
    - `price` union
      - number
      - string
    - `currency` string
    - `l2l3Data` object
      - `type` string
      - `unit` string
      - `unitPrice` string
      - `discount` string
      - `discountRate` string
      - `shippingAmount` string
      - `taxAmount` string
      - `taxRate` string
      - `commodityCode` string
      - `taxDetails` object[]
        - `type` string
        - `amount` string
        - `rate` string
        - `code` string
        - `taxId` string
        - `applied` string
        - `exemptionCode` string
    - `extraData` ExtraData
  - `splits` object[]
    - `identification` string
    - `amount` number
    - `currency` string
    - `sellerMerchantGuid` string
    - `sellerMerchantExternalId` string
    - `commissionFee` object
      - `amount` number
      - `currency` string
  - `withRegister` boolean
  - `transactionIndicator` 'SINGLE' | 'INITIAL' | 'RECURRING' | 'FIRST-CARDONFILE' | 'CARDONFILE' | 'CARDONFILE-MERCHANT-INITIATED' | 'MOTO'
  - `customer` Customer
    - `identification` string
    - `firstName` string
    - `lastName` string
    - `birthDate` string
    - `gender` 'M' | 'F'
    - `billingAddress1` string
    - `billingAddress2` string
    - `billingCity` string
    - `billingPostcode` string
    - `billingState` string
    - `billingCountry` string
    - `billingPhone` string
    - `shippingFirstName` string
    - `shippingLastName` string
    - `shippingCompany` string
    - `shippingAddress1` string
    - `shippingAddress2` string
    - `shippingCity` string
    - `shippingPostcode` string
    - `shippingState` string
    - `shippingCountry` string
    - `shippingPhone` string
    - `company` string
    - `email` string
    - `emailVerified` boolean
    - `ipAddress` string
    - `nationalId` string
    - `extraData` ExtraData
    - `paymentData` union
      - IbanData
        - `ibanData` object
          - `iban` string
          - `bic` string
          - `mandateId` string
          - `mandateDate` string
      - WalletData
        - `walletData` object
          - `walletReferenceId` string
          - `walletOwner` string
          - `walletType` string
  - `schedule` Schedule
    - `amount` string, required
    - `currency` string, required
    - `periodLength` integer, required
    - `periodUnit` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', required
    - `startDateTime` string
    - `merchantMetaData` string
    - `callbackUrl` string
  - `customerProfileData` CustomerProfileData
    - `profileGuid` string
    - `customerIdentification` string
    - `markAsPreferred` boolean
  - `threeDSecureData` ThreeDSecureData
    - `3dsecure` 'OFF' | 'OPTIONAL' | 'MANDATORY'
    - `schemeId` 'CB' | 'Eftpos'
    - `channel` '01' | '02' | '03'
    - `authenticationIndicator` '01' | '02' | '03' | '04' | '05' | '06'
    - `cardholderAuthenticationMethod` '01' | '02' | '03' | '04' | '05' | '06'
    - `cardholderAuthenticationDateTime` string
    - `cardHolderAuthenticationData` string
    - `challengeIndicator` '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09'
    - `priorReference` string
    - `priorAuthenticationMethod` '01' | '02' | '03' | '04'
    - `priorAuthenticationDateTime` string
    - `priorAuthenticationData` string
    - `cardholderAccountType` '01' | '02' | '03' | '04'
    - `cardholderAccountAgeIndicator` '01' | '02' | '03' | '04' | '05'
    - `cardholderAccountDate` string
    - `cardholderAccountChangeIndicator` '01' | '02' | '03' | '04'
    - `cardholderAccountLastChange` string
    - `cardholderAccountPasswordChangeIndicator` '01' | '02' | '03' | '04' | '05'
    - `cardholderAccountLastPasswordChange` string
    - `shippingAddressUsageIndicator` '01' | '02' | '03' | '04'
    - `shippingAddressFirstUsage` string
    - `transactionActivityDay` number
    - `transactionActivityYear` number
    - `addCardAttemptsDay` number
    - `purchaseCountSixMonths` number
    - `suspiciousAccountActivityIndicator` '01' | '02'
    - `shippingNameEqualIndicator` '01' | '02'
    - `paymentAccountAgeIndicator` '01' | '02' | '03' | '04' | '05'
    - `paymentAccountAgeDate` string
    - `billingAddressLine3` string
    - `shippingAddressLine3` string
    - `billingShippingAddressMatch` 'Y' | 'N'
    - `homePhoneCountryPrefix` string
    - `homePhoneNumber` string
    - `mobilePhoneCountryPrefix` string
    - `mobilePhoneNumber` string
    - `workPhoneCountryPrefix` string
    - `workPhoneNumber` string
    - `purchaseInstalData` number
    - `shipIndicator` '01' | '02' | '03' | '04' | '05' | '06' | '07'
    - `deliveryTimeframe` '01' | '02' | '03' | '04'
    - `deliveryEmailAddress` string
    - `reorderItemsIndicator` '01' | '02'
    - `preOrderPurchaseIndicator` '01' | '02'
    - `preOrderDate` string
    - `giftCardAmount` number
    - `giftCardCurrency` string
    - `giftCardCount` number
    - `purchaseDate` string
    - `recurringExpiry` string
    - `recurringFrequency` number
    - `transType` '01' | '03' | '10' | '11' | '28'
    - `exemptionIndicator` '01' | '02' | '03' | '04' | '05' | '06' | '07'
    - `threeRIIndicator` '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12'
    - `browserChallengeWindowSize` '01' | '02' | '03' | '04' | '05'
    - `browserAcceptHeader` string
    - `browserIpAddress` string
    - `browserJavaEnabled` boolean
    - `browserLanguage` string
    - `browserColorDepth` union
      - integer
      - '1' | '4' | '8' | '15' | '16' | '24' | '30' | '32' | '48'
    - `browserScreenHeight` union
      - number
      - string
    - `browserScreenWidth` union
      - number
      - string
    - `browserTimezone` union
      - integer
      - string
    - `browserUserAgent` string
    - `browserPlatform` string
    - `sdkInterface` '01' | '02' | '03'
    - `sdkUiType` string
    - `sdkAppID` string
    - `sdkEncData` string
    - `sdkEphemPubKey` string
    - `sdkMaxTimeout` number
    - `sdkReferenceNumber` string
    - `sdkTransID` string
  - `language` string
  - `requestDcc` boolean
  - `dccData` DccData
    - `remoteIdentifier` string
    - `originalAmount` string
    - `originalCurrency` string
    - `convertedAmount` string
    - `convertedCurrency` string
    - `conversionRate` number
    - `selectedCurrency` string
    - `markUp` number
  - `l2l3Data` L2L3Data
    - `taxAmount` string
    - `vatRegistrationNumber` string
    - `nationalTaxIncluded` string
    - `discountAmount` string
    - `commodityCode` string
    - `freightAmount` string
    - `freightTaxAmount` string
    - `dutyAmount` string
    - `taxDetails` object[]
      - `type` string
      - `amount` string
      - `rate` string
      - `code` string
      - `taxId` string
      - `applied` string
      - `exemptionCode` string
  - `cardData` CardData
    - `cardHolder` string
    - `pan` string
    - `cvv` string
    - `expirationMonth` string
    - `expirationYear` string
  - `publicData` PublicData (unresolved $ref)
  - `referenceSchemeTransactionIdentifier` string
  - `includeTracing` boolean

## Response `200`

Transaction response

- TransactionResponse
  - `success` boolean
  - `uuid` string
  - `purchaseId` string
  - `returnType` 'FINISHED' | 'REDIRECT' | 'HTML' | 'PENDING' | 'ERROR' | 'PENDING_DCC'
  - `redirectType` 'iframe' | 'fullpage' | '3ds'
  - `redirectUrl` string
  - `redirectQRCode` string: DataUrl
  - `htmlContent` string
  - `paymentDescriptor` string
  - `paymentMethod` string
  - `returnData` union
    - ReturnCardData
      - `_TYPE` 'cardData'
      - `type` string
      - `firstName` string
      - `lastName` string
      - `country` string
      - `cardHolder` string
      - `expiryMonth` string
      - `expiryYear` string
      - `binDigits` string
      - `firstSixDigits` string
      - `lastFourDigits` string
      - `fingerprint` string
      - `binBrand` string
      - `binBank` string
      - `binType` string
      - `binLevel` string
      - `binCountry` string
      - `threeDSecure` string
      - `eci` string
      - `merchantAdviceCode` string
      - `parsedMerchantAdviceCode` string
      - `schemeTransactionIdentifier` string
    - ReturnPhoneData
      - `_TYPE` 'phoneData'
      - `phoneNumber` string
      - `country` string
      - `operator` string
    - ReturnIbanData
      - `_TYPE` 'ibanData'
      - `accountOwner` string
      - `iban` string
      - `bic` string
      - `mandateId` string
      - `mandateDate` string
      - `bankName` string
      - `bankBranchName` string
      - `country` string
    - ReturnWalletData
      - `_TYPE` 'walletData'
      - `walletReferenceId` string
      - `walletOwner` string
      - `walletType` string
  - `scheduleData` ScheduleData
    - `scheduleId` string
    - `scheduleStatus` 'ACTIVE' | 'PAUSED' | 'CANCELLED' | 'ERROR' | 'CREATE-PENDING'
    - `scheduledAt` string
    - `merchantMetaData` string
  - `customerProfileData` CustomerProfileData
    - `profileGuid` string
    - `customerIdentification` string
    - `markAsPreferred` boolean
  - `riskCheckData` object
    - `riskCheckResult` 'APPROVED' | 'DECLINED' | 'REVIEW'
    - `riskScore` number
    - `threeDSecureRequired` boolean
  - `errors` object[]
    - `errorMessage` string
    - `errorCode` integer
    - `adapterMessage` string
    - `adapterCode` string
  - `adapterMessage` string
  - `adapterCode` string
  - `extraData` ExtraData
  - `dccData` object
    - `uuid` string
    - `originalAmount` string
    - `originalCurrency` string
    - `convertedAmount` string
    - `convertedCurrency` string
    - `conversionRate` number
    - `disclaimer` string

---

[API](https://skmtc.dev/tillpayments/apis/tillpayments-com-payment-platform.md) - [All operations](https://skmtc.dev/tillpayments/apis/tillpayments-com-payment-platform/llms.txt) - [OpenAPI document](https://skmtc.dev/tillpayments/apis/tillpayments-com-payment-platform/revisions/feae5abc6a8b?raw)
