Combine Gift Cards

Combines multiple gift card balances into a single target card. All source card balances will be transferred to the target card and source cards will be marked as Combined.

Headers
  • x-applicationSource
    Type: string
    required

    A custom HTTP header that accepts a free-form string value. It is used to identify the application making the API request. For example, if Punchh invokes the API, the value could be "punchh".

  • X-LocationId
    Type: string
    required

    The unique location identifier for the store or business location processing the transaction.

  • Content-Type
    Type: string
    required

    The media type of the request body. Must be set to application/json.

  • Authorization
    Type: string
    required

    Bearer token for API authorization. Send in the format: Bearer ACCESS_TOKEN_GOES_HERE.

Body·
application/json

Request details including target card and source cards with passcodes.

Gift card consolidation/combine request details.

  • referenceNumber
    Type: string
    min length:  
    1
    max length:  
    40
    Pattern: ^[0-9]+$
    required

    A unique reference number for the transaction.

  • sourceCardCredentials
    Type: object
    required

    Dictionary of source card numbers and their passcodes to transfer from. Key: Card number, Value: Passcode

  • targetCardNumber
    Type: string
    max length:  
    30
    Pattern: ^\d+$
    required

    Target gift card number where all balances will be consolidated.

  • transactionDateTimeUTC
    Type: string Format: date-time
    required

    The UTC timestamp of the transaction. Required for audit purposes.

  • userId
    Type: string
    max length:  
    100
    required

    User ID who owns all the cards.

  • channel
    Type: string · enum
    values
    • None
    • POS
    • Kiosk
  • paymentSource
    Type: string · enum
    values
    • ScanToPay
    • Online
    • None
  • targetCardPasscode
    Type: string | null
    max length:  
    20

    Target card passcode for authentication.

  • transactionDateTimeLocal
    Type: string | null Format: date-time

    The local timestamp of the transaction.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/giftcard/v1/combine
curl https://SERVER_NAME_GOES_HERE.partech.com/giftcard/v1/combine \
  --request POST \
  --header 'x-applicationSource: ' \
  --header 'X-LocationId: ' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer ACCESS_TOKEN_GOES_HERE' \
  --data '{
  "targetCardNumber": "",
  "targetCardPasscode": null,
  "sourceCardCredentials": {
    "additionalProperty": ""
  },
  "userId": "",
  "referenceNumber": "",
  "transactionDateTimeUTC": "",
  "transactionDateTimeLocal": null,
  "paymentSource": "ScanToPay",
  "channel": "None"
}'
{
  "recordCount": null,
  "data": {
    "parPayTransactionId": null,
    "statusMessage": null,
    "targetCardNumber": null,
    "totalTransferredAmount": 1,
    "newTargetBalance": 1,
    "sourceCardsProcessed": 1,
    "transactionDateTimeUTC": "2026-08-04T10:27:03.092Z",
    "status": "Success"
  },
  "errors": [
    {
      "message": null
    }
  ],
  "traceId": null,
  "statusCode": null
}