cXML PunchOut Mock Supplier

Drop-in punchout supplier for testing the buyer-side cXML flow. No database — all state is stored in JSON files.

Connect this in Prendio (tblpunchoutsuppliers)

Prendio fieldValue
Punchout_URL (setup endpoint)https://punchout.mocked.site/setup
From_Domain (buyer)NetworkID
From_Identity (buyer)BIOPROCURE
From_Shared_Secret (buyer)prendio-punchout-secret-change-me
To_Domain (this supplier)DUNS
To_Identity (this supplier)987654321
Credential checkENFORCED
Checkout form fieldcxml-base64 · base64 · root <cXML>

Flow: Prendio POSTs a PunchOutSetupRequest to the setup URL → mock replies with a StartPage → shopper edits the cart → checkout posts a PunchOutOrderMessage back to the buyer's BrowserFormPost URL.

TLS cipher check (supplier deprecation)

A supplier is dropping TLS_RSA_WITH_AES_128_GCM_SHA256 after 2026-07-31. To confirm what Prendio's production JVM negotiates, point a test punchout supplier's Punchout_URL at https://punchout.mocked.site/setup and run a punchout — the cipher is captured in the request log below. Or hit the probe endpoint directly from the prod host.

Probe endpoint https://punchout.mocked.site/tls.php · open · JSON
This page's handshake Supported cipher TLS_AES_256_GCM_SHA384 (TLSv1.3)
Supported ciphers after the deadline
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

Credentials & checkout settings

Buyer credential (what Prendio sends & the mock validates)

Supplier credential (this mock; echoed in the order message)

Checkout / form post

Saved to data/config.json.

Sample catalog (5)

Part #DescriptionShort name UOMPriceUNSPSC Mfr nameMfr part

PunchOut sessions (0)

No sessions yet. They appear when Prendio POSTs a PunchOutSetupRequest.

Request log (41 most recent, max 300)

TimeKindPathAuthStatusTLSDetail
2026-08-16 13:26:36 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_256_GCM_SHA384
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Accept: */*
Request:
TLS probe from 216.73.216.128 (Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com))
Response:
ALLOWED: TLS_AES_256_GCM_SHA384
2026-08-16 13:25:39 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_256_GCM_SHA384
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Accept: */*
Request:
TLS probe from 216.73.216.128 (Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com))
Response:
ALLOWED: TLS_AES_256_GCM_SHA384
2026-08-16 13:24:05 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_256_GCM_SHA384
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Accept: */*
Request:
TLS probe from 216.73.216.128 (Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com))
Response:
ALLOWED: TLS_AES_256_GCM_SHA384
2026-08-16 13:22:57 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_256_GCM_SHA384
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Accept: */*
Request:
TLS probe from 216.73.216.128 (Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com))
Response:
ALLOWED: TLS_AES_256_GCM_SHA384
2026-08-16 04:11:09 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-15 06:55:30 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-14 04:34:29 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-13 03:48:02 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-12 09:56:21 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-11 12:56:27 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-10 11:17:43 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-09 06:15:43 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-08 02:40:01 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-07 03:43:00 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-06 13:59:23 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_256_GCM_SHA384
User-Agent: Mozilla/5.0 (compatible; OAI-SearchBot/1.3; +https://openai.com/searchbot)
Accept: */*
Request:
TLS probe from 195.170.172.138 (Mozilla/5.0 (compatible; OAI-SearchBot/1.3; +https://openai.com/searchbot))
Response:
ALLOWED: TLS_AES_256_GCM_SHA384
2026-08-06 12:33:58 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-05 03:17:46 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-04 11:53:18 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-03 09:21:35 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-02 05:27:41 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-08-01 04:30:26 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-31 00:08:21 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-30 12:03:53 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-29 08:59:54 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-28 06:21:40 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-27 07:49:52 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-26 11:18:50 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-25 08:55:46 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-24 10:18:19 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-23 06:52:28 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-22 06:46:03 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-21 07:46:42 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-20 13:02:23 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-20 01:30:46 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_256_GCM_SHA384
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36
Accept: */*
Request:
TLS probe from 2602:fa5d::90 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36)
Response:
ALLOWED: TLS_AES_256_GCM_SHA384
2026-07-20 01:30:43 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_256_GCM_SHA384
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36
Accept: */*
Request:
TLS probe from 2602:fa5d::90 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36)
Response:
ALLOWED: TLS_AES_256_GCM_SHA384
2026-07-19 07:54:05 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-18 10:41:30 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-17 13:00:21 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-16 02:32:06 SETUP / Not a setup request 404 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.3 · Cipher: TLS_AES_128_GCM_SHA256
Accept: (none)
Request:
              
Response:
Not found
2026-07-15 16:56:23 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.2 · Cipher: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (ECDHE-ECDSA-AES128-GCM-SHA256)
User-Agent: Java/1.8.0_161
Accept: text/xml, application/xml, */*
Request:
TLS probe from 35.168.76.68 (Java/1.8.0_161)
Response:
ALLOWED: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
2026-07-15 16:52:49 TLS /tls.php OK 200 ALLOWED
view
TLS: Supported cipher
Protocol: TLSv1.2 · Cipher: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (ECDHE-ECDSA-AES128-GCM-SHA256)
User-Agent: Java/1.8.0_161
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Request:
TLS probe from 35.168.76.68 (Java/1.8.0_161)
Response:
ALLOWED: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256