diff --git a/locale/defaultMessages.json b/locale/defaultMessages.json index 4eb5d12f6..a69158f2d 100644 --- a/locale/defaultMessages.json +++ b/locale/defaultMessages.json @@ -3311,10 +3311,18 @@ "context": "order line total price", "string": "Total" }, + "src_dot_orders_dot_components_dot_OrderHistory_dot_1154330234": { + "context": "transaction reference", + "string": "Transaction Reference {transactionReference}" + }, "src_dot_orders_dot_components_dot_OrderHistory_dot_1230178536": { "context": "order history message", "string": "Order address was updated" }, + "src_dot_orders_dot_components_dot_OrderHistory_dot_1463685940": { + "context": "order history message", + "string": "Order was marked as paid" + }, "src_dot_orders_dot_components_dot_OrderHistory_dot_1521936480": { "context": "order history message", "string": "Fulfilled {quantity} items" @@ -3379,10 +3387,6 @@ "context": "order history message", "string": "Payment was authorized" }, - "src_dot_orders_dot_components_dot_OrderHistory_dot_3328124376": { - "context": "order history message", - "string": "Marked order as paid" - }, "src_dot_orders_dot_components_dot_OrderHistory_dot_3453124210": { "context": "order history message", "string": "Shipping tracking number was sent to customer" @@ -3512,8 +3516,15 @@ "src_dot_orders_dot_components_dot_OrderList_dot_898333473": { "string": "No orders found" }, - "src_dot_orders_dot_components_dot_OrderMarkAsPaidDialog_dot_2823153104": { - "string": "Are you sure you want to mark this order as paid?" + "src_dot_orders_dot_components_dot_OrderMarkAsPaidDialog_dot_1739834732": { + "context": "transaction reference", + "string": "Transaction reference" + }, + "src_dot_orders_dot_components_dot_OrderMarkAsPaidDialog_dot_1758712563": { + "string": "Please provide a transaction reference using the input below:" + }, + "src_dot_orders_dot_components_dot_OrderMarkAsPaidDialog_dot_2105685861": { + "string": "You're going to mark this order as paid." }, "src_dot_orders_dot_components_dot_OrderMarkAsPaidDialog_dot_4196844912": { "context": "dialog header", diff --git a/schema.graphql b/schema.graphql index 5843bbf39..95946c486 100644 --- a/schema.graphql +++ b/schema.graphql @@ -2646,7 +2646,7 @@ type Mutation { orderFulfill(input: OrderFulfillInput!, order: ID): OrderFulfill orderFulfillmentCancel(id: ID!, input: FulfillmentCancelInput!): FulfillmentCancel orderFulfillmentUpdateTracking(id: ID!, input: FulfillmentUpdateTrackingInput!): FulfillmentUpdateTracking - orderMarkAsPaid(id: ID!): OrderMarkAsPaid + orderMarkAsPaid(id: ID!, transactionReference: String): OrderMarkAsPaid orderRefund(amount: PositiveDecimal!, id: ID!): OrderRefund orderUpdate(id: ID!, input: OrderUpdateInput!): OrderUpdate orderUpdateShipping(order: ID!, input: OrderUpdateShippingInput): OrderUpdateShipping @@ -2962,6 +2962,7 @@ type OrderEvent implements Node { lines: [OrderEventOrderLineObject] fulfilledItems: [FulfillmentLine] warehouse: Warehouse + transactionReference: String } type OrderEventCountableConnection { diff --git a/src/components/Timeline/TimelineEvent.tsx b/src/components/Timeline/TimelineEvent.tsx index e3b2c28f8..ae9088315 100644 --- a/src/components/Timeline/TimelineEvent.tsx +++ b/src/components/Timeline/TimelineEvent.tsx @@ -10,6 +10,15 @@ import { DateTime } from "../Date"; const useStyles = makeStyles( theme => ({ + container: { + alignItems: "center", + display: "flex", + flexDirection: "column", + justifyContent: "space-between", + marginBottom: theme.spacing(), + marginLeft: theme.spacing(3), + width: "100%" + }, date: { color: theme.typography.caption.color }, @@ -31,8 +40,6 @@ const useStyles = makeStyles( alignItems: "center", display: "flex", justifyContent: "space-between", - marginBottom: theme.spacing(), - marginLeft: theme.spacing(3), width: "100%" }, panel: { @@ -57,6 +64,11 @@ const useStyles = makeStyles( marginBottom: theme.spacing(3), position: "relative", width: "100%" + }, + secondaryTitle: { + color: "#9e9e9e", + fontSize: 14, + marginTop: theme.spacing(2) } }), { name: "TimelineEvent" } @@ -65,11 +77,12 @@ const useStyles = makeStyles( interface TimelineEventProps { children?: React.ReactNode; date: string; + secondaryTitle?: string; title: string; } export const TimelineEvent: React.FC = props => { - const { children, date, title } = props; + const { children, date, secondaryTitle, title } = props; const classes = useStyles(props); @@ -87,11 +100,20 @@ export const TimelineEvent: React.FC = props => { ) : ( -
- {title} - - - +
+
+ {title} + + + +
+ {secondaryTitle && ( +
+ + {secondaryTitle} + +
+ )}
)}
diff --git a/src/fragments/orders.ts b/src/fragments/orders.ts index 3fbe90c7c..719bd3bda 100644 --- a/src/fragments/orders.ts +++ b/src/fragments/orders.ts @@ -13,6 +13,7 @@ export const fragmentOrderEvent = gql` invoiceNumber message quantity + transactionReference type user { id @@ -171,5 +172,6 @@ export const fragmentOrderDetails = gql` name currencyCode } + isPaid } `; diff --git a/src/fragments/types/OrderDetailsFragment.ts b/src/fragments/types/OrderDetailsFragment.ts index 8355e63e4..136dfbf27 100644 --- a/src/fragments/types/OrderDetailsFragment.ts +++ b/src/fragments/types/OrderDetailsFragment.ts @@ -58,6 +58,7 @@ export interface OrderDetailsFragment_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderDetailsFragment_events_user | null; } @@ -320,4 +321,5 @@ export interface OrderDetailsFragment { discount: OrderDetailsFragment_discount | null; invoices: (OrderDetailsFragment_invoices | null)[] | null; channel: OrderDetailsFragment_channel; + isPaid: boolean | null; } diff --git a/src/fragments/types/OrderEventFragment.ts b/src/fragments/types/OrderEventFragment.ts index 4331d9cd1..39d5ace4a 100644 --- a/src/fragments/types/OrderEventFragment.ts +++ b/src/fragments/types/OrderEventFragment.ts @@ -24,6 +24,7 @@ export interface OrderEventFragment { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderEventFragment_user | null; } diff --git a/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx b/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx index 971ae6ada..2d3fdd7ff 100644 --- a/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx +++ b/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx @@ -213,11 +213,9 @@ const OrderDetailsPage: React.FC = props => { onRefund={onPaymentRefund} onVoid={onPaymentVoid} /> + - order.events)} - onNoteAdd={onNoteAdd} - /> +
{ }); case OrderEventsEnum.ORDER_MARKED_AS_PAID: return intl.formatMessage({ - defaultMessage: "Marked order as paid", + defaultMessage: "Order was marked as paid", description: "order history message" }); case OrderEventsEnum.OTHER: @@ -288,6 +288,23 @@ const OrderHistory: React.FC = props => { /> ); } + if (event.type === OrderEventsEnum.ORDER_MARKED_AS_PAID) { + return ( + + ); + } return ( void; onConfirm: () => void; + handleTransactionReference: (e: React.ChangeEvent) => void; } const OrderMarkAsPaidDialog: React.FC = ({ confirmButtonState, errors: apiErrors, + handleTransactionReference, onClose, onConfirm, - open + open, + transactionReference }) => { const intl = useIntl(); const errors = useModalDialogErrors(apiErrors, open); @@ -38,8 +43,20 @@ const OrderMarkAsPaidDialog: React.FC = ({ onConfirm={onConfirm} > - + +
+
+ {errors.length > 0 && ( <> diff --git a/src/orders/fixtures.ts b/src/orders/fixtures.ts index 6a0e15d2d..bee42f8a8 100644 --- a/src/orders/fixtures.ts +++ b/src/orders/fixtures.ts @@ -832,6 +832,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ invoiceNumber: null, message: null, quantity: 1, + transactionReference: "123", type: OrderEventsEnum.FULFILLMENT_FULFILLED_ITEMS, user: { __typename: "User", @@ -849,6 +850,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ invoiceNumber: null, message: "This is note", quantity: null, + transactionReference: "124", type: OrderEventsEnum.NOTE_ADDED, user: null }, @@ -862,6 +864,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ invoiceNumber: null, message: "This is note", quantity: null, + transactionReference: "125", type: OrderEventsEnum.NOTE_ADDED, user: null }, @@ -875,6 +878,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ invoiceNumber: null, message: "Note from external service", quantity: null, + transactionReference: "126", type: OrderEventsEnum.EXTERNAL_SERVICE_NOTIFICATION, user: null }, @@ -888,6 +892,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ invoiceNumber: null, message: null, quantity: null, + transactionReference: "127", type: OrderEventsEnum.EMAIL_SENT, user: null }, @@ -901,6 +906,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ invoiceNumber: null, message: null, quantity: null, + transactionReference: "128", type: OrderEventsEnum.EMAIL_SENT, user: null }, @@ -914,6 +920,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ invoiceNumber: null, message: null, quantity: null, + transactionReference: "129", type: OrderEventsEnum.PAYMENT_AUTHORIZED, user: null } @@ -1023,6 +1030,7 @@ export const order = (placeholder: string): OrderDetails_order => ({ url: "invoice1" } ], + isPaid: true, lines: [ { __typename: "OrderLine", @@ -1190,6 +1198,7 @@ export const draftOrder = (placeholder: string): OrderDetails_order => ({ url: "invoice1" } ], + isPaid: false, lines: [ { __typename: "OrderLine" as "OrderLine", diff --git a/src/orders/mutations.ts b/src/orders/mutations.ts index 8b12782d0..6dbc41418 100644 --- a/src/orders/mutations.ts +++ b/src/orders/mutations.ts @@ -185,8 +185,8 @@ export const TypedOrderVoidMutation = TypedMutation< const orderMarkAsPaidMutation = gql` ${fragmentOrderDetails} ${orderErrorFragment} - mutation OrderMarkAsPaid($id: ID!) { - orderMarkAsPaid(id: $id) { + mutation OrderMarkAsPaid($id: ID!, $transactionReference: String) { + orderMarkAsPaid(id: $id, transactionReference: $transactionReference) { errors: orderErrors { ...OrderErrorFragment } diff --git a/src/orders/types/FulfillOrder.ts b/src/orders/types/FulfillOrder.ts index dcc4c359d..79aaaa24a 100644 --- a/src/orders/types/FulfillOrder.ts +++ b/src/orders/types/FulfillOrder.ts @@ -66,6 +66,7 @@ export interface FulfillOrder_orderFulfill_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: FulfillOrder_orderFulfill_order_events_user | null; } @@ -328,6 +329,7 @@ export interface FulfillOrder_orderFulfill_order { discount: FulfillOrder_orderFulfill_order_discount | null; invoices: (FulfillOrder_orderFulfill_order_invoices | null)[] | null; channel: FulfillOrder_orderFulfill_order_channel; + isPaid: boolean | null; } export interface FulfillOrder_orderFulfill { diff --git a/src/orders/types/OrderAddNote.ts b/src/orders/types/OrderAddNote.ts index 75cd83e43..71cc69285 100644 --- a/src/orders/types/OrderAddNote.ts +++ b/src/orders/types/OrderAddNote.ts @@ -30,6 +30,7 @@ export interface OrderAddNote_orderAddNote_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderAddNote_orderAddNote_order_events_user | null; } diff --git a/src/orders/types/OrderCancel.ts b/src/orders/types/OrderCancel.ts index 434ca5214..7f1c18ca6 100644 --- a/src/orders/types/OrderCancel.ts +++ b/src/orders/types/OrderCancel.ts @@ -64,6 +64,7 @@ export interface OrderCancel_orderCancel_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderCancel_orderCancel_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderCancel_orderCancel_order { discount: OrderCancel_orderCancel_order_discount | null; invoices: (OrderCancel_orderCancel_order_invoices | null)[] | null; channel: OrderCancel_orderCancel_order_channel; + isPaid: boolean | null; } export interface OrderCancel_orderCancel { diff --git a/src/orders/types/OrderCapture.ts b/src/orders/types/OrderCapture.ts index 536aabda6..48ac81ef4 100644 --- a/src/orders/types/OrderCapture.ts +++ b/src/orders/types/OrderCapture.ts @@ -64,6 +64,7 @@ export interface OrderCapture_orderCapture_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderCapture_orderCapture_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderCapture_orderCapture_order { discount: OrderCapture_orderCapture_order_discount | null; invoices: (OrderCapture_orderCapture_order_invoices | null)[] | null; channel: OrderCapture_orderCapture_order_channel; + isPaid: boolean | null; } export interface OrderCapture_orderCapture { diff --git a/src/orders/types/OrderDetails.ts b/src/orders/types/OrderDetails.ts index 1ed9adac7..d9517b580 100644 --- a/src/orders/types/OrderDetails.ts +++ b/src/orders/types/OrderDetails.ts @@ -58,6 +58,7 @@ export interface OrderDetails_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderDetails_order_events_user | null; } @@ -320,6 +321,7 @@ export interface OrderDetails_order { discount: OrderDetails_order_discount | null; invoices: (OrderDetails_order_invoices | null)[] | null; channel: OrderDetails_order_channel; + isPaid: boolean | null; } export interface OrderDetails_shop_countries { diff --git a/src/orders/types/OrderDraftCancel.ts b/src/orders/types/OrderDraftCancel.ts index d6a74c8c8..1e5345fe5 100644 --- a/src/orders/types/OrderDraftCancel.ts +++ b/src/orders/types/OrderDraftCancel.ts @@ -64,6 +64,7 @@ export interface OrderDraftCancel_draftOrderDelete_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderDraftCancel_draftOrderDelete_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderDraftCancel_draftOrderDelete_order { discount: OrderDraftCancel_draftOrderDelete_order_discount | null; invoices: (OrderDraftCancel_draftOrderDelete_order_invoices | null)[] | null; channel: OrderDraftCancel_draftOrderDelete_order_channel; + isPaid: boolean | null; } export interface OrderDraftCancel_draftOrderDelete { diff --git a/src/orders/types/OrderDraftFinalize.ts b/src/orders/types/OrderDraftFinalize.ts index b674cd776..f6b13f347 100644 --- a/src/orders/types/OrderDraftFinalize.ts +++ b/src/orders/types/OrderDraftFinalize.ts @@ -64,6 +64,7 @@ export interface OrderDraftFinalize_draftOrderComplete_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderDraftFinalize_draftOrderComplete_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderDraftFinalize_draftOrderComplete_order { discount: OrderDraftFinalize_draftOrderComplete_order_discount | null; invoices: (OrderDraftFinalize_draftOrderComplete_order_invoices | null)[] | null; channel: OrderDraftFinalize_draftOrderComplete_order_channel; + isPaid: boolean | null; } export interface OrderDraftFinalize_draftOrderComplete { diff --git a/src/orders/types/OrderDraftUpdate.ts b/src/orders/types/OrderDraftUpdate.ts index 2e138f858..c91035dc1 100644 --- a/src/orders/types/OrderDraftUpdate.ts +++ b/src/orders/types/OrderDraftUpdate.ts @@ -64,6 +64,7 @@ export interface OrderDraftUpdate_draftOrderUpdate_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderDraftUpdate_draftOrderUpdate_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderDraftUpdate_draftOrderUpdate_order { discount: OrderDraftUpdate_draftOrderUpdate_order_discount | null; invoices: (OrderDraftUpdate_draftOrderUpdate_order_invoices | null)[] | null; channel: OrderDraftUpdate_draftOrderUpdate_order_channel; + isPaid: boolean | null; } export interface OrderDraftUpdate_draftOrderUpdate { diff --git a/src/orders/types/OrderFulfillmentCancel.ts b/src/orders/types/OrderFulfillmentCancel.ts index 94c1149dc..d08750b40 100644 --- a/src/orders/types/OrderFulfillmentCancel.ts +++ b/src/orders/types/OrderFulfillmentCancel.ts @@ -64,6 +64,7 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderFulfillmentCancel_orderFulfillmentCancel_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order { discount: OrderFulfillmentCancel_orderFulfillmentCancel_order_discount | null; invoices: (OrderFulfillmentCancel_orderFulfillmentCancel_order_invoices | null)[] | null; channel: OrderFulfillmentCancel_orderFulfillmentCancel_order_channel; + isPaid: boolean | null; } export interface OrderFulfillmentCancel_orderFulfillmentCancel { diff --git a/src/orders/types/OrderFulfillmentUpdateTracking.ts b/src/orders/types/OrderFulfillmentUpdateTracking.ts index 7111f736e..970ee7510 100644 --- a/src/orders/types/OrderFulfillmentUpdateTracking.ts +++ b/src/orders/types/OrderFulfillmentUpdateTracking.ts @@ -64,6 +64,7 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o discount: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_discount | null; invoices: (OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_invoices | null)[] | null; channel: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_channel; + isPaid: boolean | null; } export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking { diff --git a/src/orders/types/OrderLineDelete.ts b/src/orders/types/OrderLineDelete.ts index 97208fb37..ecc6186de 100644 --- a/src/orders/types/OrderLineDelete.ts +++ b/src/orders/types/OrderLineDelete.ts @@ -64,6 +64,7 @@ export interface OrderLineDelete_draftOrderLineDelete_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderLineDelete_draftOrderLineDelete_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderLineDelete_draftOrderLineDelete_order { discount: OrderLineDelete_draftOrderLineDelete_order_discount | null; invoices: (OrderLineDelete_draftOrderLineDelete_order_invoices | null)[] | null; channel: OrderLineDelete_draftOrderLineDelete_order_channel; + isPaid: boolean | null; } export interface OrderLineDelete_draftOrderLineDelete { diff --git a/src/orders/types/OrderLineUpdate.ts b/src/orders/types/OrderLineUpdate.ts index d10573fcb..455354484 100644 --- a/src/orders/types/OrderLineUpdate.ts +++ b/src/orders/types/OrderLineUpdate.ts @@ -64,6 +64,7 @@ export interface OrderLineUpdate_draftOrderLineUpdate_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderLineUpdate_draftOrderLineUpdate_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderLineUpdate_draftOrderLineUpdate_order { discount: OrderLineUpdate_draftOrderLineUpdate_order_discount | null; invoices: (OrderLineUpdate_draftOrderLineUpdate_order_invoices | null)[] | null; channel: OrderLineUpdate_draftOrderLineUpdate_order_channel; + isPaid: boolean | null; } export interface OrderLineUpdate_draftOrderLineUpdate { diff --git a/src/orders/types/OrderLinesAdd.ts b/src/orders/types/OrderLinesAdd.ts index ae3e7284b..2a4821e4f 100644 --- a/src/orders/types/OrderLinesAdd.ts +++ b/src/orders/types/OrderLinesAdd.ts @@ -64,6 +64,7 @@ export interface OrderLinesAdd_draftOrderLinesCreate_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderLinesAdd_draftOrderLinesCreate_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderLinesAdd_draftOrderLinesCreate_order { discount: OrderLinesAdd_draftOrderLinesCreate_order_discount | null; invoices: (OrderLinesAdd_draftOrderLinesCreate_order_invoices | null)[] | null; channel: OrderLinesAdd_draftOrderLinesCreate_order_channel; + isPaid: boolean | null; } export interface OrderLinesAdd_draftOrderLinesCreate { diff --git a/src/orders/types/OrderMarkAsPaid.ts b/src/orders/types/OrderMarkAsPaid.ts index d5caa14ba..c79e80526 100644 --- a/src/orders/types/OrderMarkAsPaid.ts +++ b/src/orders/types/OrderMarkAsPaid.ts @@ -64,6 +64,7 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderMarkAsPaid_orderMarkAsPaid_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order { discount: OrderMarkAsPaid_orderMarkAsPaid_order_discount | null; invoices: (OrderMarkAsPaid_orderMarkAsPaid_order_invoices | null)[] | null; channel: OrderMarkAsPaid_orderMarkAsPaid_order_channel; + isPaid: boolean | null; } export interface OrderMarkAsPaid_orderMarkAsPaid { @@ -340,4 +342,5 @@ export interface OrderMarkAsPaid { export interface OrderMarkAsPaidVariables { id: string; + transactionReference?: string | null; } diff --git a/src/orders/types/OrderRefund.ts b/src/orders/types/OrderRefund.ts index 515ff4984..3e509cd48 100644 --- a/src/orders/types/OrderRefund.ts +++ b/src/orders/types/OrderRefund.ts @@ -64,6 +64,7 @@ export interface OrderRefund_orderRefund_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderRefund_orderRefund_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderRefund_orderRefund_order { discount: OrderRefund_orderRefund_order_discount | null; invoices: (OrderRefund_orderRefund_order_invoices | null)[] | null; channel: OrderRefund_orderRefund_order_channel; + isPaid: boolean | null; } export interface OrderRefund_orderRefund { diff --git a/src/orders/types/OrderUpdate.ts b/src/orders/types/OrderUpdate.ts index f71308c29..4ad6d1598 100644 --- a/src/orders/types/OrderUpdate.ts +++ b/src/orders/types/OrderUpdate.ts @@ -64,6 +64,7 @@ export interface OrderUpdate_orderUpdate_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderUpdate_orderUpdate_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderUpdate_orderUpdate_order { discount: OrderUpdate_orderUpdate_order_discount | null; invoices: (OrderUpdate_orderUpdate_order_invoices | null)[] | null; channel: OrderUpdate_orderUpdate_order_channel; + isPaid: boolean | null; } export interface OrderUpdate_orderUpdate { diff --git a/src/orders/types/OrderVoid.ts b/src/orders/types/OrderVoid.ts index f36614923..a85fd06dd 100644 --- a/src/orders/types/OrderVoid.ts +++ b/src/orders/types/OrderVoid.ts @@ -64,6 +64,7 @@ export interface OrderVoid_orderVoid_order_events { invoiceNumber: string | null; message: string | null; quantity: number | null; + transactionReference: string | null; type: OrderEventsEnum | null; user: OrderVoid_orderVoid_order_events_user | null; } @@ -326,6 +327,7 @@ export interface OrderVoid_orderVoid_order { discount: OrderVoid_orderVoid_order_discount | null; invoices: (OrderVoid_orderVoid_order_invoices | null)[] | null; channel: OrderVoid_orderVoid_order_channel; + isPaid: boolean | null; } export interface OrderVoid_orderVoid { diff --git a/src/orders/views/OrderDetails/index.tsx b/src/orders/views/OrderDetails/index.tsx index b4415c719..15f173a2d 100644 --- a/src/orders/views/OrderDetails/index.tsx +++ b/src/orders/views/OrderDetails/index.tsx @@ -91,6 +91,7 @@ export const OrderDetails: React.FC = ({ id, params }) => { updatePrivateMetadataOpts ] = usePrivateMetadataUpdate({}); const notify = useNotifier(); + const [transactionReference, setTransactionReference] = React.useState(""); const [openModal, closeModal] = createDialogActionHandlers< OrderUrlDialog, @@ -325,10 +326,15 @@ export const OrderDetails: React.FC = ({ id, params }) => { onClose={closeModal} onConfirm={() => orderPaymentMarkAsPaid.mutate({ - id + id, + transactionReference }) } open={params.action === "mark-paid"} + transactionReference={transactionReference} + handleTransactionReference={({ target }) => + setTransactionReference(target.value) + } />
- Expansion panel 1 -
-
- + Expansion panel 1 +
+
+ +
@@ -10048,23 +10052,27 @@ exports[`Storyshots Generics / Timeline default 1`] = ` class="TimelineEvent-dot-id" />
- Expansion panel 2 -
-
- + Expansion panel 2 +
+
+ +
@@ -10075,23 +10083,27 @@ exports[`Storyshots Generics / Timeline default 1`] = ` class="TimelineEvent-dot-id" />
- Expansion panel 3 -
-
- + Expansion panel 3 +
+
+ +
@@ -11684,23 +11696,27 @@ exports[`Storyshots Orders / OrderHistory default 1`] = ` class="TimelineEvent-dot-id" />
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -11711,23 +11727,27 @@ exports[`Storyshots Orders / OrderHistory default 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -11738,23 +11758,27 @@ exports[`Storyshots Orders / OrderHistory default 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -11765,23 +11789,27 @@ exports[`Storyshots Orders / OrderHistory default 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -11862,23 +11890,27 @@ exports[`Storyshots Orders / OrderHistory default 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -95517,6 +95549,9 @@ exports[`Storyshots Views / Orders / Order details cancelled 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -95916,23 +95955,27 @@ exports[`Storyshots Views / Orders / Order details cancelled 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -95943,23 +95986,27 @@ exports[`Storyshots Views / Orders / Order details cancelled 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -95970,23 +96017,27 @@ exports[`Storyshots Views / Orders / Order details cancelled 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -96067,23 +96118,27 @@ exports[`Storyshots Views / Orders / Order details cancelled 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -97135,6 +97190,9 @@ exports[`Storyshots Views / Orders / Order details default 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -97534,23 +97596,27 @@ exports[`Storyshots Views / Orders / Order details default 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -97561,23 +97627,27 @@ exports[`Storyshots Views / Orders / Order details default 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -97588,23 +97658,27 @@ exports[`Storyshots Views / Orders / Order details default 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -97685,23 +97759,27 @@ exports[`Storyshots Views / Orders / Order details default 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -98783,6 +98861,9 @@ exports[`Storyshots Views / Orders / Order details fulfilled 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -99182,23 +99267,27 @@ exports[`Storyshots Views / Orders / Order details fulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -99209,23 +99298,27 @@ exports[`Storyshots Views / Orders / Order details fulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -99236,23 +99329,27 @@ exports[`Storyshots Views / Orders / Order details fulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -99333,23 +99430,27 @@ exports[`Storyshots Views / Orders / Order details fulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -100058,6 +100159,9 @@ exports[`Storyshots Views / Orders / Order details loading 1`] = ` +
+
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -101568,23 +101679,27 @@ exports[`Storyshots Views / Orders / Order details no customer note 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -101595,23 +101710,27 @@ exports[`Storyshots Views / Orders / Order details no customer note 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -101622,23 +101741,27 @@ exports[`Storyshots Views / Orders / Order details no customer note 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -101719,23 +101842,27 @@ exports[`Storyshots Views / Orders / Order details no customer note 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -102817,6 +102944,9 @@ exports[`Storyshots Views / Orders / Order details no payment 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -103216,23 +103350,27 @@ exports[`Storyshots Views / Orders / Order details no payment 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -103243,23 +103381,27 @@ exports[`Storyshots Views / Orders / Order details no payment 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -103270,23 +103412,27 @@ exports[`Storyshots Views / Orders / Order details no payment 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -103367,23 +103513,27 @@ exports[`Storyshots Views / Orders / Order details no payment 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -104465,6 +104615,9 @@ exports[`Storyshots Views / Orders / Order details no shipping address 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -104864,23 +105021,27 @@ exports[`Storyshots Views / Orders / Order details no shipping address 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -104891,23 +105052,27 @@ exports[`Storyshots Views / Orders / Order details no shipping address 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -104918,23 +105083,27 @@ exports[`Storyshots Views / Orders / Order details no shipping address 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -105015,23 +105184,27 @@ exports[`Storyshots Views / Orders / Order details no shipping address 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -106113,6 +106286,9 @@ exports[`Storyshots Views / Orders / Order details partially fulfilled 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -106512,23 +106692,27 @@ exports[`Storyshots Views / Orders / Order details partially fulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -106539,23 +106723,27 @@ exports[`Storyshots Views / Orders / Order details partially fulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -106566,23 +106754,27 @@ exports[`Storyshots Views / Orders / Order details partially fulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -106663,23 +106855,27 @@ exports[`Storyshots Views / Orders / Order details partially fulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -107761,6 +107957,9 @@ exports[`Storyshots Views / Orders / Order details payment confirmed 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -108160,23 +108363,27 @@ exports[`Storyshots Views / Orders / Order details payment confirmed 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -108187,23 +108394,27 @@ exports[`Storyshots Views / Orders / Order details payment confirmed 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -108214,23 +108425,27 @@ exports[`Storyshots Views / Orders / Order details payment confirmed 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -108311,23 +108526,27 @@ exports[`Storyshots Views / Orders / Order details payment confirmed 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -109409,6 +109628,9 @@ exports[`Storyshots Views / Orders / Order details payment error 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -109808,23 +110034,27 @@ exports[`Storyshots Views / Orders / Order details payment error 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -109835,23 +110065,27 @@ exports[`Storyshots Views / Orders / Order details payment error 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -109862,23 +110096,27 @@ exports[`Storyshots Views / Orders / Order details payment error 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -109959,23 +110197,27 @@ exports[`Storyshots Views / Orders / Order details payment error 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -111057,6 +111299,9 @@ exports[`Storyshots Views / Orders / Order details pending payment 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -111456,23 +111705,27 @@ exports[`Storyshots Views / Orders / Order details pending payment 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -111483,23 +111736,27 @@ exports[`Storyshots Views / Orders / Order details pending payment 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -111510,23 +111767,27 @@ exports[`Storyshots Views / Orders / Order details pending payment 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -111607,23 +111868,27 @@ exports[`Storyshots Views / Orders / Order details pending payment 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -112705,6 +112970,9 @@ exports[`Storyshots Views / Orders / Order details refunded payment 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -113104,23 +113376,27 @@ exports[`Storyshots Views / Orders / Order details refunded payment 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -113131,23 +113407,27 @@ exports[`Storyshots Views / Orders / Order details refunded payment 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -113158,23 +113438,27 @@ exports[`Storyshots Views / Orders / Order details refunded payment 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -113255,23 +113539,27 @@ exports[`Storyshots Views / Orders / Order details refunded payment 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -114353,6 +114641,9 @@ exports[`Storyshots Views / Orders / Order details rejected payment 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -114752,23 +115047,27 @@ exports[`Storyshots Views / Orders / Order details rejected payment 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -114779,23 +115078,27 @@ exports[`Storyshots Views / Orders / Order details rejected payment 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -114806,23 +115109,27 @@ exports[`Storyshots Views / Orders / Order details rejected payment 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -114903,23 +115210,27 @@ exports[`Storyshots Views / Orders / Order details rejected payment 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
@@ -116001,6 +116312,9 @@ exports[`Storyshots Views / Orders / Order details unfulfilled 1`] = ` +
- Payment was authorized -
-
- + Payment was authorized +
+
+ +
@@ -116400,23 +116718,27 @@ exports[`Storyshots Views / Orders / Order details unfulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Order refund information was sent to customer -
-
- + Order refund information was sent to customer +
+
+ +
@@ -116427,23 +116749,27 @@ exports[`Storyshots Views / Orders / Order details unfulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Order cancel information was sent to customer -
-
- + Order cancel information was sent to customer +
+
+ +
@@ -116454,23 +116780,27 @@ exports[`Storyshots Views / Orders / Order details unfulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Note from external service -
-
- + Note from external service +
+
+ +
@@ -116551,23 +116881,27 @@ exports[`Storyshots Views / Orders / Order details unfulfilled 1`] = ` class="TimelineEvent-dot-id" />
- Fulfilled 1 items -
-
- + Fulfilled 1 items +
+
+ +
diff --git a/src/storybook/stories/orders/OrderMarkAsPaidDialog.tsx b/src/storybook/stories/orders/OrderMarkAsPaidDialog.tsx index d8f7e1497..adc3589ee 100644 --- a/src/storybook/stories/orders/OrderMarkAsPaidDialog.tsx +++ b/src/storybook/stories/orders/OrderMarkAsPaidDialog.tsx @@ -10,9 +10,11 @@ import Decorator from "../../Decorator"; const props: OrderMarkAsPaidDialogProps = { confirmButtonState: "default", errors: [], + handleTransactionReference: () => undefined, onClose: () => undefined, onConfirm: () => undefined, - open: true + open: true, + transactionReference: "" }; storiesOf("Orders / OrderMarkAsPaidDialog", module)