Create Charges

Create POS Charge

Create a new card-present charge.

Requires one of the following permissions:

  • charges:Create
  • charges:CreatePos
post/charges/pos

Request

Headers

Idempotency-Keystring

This key is used to deduplicate requests that are retried. For more information see the section on Idempotency.

Example:28gKCluIEKp8jVboUyr2

Request body

localTransactionDateTimestring iso-8601-date-time

Date and time of the transaction in the local timezone.

transactionReferencestring

Unique ID assigned by the merchant or payment service provider for the transaction. Used to identify the transaction.

track2Datastring

The information encoded on track 2 of the card magnetic stripe as defined in the ISO 7813 specification, including data element separator but excluding the beginning and ending sentinels and the LRC (Longitudinal Redundancy Check) character. This property is mandatory when the terminalEntryMode is chip, contactless,magstripe or magstripe-fallback.

emvDatastring

This field contains integrated circuit card (ICC) related binary data that is transmitted from the ICC to the card issuer and from the card issuer to the ICC. This field is formatted as 510 hexadecimal characters, which translates to 255 bytes.

cardSequenceNumberstring

Distinguishes among separate cards having the same PAN. This is required if EMV tag 5F34 is present/personalized on the card chip.

allowPartialApprovalboolean

Indicates whether to allow partial approvals for this charge. If set to true the charge's and the authorization action's amount field will contain the approved amount. It is only implemented for Visa and Mastercard. It will be ignored for other card networks.

clearingMode'auto' | 'manual'

The clearing method for the charge.

  • auto: The charge is cleared automatically as soon as possible. To delay clearing, provide a clearAfter timestamp.
  • manual: The charge must be manually cleared later.
clearAfterstring iso-8601-date-time

If provided, clearing will not occur before this point in time. If no timezone is included, it is assumed to be UTC. The value may be at most 6 months in the future from when the charge was created.

Example request

{
  "merchantAcceptorResolver": {
    "merchantAcceptorKey": "mac-1eOdAHhgstYTUhlphPFf"
  },
  "card": {
    "number": "4761070000000905"
  },
  "amount": {
    "value": 2599,
    "currency": "EUR",
    "breakdown": {
      "baseAmount": 2599,
      "cashback": 2599
    }
  },
  "type": {
    "cardEntry": "terminal"
  },
  "transactionReference": "Dz3dIzE74EfH1HeTInyE",
  "track2Data": "6799995700000004054D25122010875408456",
  "emvData": "5F2A0209785F34010082027C008407A0000000093510950500000080009A031104119C01009F02060000000043149F090200029F10120210A780030400009F2100000000000000FF9F1A0202509F26082E3EAB17CEEC500C9F2701809F330360A0409F34034403029F3501229F360200169F3704BC75E9B39F4005A00090F0019F4C089F21B02E0EEAC454",
  "cardSequenceNumber": "001",
  "pinBlock": {
    "block": "32CF86E514CB24FE",
    "zoneId": "my-zone"
  },
  "terminal": {
    "id": "AAFF",
    "capabilities": [
      "contactChip",
      "contactlessChip",
      "contactMagStripe",
      "oneTap"
    ]
  },
  "subMerchant": {
    "id": "SUB123456",
    "address": {
      "countryCode": {
        "alpha3": "NLD"
      },
      "stateOrProvince": "NH",
      "city": "Amsterdam",
      "line1": "Langtown Road",
      "line2": "4200",
      "postalCode": "1234BC"
    }
  },
  "pointOfSaleAddress": {
    "countryCode": {
      "alpha3": "NLD"
    },
    "stateOrProvince": "NH",
    "city": "Amsterdam",
    "line1": "Langtown Road",
    "line2": "4200",
    "postalCode": "1234BC"
  },
  "dynamicDescriptor": {
    "merchantName": "Acme Inc.",
    "merchantCity": "Amsterdam"
  }
}

Response

The created charge

keystring required

