Skip to main content

Register a return

In Engage, a return is viewed as just another transaction, but with a different transactional status. There is no direct connection between a purchase and a return that comes after, it’s considered a new transaction and handled accordingly.

Some important points to remember:

  • The quantity field has to be negative, reflecting the number of returned items.

  • The price on a return should be sent as a positive value of type "integer".

  • The line item type needs to have the value “RETURN”.

  • The grossPaidPrice on a return should be sent as a positive value of type "integer".

In the same way as for a purchase, the payload is sent to the following endpoint:

POST /api/v2/receipts

Example payload

This example transaction is a return for a customer with contact type “Member”. Note that quantity is negative, the price is positive and the line item type is “RETURN”.

{
  "contact": {
     "matchKey": "1c277c0a-ed93-4928-86cb-b0820090c111",
     "matchKeyType": "contactId"
  },
  "uniqueReceiptId": "20180909468464496",
  "receiptNumber": "468464496",
  "createdDate": "2018-09-09T12:05:23Z",
  "storeExternalId": "321",
  "currency": "NOK",
  "exchangeRateToGroupCurrency": 1.0,
  "totalGrossPrice": -400.00,
  "paymentMethods": [{
    "type": "card",
    "description": "Debit Card",
    "value": -400.00
  }],
  "items": [{
    "type": "RETURN",
    "quantity": -2,
    "grossPaidPrice": 400.00,
    "taxAmount": 80.00,
    "taxPercent": 25.00,
    "sku": "10015563434",
    "articleNumber": "2324234",
    "articleName": "Ipsum Wool Jacket",
    "articleGroup": "Jackets",
    "marginPercent": "25.00",
    "awardsBonus": false
  }]
}