@openfacilitator/sdk 0.6.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -516,13 +516,9 @@ declare function createPaymentContext(settleResponse: {
516
516
  transaction: string;
517
517
  payer: string;
518
518
  network: string;
519
- }, paymentPayload: {
520
- payload: {
521
- authorization: {
522
- amount: string;
523
- asset: string;
524
- };
525
- };
519
+ }, paymentPayload: Record<string, unknown>, requirements?: {
520
+ maxAmountRequired?: string;
521
+ asset?: string;
526
522
  }): PaymentContext;
527
523
  interface PaymentMiddlewareConfig {
528
524
  /** Facilitator instance or URL */
package/dist/index.d.ts CHANGED
@@ -516,13 +516,9 @@ declare function createPaymentContext(settleResponse: {
516
516
  transaction: string;
517
517
  payer: string;
518
518
  network: string;
519
- }, paymentPayload: {
520
- payload: {
521
- authorization: {
522
- amount: string;
523
- asset: string;
524
- };
525
- };
519
+ }, paymentPayload: Record<string, unknown>, requirements?: {
520
+ maxAmountRequired?: string;
521
+ asset?: string;
526
522
  }): PaymentContext;
527
523
  interface PaymentMiddlewareConfig {
528
524
  /** Facilitator instance or URL */
package/dist/index.js CHANGED
@@ -559,12 +559,16 @@ function honoRefundMiddleware(config) {
559
559
  }
560
560
  };
561
561
  }
562
- function createPaymentContext(settleResponse, paymentPayload) {
562
+ function createPaymentContext(settleResponse, paymentPayload, requirements) {
563
+ const payload = paymentPayload.payload;
564
+ const authorization = payload?.authorization;
565
+ const amount = authorization?.amount || payload?.amount || requirements?.maxAmountRequired || "0";
566
+ const asset = authorization?.asset || payload?.asset || requirements?.asset || "";
563
567
  return {
564
568
  transactionHash: settleResponse.transaction,
565
569
  userWallet: settleResponse.payer,
566
- amount: paymentPayload.payload.authorization.amount,
567
- asset: paymentPayload.payload.authorization.asset,
570
+ amount,
571
+ asset,
568
572
  network: settleResponse.network
569
573
  };
570
574
  }
@@ -608,7 +612,8 @@ function createPaymentMiddleware(config) {
608
612
  }
609
613
  let paymentPayload;
610
614
  try {
611
- paymentPayload = JSON.parse(paymentString);
615
+ const decoded = Buffer.from(paymentString, "base64").toString("utf-8");
616
+ paymentPayload = JSON.parse(decoded);
612
617
  if (!isPaymentPayload(paymentPayload)) {
613
618
  throw new Error("Invalid payment payload structure");
614
619
  }
@@ -634,7 +639,7 @@ function createPaymentMiddleware(config) {
634
639
  });
635
640
  return;
636
641
  }
637
- const paymentContext = createPaymentContext(settleResult, paymentPayload);
642
+ const paymentContext = createPaymentContext(settleResult, paymentPayload, requirements);
638
643
  req.paymentContext = paymentContext;
639
644
  if (res.locals) {
640
645
  res.locals.paymentContext = paymentContext;
@@ -712,7 +717,8 @@ function honoPaymentMiddleware(config) {
712
717
  }
713
718
  let paymentPayload;
714
719
  try {
715
- paymentPayload = JSON.parse(paymentString);
720
+ const decoded = atob(paymentString);
721
+ paymentPayload = JSON.parse(decoded);
716
722
  if (!isPaymentPayload(paymentPayload)) {
717
723
  throw new Error("Invalid payment payload structure");
718
724
  }
@@ -735,7 +741,7 @@ function honoPaymentMiddleware(config) {
735
741
  reason: settleResult.errorReason
736
742
  }, 402);
737
743
  }
738
- const paymentContext = createPaymentContext(settleResult, paymentPayload);
744
+ const paymentContext = createPaymentContext(settleResult, paymentPayload, requirements);
739
745
  c.set("paymentContext", paymentContext);
740
746
  if (config.refundProtection) {
741
747
  const refundConfig = config.refundProtection;
package/dist/index.mjs CHANGED
@@ -508,12 +508,16 @@ function honoRefundMiddleware(config) {
508
508
  }
509
509
  };
510
510
  }
511
- function createPaymentContext(settleResponse, paymentPayload) {
511
+ function createPaymentContext(settleResponse, paymentPayload, requirements) {
512
+ const payload = paymentPayload.payload;
513
+ const authorization = payload?.authorization;
514
+ const amount = authorization?.amount || payload?.amount || requirements?.maxAmountRequired || "0";
515
+ const asset = authorization?.asset || payload?.asset || requirements?.asset || "";
512
516
  return {
513
517
  transactionHash: settleResponse.transaction,
514
518
  userWallet: settleResponse.payer,
515
- amount: paymentPayload.payload.authorization.amount,
516
- asset: paymentPayload.payload.authorization.asset,
519
+ amount,
520
+ asset,
517
521
  network: settleResponse.network
518
522
  };
519
523
  }
@@ -557,7 +561,8 @@ function createPaymentMiddleware(config) {
557
561
  }
558
562
  let paymentPayload;
559
563
  try {
560
- paymentPayload = JSON.parse(paymentString);
564
+ const decoded = Buffer.from(paymentString, "base64").toString("utf-8");
565
+ paymentPayload = JSON.parse(decoded);
561
566
  if (!isPaymentPayload(paymentPayload)) {
562
567
  throw new Error("Invalid payment payload structure");
563
568
  }
@@ -583,7 +588,7 @@ function createPaymentMiddleware(config) {
583
588
  });
584
589
  return;
585
590
  }
586
- const paymentContext = createPaymentContext(settleResult, paymentPayload);
591
+ const paymentContext = createPaymentContext(settleResult, paymentPayload, requirements);
587
592
  req.paymentContext = paymentContext;
588
593
  if (res.locals) {
589
594
  res.locals.paymentContext = paymentContext;
@@ -661,7 +666,8 @@ function honoPaymentMiddleware(config) {
661
666
  }
662
667
  let paymentPayload;
663
668
  try {
664
- paymentPayload = JSON.parse(paymentString);
669
+ const decoded = atob(paymentString);
670
+ paymentPayload = JSON.parse(decoded);
665
671
  if (!isPaymentPayload(paymentPayload)) {
666
672
  throw new Error("Invalid payment payload structure");
667
673
  }
@@ -684,7 +690,7 @@ function honoPaymentMiddleware(config) {
684
690
  reason: settleResult.errorReason
685
691
  }, 402);
686
692
  }
687
- const paymentContext = createPaymentContext(settleResult, paymentPayload);
693
+ const paymentContext = createPaymentContext(settleResult, paymentPayload, requirements);
688
694
  c.set("paymentContext", paymentContext);
689
695
  if (config.refundProtection) {
690
696
  const refundConfig = config.refundProtection;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfacilitator/sdk",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
4
4
  "description": "TypeScript SDK for x402 payment facilitation",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",