Uniquely identifies a charge.

localTransactionDateTimestring iso-8601-date-time required

Date and time of the transaction in the local timezone.

transactionReferencestring

Unique ID assigned by the merchant or payment service provider for the transaction. Used to identify the transaction.

newEmvDatastring

This field contains integrated circuit card (ICC) related binary data that is transmitted from the card issuer to the ICC. This field is formatted as 510 hexadecimal characters, which translates to 255 bytes.

If this field is present in the response message, it should be passed without modification to the ICC.

terminalAction'requestPin' | 'switchInterface'

Indicates if the issuer requests a PIN in Single Tap mode, or switching interface.

allowPartialApprovalboolean

Indicates whether to allow partial approvals for this charge. If set to true the charge's and the authorization action's amount field will contain the approved amount. It is only implemented for Visa and Mastercard. It will be ignored for other card networks.

clearingMode'auto' | 'manual'

The clearing method for the charge.

  • auto: The charge is cleared automatically as soon as possible. To delay clearing, provide a clearAfter timestamp.
  • manual: The charge must be manually cleared later.
clearAfterstring iso-8601-date-time

If provided, clearing will not occur before this point in time. If no timezone is included, it is assumed to be UTC. The value may be at most 6 months in the future from when the charge was created.

createdstring iso-8601-date-time required

The date and time this object was created

lastModifiedstring iso-8601-date-time

The date and time this object was last modified

versioninteger required

The version of this object

Example response

{
  "key": "chg-1e1dAHhgstYTUhlphPzZ",
  "merchantAcceptorRef": {
    "key": "mac-1eOdAHhgstYTUhlphPFf",
    "version": 1
  },
  "amount": {
    "value": 2599,
    "currency": "EUR",
    "breakdown": {
      "baseAmount": 2599,
      "cashback": 2599
    }
  },
  "type": {
    "cardEntry": "terminal"
  },
  "status": {
    "authorization": "approved",
    "clearing": "pending"
  },
  "transactionReference": "Dz3dIzE74EfH1HeTInyE",
  "newEmvData": "5F2A0209785F34010082027C008407A0000000093510950500000080009A031104119C01009F02060000000043149F090200029F10120210A780030400009F2100000000000000FF9F1A0202509F26082E3EAB17CEEC500C9F2701809F330360A0409F34034403029F3501229F360200169F3704BC75E9B39F4005A00090F0019F4C089F21B02E0EEAC454",
  "authorizationIsoFields": {
    "responseCode": "00",
    "responseCodeDescription": "Approved",
    "authorizationCode": "4A4316",
    "networkCode": "0000",
    "systemTraceAuditNumber": "123456",
    "retrievalReferenceNumber": "131608123456",
    "networkSpecificFields": {
      "cvcResult": "Y",
      "avsResult": "Y"
    }
  },
  "subMerchant": {
    "id": "SUB123456",
    "address": {
      "countryCode": {
        "alpha3": "NLD",
        "alpha2": "NL",
        "numeric": "528"
      },
      "stateOrProvince": "NH",
      "city": "Amsterdam",
      "line1": "Langtown Road",
      "line2": "4200",
      "postalCode": "1234BC"
    }
  },
  "pointOfSaleAddress": {
    "countryCode": {
      "alpha3": "NLD",
      "alpha2": "NL",
      "numeric": "528"
    },
    "stateOrProvince": "NH",
    "city": "Amsterdam",
    "line1": "Langtown Road",
    "line2": "4200",
    "postalCode": "1234BC"
  },
  "dynamicDescriptor": {
    "merchantName": "Acme Inc.",
    "merchantCity": "Amsterdam"
  },
  "terminal": {
    "id": "AAFF",
    "capabilities": [
      "contactChip",
      "contactlessChip",
      "contactMagStripe",
      "oneTap"
    ]
  },
  "version": 1
}

Changes

No recorded changes to this operation across all 1 revision of this API.