// File capture.go holds CaptureData — the wire payload used when an order // claims a payment authorisation or records fulfilment capture. // // Consumers: // - PersistingOrderHandler in main.go on the OrderPlaced path. // - A small backoffice admin route kicks capture. // // It is NOT a public HTTP surface; its JSON field names mirror the UCP // capture.v1 schema that go-cart-actor publishes on the se_* RabbitMQ // exchange. If you change a field here, you almost certainly have to // change go-cart-actor's emit site at the same time. package main type CaptureData struct { CapturedAmount int `json:"captured_amount"` Description string `json:"description"` OrderLines []struct { ImageURL string `json:"image_url"` MerchantData string `json:"merchant_data"` Name string `json:"name"` ProductIdentifiers struct { Brand string `json:"brand"` CategoryPath string `json:"category_path"` Color string `json:"color"` GlobalTradeItemNumber string `json:"global_trade_item_number"` ManufacturerPartNumber string `json:"manufacturer_part_number"` Size string `json:"size"` } `json:"product_identifiers"` ProductURL string `json:"product_url"` Quantity int `json:"quantity"` QuantityUnit string `json:"quantity_unit"` Reference string `json:"reference"` Subscription struct { Interval string `json:"interval"` IntervalCount int `json:"interval_count"` Name string `json:"name"` } `json:"subscription"` TaxRate int `json:"tax_rate"` TotalAmount int `json:"total_amount"` TotalDiscountAmount int `json:"total_discount_amount"` TotalTaxAmount int `json:"total_tax_amount"` Type string `json:"type"` UnitPrice int `json:"unit_price"` } `json:"order_lines"` Reference string `json:"reference"` ShippingDelay int `json:"shipping_delay"` ShippingInfo []struct { ReturnShippingCompany string `json:"return_shipping_company"` ReturnTrackingNumber string `json:"return_tracking_number"` ReturnTrackingURI string `json:"return_tracking_uri"` ShippingCompany string `json:"shipping_company"` ShippingMethod string `json:"shipping_method"` TrackingNumber string `json:"tracking_number"` TrackingURI string `json:"tracking_uri"` } `json:"shipping_info"` }