Add payments to existing cart
Register payment transaction(s) from your payment provider on the cart.
The transactionId is typically provided by the payment provider and is often a GUID. This ID ties together related transactions - the same transactionId is for instance used for authorization, capture, and credit operations on the same payment.
For e-commerce orders: Use transactionType "Authorization" - Omnium workflows handle Capture/Credit/Void automatically.
For POS: Use transactionType "Sale" since payment is captured immediately.
Example - E-commerce payment (Klarna):
PUT /api/carts/{cartId}/AddPayments
[
{
"amount": 999.00,
"paymentMethodName": "Klarna",
"transactionId": "klarna-order-abc123",
"transactionType": "Authorization",
"status": "Processed"
}
]
Example - POS sale:
PUT /api/carts/{cartId}/AddPayments
[
{
"amount": 599.00,
"paymentMethodName": "Card",
"transactionId": "terminal-tx-12345",
"transactionType": "Sale",
"status": "Processed"
}
]
Example - Split payment (Gift card + Vipps):
PUT /api/carts/{cartId}/AddPayments
[
{
"amount": 200.00,
"paymentMethodName": "GiftCard",
"transactionId": "GC-ABC123",
"transactionType": "Authorization",
"status": "Processed"
},
{
"amount": 799.00,
"paymentMethodName": "Vipps",
"transactionId": "vipps-order-xyz",
"transactionType": "Authorization",
"status": "Processed"
}
]
Request
- Base URL: https://api.omnium.no (the document declares no server; this is the origin it was published from)
- URL: https://api.omnium.no/api/Cart/{cartId}/AddPayments
- Auth: API key in header Authorization
Path parameters
ID of existing cart. (Required)
Query parameters
Indicates whether to overwrite existing payments. Defaults to true. If true, replaces existing payments. If false, appends new payments
Request body
The monetary amount for this payment transaction. For Authorization: The reserved/authorized amount For Capture: The captured amount (can be less than or equal to authorization) For Credit/Refund: The refunded amount
Authorization code returned by the payment provider. Used for reference and reconciliation with the payment provider.
Name of the customer associated with this payment.
Not in use - reserved for internal purposes.
Unique identifier for this specific payment record in Omnium. Different from TransactionId which is the provider's reference. When updating payments, matching is done on this Id.
Deprecated. Use TransactionId instead.
Deprecated. Use PaymentMethodName instead.
Identifies the payment provider. Must match a configured provider name in Omnium. Examples: "Klarna", "Vipps", "Stripe", "Adyen", "GiftCard", "Dintero" This determines which integration Omnium uses for capture/refund operations.
Sub-type or method within the payment provider. Examples: "Invoice", "Card", "Swish", "DirectDebit" Used to identify the specific payment method when a provider offers multiple options.
Current status of this payment transaction. Values:
- "Processed": Transaction completed successfully
- "Failed": Transaction failed
- "Pending": Awaiting processing or confirmation
- "Paid": Payment has been paid
- "Approved": Payment has been approved
Unique transaction identifier from the payment provider. This is the provider's reference for the transaction and is required for subsequent operations (capture, refund). Example: Klarna order ID, Vipps order ID, Stripe payment intent ID
The type of payment transaction.
Common values for API consumers:
- "Authorization": Payment is reserved but not yet captured. Standard for e-commerce orders
- "Capture": Payment has been captured/charged from the customer
- "Sale": Payment is immediately captured (no separate authorization). Use for POS/in-store orders
- "Credit": Refund/credit back to the customer
- "Invoiced": Invoice-based payment (e.g., Klarna invoice)
- "Void": Authorization has been cancelled/voided
Internal/system values (typically set by Omnium, not API consumers):
- "AwaitingAuthorization": Used internally for paylinks and in-store payments awaiting customer action
- "ReleaseRemainingAuthorization": Release unused authorization amount after partial capture
- "Settlement", "SettlementFee", "SettlementRefund": Provider settlement transactions
- "Bookkeeping", "CreditBookkeeping": Internal accounting transactions
- "Other": Other transaction types
For POS/in-store sales, use "Sale" since payment is captured immediately at point of sale. For e-commerce orders, use "Authorization" - Omnium workflows handle Capture, Credit, and Void automatically.
Deprecated. Not in use.
The original date when the payment was made. May differ from Created if the payment was pre-paid or processed externally before registration.
Timestamp when this payment record was created/registered in Omnium.
Indicates if this payment was manually added through the Omnium UI rather than from a payment provider integration. Manual payments are typically used for cash, bank transfer, or other offline payment methods.
Indicates that this entry moves value between orders rather than money that went through a payment provider or a cash register. Set on both sides of a transfer: "Credit" on the order the value left (see Omnium.Public.Payments.Models.OmniumPayment.TransferredToOrderId) and "Sale"/"Authorization"/"Capture" on the order it arrived at (see Omnium.Public.Payments.Models.OmniumPayment.TransferredFromOrderId).
This happens on in-store returns and exchanges: the returned goods pay for the new goods instead of being refunded and re-charged, and Omnium records the return as its own order, so the original payment must appear on both for the totals to add up. A refund the provider really executed is never virtual, even on a return order.
Virtual entries still count towards the order's payment totals, but nothing exists at the provider or terminal — skip them when reconciling against a settlement.
Order the value came from. Set on the receiving side of a transfer, with Omnium.Public.Payments.Models.OmniumPayment.IsVirtual.
Order the value went to. Set on the originating side of a transfer, with Omnium.Public.Payments.Models.OmniumPayment.IsVirtual.
Free-text comment or note about the payment. Useful for manual payments or special circumstances.
Internal reference for linking this payment to other business documents. Can be used for RMA numbers, related order numbers, or other cross-references.
Description or reason for the payment, especially useful for refunds/credits. Example: "Return of damaged item", "Partial refund for shipping delay"
Expiration date/time for the authorization from the payment provider. After this date, the authorization may no longer be valid for capture. Important for managing capture timing and avoiding authorization expiry.
The store or warehouse ID associated with this payment. Used for multi-store scenarios where payments need to be attributed to specific locations.
The shipment ID this payment is associated with. Used when payments are split across multiple shipments or for shipment-specific captures.
The POS fiscal sale this payment belongs to: the payment event at the till that paid for a selection of the order's shipments and produced one receipt. Shared by every payment in a split tender.
Reference to an invoice if this payment is linked to an invoice document. Used for invoice-based payment methods or accounting integrations.
Reference from some payment providers where transaction id diff from a reservation/auth
Response
Payments are added, and updated cart is returned
Cart unique ID
Expiration date of cart. If passed, the cart should not be visible to customer.
Should the cart be read only?
Should the order/cart be read only for the customer?
Should promotion prices be ignored when product is added to cart?
Customer groups (for discount calculation)
Should be used when order needs a special status when created from cart
In most cases, this property will be identical to the Id property. However, if you have orders from multiple sources (multiple e-commerce sites, pos systems or other sales channels), and the order numbers from the sources could overlap, you could set the Id to a unique value and the order number to the user friendly number.
The ID of the customer that has placed the order. Typically this is set to the customers phone number or email address, but it could be set to anything. A customer with the matching ID does not have to exist in the system before the order is placed. If there are no overlapping IDs, but you still have multiple sources of IDs, consider using ExternalIds instead.
In most cases, the customer number could be set to the same value as the CustomerId. However, in some edge cases the customers could get imported from multiple systems with the same ID range. In that case, you should set the user friendly number to the CustomerNumber and an unique ID for the CustomerId.
If Customer is member of customer club, set Customer ID as member ID.
Currency of the order. e.g. "USD","NOK"
Full name of customer
Customer phone number with prefix. e.g. +4740000000
Customer e-mail
B2B or B2C (Business customer or private customer)
Market ID e.g. "US", "NOR", "SWE". This must match the value of the market(s) defined in Omnium.
(OBSOLETE: Use property on OrderForm instead) Shipping discount amount
Total shipping cost
The current order status. This must match a status defined in the order settings in Omnium. Typical values are "New", "InProgress", "Cancelled" or "Completed".
CALCULATED: The remaining payment amount if the difference between the authorized amount and total amount
Id of seller of the order - typically set to the e-mail of the user in Omnium, but could be set to any ID.
Name of the seller of the order
Name of sales channel
CALCULATED: Order completed date
CALCULATED: Order last modified date
CALCULATED: Modified by
The creation date of the order
The received date of the order
Order follow-up date
CALCULATED: Customer deadline for picking up order
CALCULATED: Employee deadline for picking order
Delivery date requested by customer
Date when order should be moved to next status. (Updated by UpdateOrderStatusScheduledTask)
Calculated: When the order was set to ready for pickup. The property can be set by workflow step with name: Set ready for pickup date
Status order should be moved to. (Updated by UpdateOrderStatusScheduledTask)
OBSOLETE: Use orderForm.payments instead.
Order type e.g. "Online", "Pos". The order type must match a order type defined in the Omnium order settings
The allocation profile Omnium's allocation engine should rank plans under for this order, for example FewestShipments or Closest. Empty means the profile configured for the market.
The store Id identifies the store that sells the orders. Should match an ID of an existing store. A store would typically be the front end e-commerce solution, a physical store or other sales channels.
The origin of the order should identify where the order was created. Typical values are "OMS", "ERP", "WEB" or "POS".
Calculated: Total cost of the order. The cost price
Calculated: OrderForm total - returnForms total
Calculated: OrderForm total excl tax - returnForms total excl tax
Reference provided by customer.
Customer contact person
Customer requisition provided by customer
If true, Omnium's notifications will not be triggered for the order
List of related order IDs
Session code used for referencing a web session
A unique secret key for the order. Can be used for secure order lookups.
List of replacement order IDs for this order
Subscription ID - used if order is part of a subscription. The Id should match an existing subscription in Omnium
Project IDs - used if order is part of projects
Order tags (Used by notification filters, and for grouping / filtering orders)
Net payment terms (in days). Used for invoice due dates.
Invoice comment
OBSOLETE: Use ProjectIds instead. Project ID - used if order is part of a project
(OBSOLETE: Use property on OrderForm instead) Order total without shipment cost
(OBSOLETE: Use property on OrderForm instead) Order total without shipment cost and without tax
(OBSOLETE: Use property on OrderForm instead) Total tax amount
(OBSOLETE: Use property on OrderForm instead) Order total, including shipment cost, tax, and discounts
(OBSOLETE: Use property on OrderForm instead) Order total, including shipment cost and discounts, but without tax
(OBSOLETE: Use property on OrderForm instead) Total order discount
Indicates whether the customer is new. Set automatically by the workflow if the customer's creation date is in the past, but can also be updated via the API.
Read only: Current version ID
Order name
Canceled date
Organization number
Correlation ID for tracing
Whether the order has been anonymized
Whether the order is reservable
List of invoice IDs associated with this order
Shows which documents have been generated for the order
Customer's own order number
Whether the order has been reallocated
Changes
No recorded changes to this operation across all 1 revision of this API.