tantk commited on
Commit
3f34196
·
1 Parent(s): bc3d938

fix: debug logging for payment response header extraction

Browse files
Files changed (1) hide show
  1. server.js +17 -4
server.js CHANGED
@@ -38,11 +38,24 @@ function isAllowedUrl(urlStr) {
38
  // Extract payer from the PAYMENT-RESPONSE header (set by x402 after settlement)
39
  function getPayerFromSettlement(res) {
40
  try {
41
- const header = res.getHeader("PAYMENT-RESPONSE");
42
- if (!header) return null;
43
- const decoded = JSON.parse(Buffer.from(header, "base64").toString());
 
 
 
 
 
 
 
 
 
 
 
 
44
  return decoded?.payer || null;
45
- } catch {
 
46
  return null;
47
  }
48
  }
 
38
  // Extract payer from the PAYMENT-RESPONSE header (set by x402 after settlement)
39
  function getPayerFromSettlement(res) {
40
  try {
41
+ // Try multiple header name cases — Express normalizes to lowercase
42
+ const header =
43
+ res.getHeader("PAYMENT-RESPONSE") ||
44
+ res.getHeader("payment-response") ||
45
+ res.getHeader("Payment-Response");
46
+ if (!header) {
47
+ // Log all response headers for debugging
48
+ const allHeaders = res.getHeaders();
49
+ const paymentHeaders = Object.keys(allHeaders).filter(
50
+ (k) => k.toLowerCase().includes("payment"),
51
+ );
52
+ console.log("Payment-related response headers:", paymentHeaders);
53
+ return null;
54
+ }
55
+ const decoded = JSON.parse(Buffer.from(String(header), "base64").toString());
56
  return decoded?.payer || null;
57
+ } catch (err) {
58
+ console.error("Payer extraction from settlement failed:", err.message);
59
  return null;
60
  }
61
  }