Skip to main content

Custom Order Statuses

Scottsdale Mint extends WooCommerce's default order status set with several custom statuses to accurately represent the payment and fulfillment lifecycle for precious metals orders.


Default WooCommerce Statuses (Reference)โ€‹

StatusIDDescription
Pending Paymentwc-pendingOrder received, no payment started
Processingwc-processingPayment received, fulfillment in progress
On Holdwc-on-holdAwaiting payment confirmation or review
Completedwc-completedOrder fully fulfilled and shipped
Cancelledwc-cancelledOrder cancelled
Refundedwc-refundedOrder refunded
Failedwc-failedPayment failed

Custom Statuses Addedโ€‹

Custom order statuses are registered by the suma-woo-order-tracking plugin.

wc-pending-ach โ€” Pending ACHโ€‹

PropertyValue
LabelPending ACH
ColorOrange
TriggerACH debit submitted to iTransact
Next Statuswc-processing (on settlement webhook) or wc-payment-declined (on returned ACH)
FulfillmentBlocked โ€” no shipment until full settlement
Customer Facing"Your payment is being processed through your bank (ACH), which takes 3โ€“5 business days."

wc-partially-paid โ€” Partially Paidโ€‹

PropertyValue
LabelPartially Paid
ColorBlue
TriggerBank wire order; 5% CC deposit collected
Next Statuswc-processing (when admin marks wire received)
FulfillmentBlocked โ€” no shipment until wire is confirmed
Customer Facing"We've received your 5% deposit. Your order will ship once your wire transfer has been received."

wc-payment-declined โ€” Payment Declinedโ€‹

PropertyValue
LabelPayment Declined
ColorRed
TriggerCard declined, ACH returned, fraud rejection
Next Statuswc-cancelled or re-attempt from admin
FulfillmentBlocked
Customer Facing"Your payment was declined. Please contact us or try a different payment method."

wc-pending-crypto โ€” Pending Cryptoโ€‹

PropertyValue
LabelPending Crypto
ColorPurple
TriggerCrypto payment address generated; awaiting transaction
Next Statuswc-processing (on blockchain confirmation) or wc-cancelled (payment window expired)
FulfillmentBlocked โ€” no shipment until confirmations received
Customer Facing"Waiting for your cryptocurrency payment to be confirmed on the blockchain."

wc-kyc-pending โ€” KYC Pendingโ€‹

PropertyValue
LabelKYC Pending
ColorYellow
TriggerHigh-value order placed by unverified customer
Next Statuswc-processing (KYC approved) or wc-cancelled (rejected)
FulfillmentBlocked
Customer Facing"Your order requires identity verification. Please check your email for next steps."

wc-awaiting-shipment โ€” Awaiting Shipmentโ€‹

PropertyValue
LabelAwaiting Shipment
ColorGreen
TriggerPayment confirmed; order ready for ShipStation/FedEx
Next Statuswc-completed (tracking number added via ShipStation webhook)
FulfillmentActive โ€” order queued for packing and shipping

Registration Codeโ€‹

// In suma-woo-order-tracking/includes/class-order-statuses.php

add_action( 'init', function() {
register_post_status( 'wc-pending-ach', [
'label' => 'Pending ACH',
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Pending ACH <span class="count">(%s)</span>', 'Pending ACH <span class="count">(%s)</span>' ),
] );
// ... other statuses
} );

// Register with WooCommerce
add_filter( 'wc_order_statuses', function( array $statuses ): array {
$statuses['wc-pending-ach'] = 'Pending ACH';
$statuses['wc-partially-paid'] = 'Partially Paid';
// ... other statuses
return $statuses;
} );

Order Status Flow Diagramโ€‹

wc-pending
โ”‚
โ”œโ”€โ”€[Card Payment]โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ wc-processing โ”€โ”€โ–บ wc-completed
โ”‚ โ–ฒ
โ”œโ”€โ”€[ACH Payment]โ”€โ”€โ–บ wc-pending-ach โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ”‚
โ”œโ”€โ”€[Bank Wire]โ”€โ”€โ”€โ”€โ”€โ”€โ–บ wc-partially-paid โ”€โ”€โ”ค
โ”‚ โ”‚
โ”œโ”€โ”€[Crypto]โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ wc-pending-crypto โ”€โ”€โ”ค
โ”‚ โ”‚
โ”œโ”€โ”€[KYC Required]โ”€โ”€โ–บ wc-kyc-pending โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚
โ””โ”€โ”€[Payment Failed]โ”€โ”€โ–บ wc-payment-declined โ”€โ”€โ–บ wc-cancelled

Admin: Filtering by Custom Statusโ€‹

All custom statuses appear in the WooCommerce Orders list with status color indicators. Admin users can filter orders by these statuses using the built-in WooCommerce order list filters.