Issue Virtual Gift Card

Issues a new virtual gift card that can be delivered digitally. Returns the virtual card details including the card number and passcode.

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 to issue the gift card.

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

    A unique reference number for the transaction.

  • sourceTransactionId
    Type: string
    min length:  
    1
    required

    The source transaction ID for the gift card issue.

  • transactionDateTimeUTC
    Type: string Format: date-time
    required

    The transaction date and time in UTC format.

  • amount
    Type: number | null Format: double

    The amount for which gift card is issued. Pattern: ^\d+(\.\d{0,2})?$ (up to 2 decimal places).

  • channel
    Type: string · enum
    values
    • None
    • POS
    • Kiosk
  • invoiceNumber
    Type: string | null
    max length:  
    14

    A unique invoice number for the transaction.

  • isPreferred
    Type: boolean

    When true, marks this card as the user's preferred gift card (clears any existing preferred flag).

  • paymentSource
    Type: string · enum
    values
    • ScanToPay
    • Online
    • None
  • saveCard
    Type: boolean

    When true, the issued gift card will be persisted for the user.

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

    The transaction date and time in local format.

  • userId
    Type: string | null

    The unique identifier of the user for whom the card is being saved.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/giftcard/v1/virtual/issue
curl https://SERVER_NAME_GOES_HERE.partech.com/giftcard/v1/virtual/issue \
  --request POST \
  --header 'x-applicationSource: ' \
  --header 'X-LocationId: ' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer ACCESS_TOKEN_GOES_HERE' \
  --data '{
  "amount": 100,
  "referenceNumber": "258",
  "transactionDateTimeUTC": "2026-03-06T11:28:29.7506561Z",
  "transactionDateTimeLocal": "2026-03-06T11:28:29.75",
  "invoiceNumber": "INV1234",
  "sourceTransactionId": "SRC123",
  "paymentSource": "ScanToPay",
  "channel": null,
  "saveCard": false,
  "isPreferred": false,
  "userId": null
}'
{
  "parPayTransactionId": "TRANSACTION_ID_GOES_HERE",
  "cardNumber": "GIFT_CARD_NUMBER_GOES_HERE",
  "giftCardPasscode": "GIFT_CARD_PASSCODE_GOES_HERE",
  "statusMessage": "APPROVAL",
  "balanceAmount": "100",
  "amount": "100",
  "transactionDateTimeUTC": "2026-03-06T11:28:29.7506188Z",
  "status": "Success"
}