🚀 Release Notes
📌 Summary of Changes
This release introduces important updates and enhancements to our gRPC proto definitions, including new methods, improved data structures, field renaming, and deprecations.
> **⚠️ Important:**
> The provided source code diff is the authoritative reference for accuracy.
> Always refer to the provided diff (`inventory.proto`, `order.proto`, `pay.proto`) for implementation details and exact changes.
---
📝 Proto File Updates
🔹 inventory.proto
**Field Renames:**
- `InventoryItem`: `item_id` ➜ **`merchant_item_id`**
- `AddOnItem`: `item_id` ➜ **`merchant_item_id`**
---
🔹 order.proto
🚩 New RPC Methods
- `RefundItem` – Allows refunding specific items in an order.
- `RefundOrder` – Allows refunding an entire order.
📌 Updates to Existing Messages
- `GetOrdersRequest`:
- `page_token` and `page_size` fields are now marked as `optional`.
- `OrderItemWithAddOns`:
- Added fields:
- `integration_id` (optional)
- `unit_price`
- `merchant_item_id`
- `OrderCombo`:
- Added fields:
- `unit_price`
- `integration_id` (optional)
- `merchant_item_id`
- `OrderAddOnItem`:
- Updated fields:
- Added `unit_price`
- Added `integration_id` (optional)
- Added `merchant_item_id`
- Adjusted field numbering and ordering for consistency
📦 New Messages
- `RefundItemRequest` & `RefundItemResponse` – For handling item-specific refunds.
- `RefundOrderRequest` & `RefundOrderResponse` – For refunding entire orders.
✅ New OrderStatus Values
- Added new status: **`PICKED`**
---
🔹 pay.proto
🚩 New RPC Method
- `Void` – Enables voiding/canceling a payment.
📌 Updates to Existing Messages
- `PaymentMethod`:
- `payment_method_type` field is now `optional`.
- `PayResponse`:
- Renamed: `idempotency_uuid` ➜ **`payment_id`**
- Deprecated: `psp_reference` (use `payment_data.psp_reference`)
- Added: `is_payment_declined` (to distinguish declined from cancelled payments)
- `CancelRequest`:
- Renamed: `order_id` ➜ **`payment_id`**
- `RefundRequest`:
- Renamed: `order_id` ➜ **`payment_id`**
- Renamed: `idempotency_key` ➜ **`idempotency_uuid`**
- Added optional field: `terminal_id`
📦 New Messages
- `VoidPaymentRequest` & `VoidPaymentResponse` – For voiding payments.
🔖 Enhanced PaymentData
- Added detailed `PaymentCard` information:
- `card_last_4_digits`
- `card_expiry_date`
- `pos_entry_mode`
- `payment_token`
- `auth_code`
- Added fields:
- `payment_method_variant`
- `refund_amount`
✅ New PaymentStatus Enum Values
- `DECLINED`
- `REFUND_PENDING`
- `REFUND_REQUESTED`
---
⚠️ Deprecations
The following fields are deprecated and replaced with new implementations:
| Deprecated Field | Replacement Field |
|------------------|-------------------|
| `PayResponse.receipt_json` | `payment_data.receipt_json` |
| `PayResponse.psp_reference` | `payment_data.psp_reference` |
| `PayResponse.date_paid` | `payment_data.date_paid` |
| `PayResponse.total_amount` | `payment_data.total_amount` |
| `PayResponse.sale_amount` | `payment_data.sale_amount` |