moltspay 1.6.0 → 2.0.0

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.
Files changed (55) hide show
  1. package/README.md +1 -0
  2. package/dist/cdp/index.js.map +1 -1
  3. package/dist/cdp/index.mjs.map +1 -1
  4. package/dist/{cdp-DeohBe1o.d.ts → cdp-B5PhDUTC.d.ts} +1 -1
  5. package/dist/{cdp-p_eHuQpb.d.mts → cdp-D-5Hg3y_.d.mts} +1 -1
  6. package/dist/chains/index.d.mts +37 -1
  7. package/dist/chains/index.d.ts +37 -1
  8. package/dist/chains/index.js +22 -0
  9. package/dist/chains/index.js.map +1 -1
  10. package/dist/chains/index.mjs +19 -0
  11. package/dist/chains/index.mjs.map +1 -1
  12. package/dist/cli/index.js +1466 -61
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/index.mjs +1466 -61
  15. package/dist/cli/index.mjs.map +1 -1
  16. package/dist/client/index.d.mts +41 -0
  17. package/dist/client/index.d.ts +41 -0
  18. package/dist/client/index.js +824 -10
  19. package/dist/client/index.js.map +1 -1
  20. package/dist/client/index.mjs +824 -10
  21. package/dist/client/index.mjs.map +1 -1
  22. package/dist/client/web/index.d.mts +17 -1
  23. package/dist/client/web/index.mjs +11 -0
  24. package/dist/client/web/index.mjs.map +1 -1
  25. package/dist/facilitators/index.d.mts +161 -4
  26. package/dist/facilitators/index.d.ts +161 -4
  27. package/dist/facilitators/index.js +370 -0
  28. package/dist/facilitators/index.js.map +1 -1
  29. package/dist/facilitators/index.mjs +365 -0
  30. package/dist/facilitators/index.mjs.map +1 -1
  31. package/dist/index.d.mts +77 -2
  32. package/dist/index.d.ts +77 -2
  33. package/dist/index.js +1412 -31
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.mjs +1406 -31
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/mcp/index.js +828 -14
  38. package/dist/mcp/index.js.map +1 -1
  39. package/dist/mcp/index.mjs +828 -14
  40. package/dist/mcp/index.mjs.map +1 -1
  41. package/dist/{registry-OsEO2dOu.d.mts → registry-DIo0WNoO.d.mts} +8 -1
  42. package/dist/{registry-OsEO2dOu.d.ts → registry-DIo0WNoO.d.ts} +8 -1
  43. package/dist/server/index.d.mts +95 -2
  44. package/dist/server/index.d.ts +95 -2
  45. package/dist/server/index.js +554 -14
  46. package/dist/server/index.js.map +1 -1
  47. package/dist/server/index.mjs +554 -14
  48. package/dist/server/index.mjs.map +1 -1
  49. package/dist/verify/index.js.map +1 -1
  50. package/dist/verify/index.mjs.map +1 -1
  51. package/dist/wallet/index.js.map +1 -1
  52. package/dist/wallet/index.mjs.map +1 -1
  53. package/package.json +7 -1
  54. package/schemas/moltspay.services.schema.json +100 -6
  55. package/scripts/postinstall.js +91 -0
@@ -1,6 +1,6 @@
1
- import { B as BaseFacilitator, H as HealthCheckResult, X as X402PaymentPayload, f as X402PaymentRequirements, V as VerifyResult, e as SettleResult } from '../registry-OsEO2dOu.mjs';
2
- export { F as Facilitator, a as FacilitatorConfig, b as FacilitatorFee, c as FacilitatorRegistry, d as FacilitatorSelection, S as SelectionStrategy, g as createRegistry, h as getDefaultRegistry } from '../registry-OsEO2dOu.mjs';
3
- export { C as CDPFacilitator, a as CDPFacilitatorConfig } from '../cdp-p_eHuQpb.mjs';
1
+ import { B as BaseFacilitator, H as HealthCheckResult, X as X402PaymentPayload, a as X402PaymentRequirements, V as VerifyResult, S as SettleResult } from '../registry-DIo0WNoO.mjs';
2
+ export { c as Facilitator, F as FacilitatorConfig, b as FacilitatorFee, d as FacilitatorRegistry, e as FacilitatorSelection, f as SelectionStrategy, g as createRegistry, h as getDefaultRegistry } from '../registry-DIo0WNoO.mjs';
3
+ export { C as CDPFacilitator, a as CDPFacilitatorConfig } from '../cdp-D-5Hg3y_.mjs';
4
4
  import { Keypair, PublicKey, Connection, Transaction } from '@solana/web3.js';
5
5
 
6
6
  /**
@@ -267,4 +267,161 @@ declare class SolanaFacilitator extends BaseFacilitator {
267
267
  */
268
268
  declare function createSolanaPaymentTransaction(senderPubkey: PublicKey, recipientPubkey: PublicKey, amount: bigint, chain: SolanaChainName, feePayerPubkey?: PublicKey, connection?: Connection): Promise<Transaction>;
269
269
 
270
- export { BNBFacilitator, type BNBPaymentIntent, BaseFacilitator, HealthCheckResult, SettleResult, SolanaFacilitator, type SolanaPaymentPayload, TempoFacilitator, VerifyResult, X402PaymentPayload, X402PaymentRequirements, createIntentTypedData, createSolanaPaymentTransaction };
270
+ /**
271
+ * Alipay AI 收 Facilitator (2.0.0)
272
+ *
273
+ * Implements the `Facilitator` interface for Alipay's 智能收 (AI Pay) 402
274
+ * protocol. Adds a fiat rail (CNY) alongside the existing USDC/EVM/SVM
275
+ * rails. Server-side only; clients shell out to the `alipay-bot` CLI
276
+ * (see `AlipayClient` under `src/client/alipay/` in 1.7.0-rc.2).
277
+ *
278
+ * Key protocol differences from x402:
279
+ * - Wire challenge is Base64URL-encoded `Payment-Needed` header with
280
+ * nested `{protocol, method}` JSON (not flat `accepts[]`).
281
+ * - Amount unit is **元** (CNY decimal string, not atomic units).
282
+ * - Signature is RSA2 (SHA256WithRSA), not EIP-712 / EIP-3009.
283
+ * - Verify/settle hit Alipay Open API HTTP endpoints, not chain RPC.
284
+ *
285
+ * The server emits **both** `X-Payment-Required` and `Payment-Needed`
286
+ * headers so that legacy `alipay-bot` skills (`@alipay/agent-payment@1.0.9`)
287
+ * keep working without changes.
288
+ *
289
+ * @see ../../docs/ALIPAY-RAIL.md — end-user integration guide
290
+ * @see ../../docs/ALIPAY-INTEGRATION-DESIGN.md — architecture & decisions
291
+ * @see ../../docs/ALIPAY-INTEGRATION-PLAN.md — implementation milestones
292
+ *
293
+ * Stub for 1.7.0-rc.1; bodies tracked in ALIPAY-INTEGRATION-PLAN.md §1.
294
+ */
295
+
296
+ /** Network identifier exposed via `Facilitator.supportedNetworks`. */
297
+ declare const ALIPAY_NETWORK = "alipay";
298
+ /** x402 `scheme` string identifying the Alipay rail in `accepts[]`. */
299
+ declare const ALIPAY_SCHEME = "alipay-aipay";
300
+ /** Default production gateway URL. */
301
+ declare const ALIPAY_GATEWAY_PROD = "https://openapi.alipay.com/gateway.do";
302
+ /** Sandbox gateway URL (for testing without real CNY). */
303
+ declare const ALIPAY_GATEWAY_SANDBOX = "https://openapi.alipaydev.com/gateway.do";
304
+ /**
305
+ * Facilitator-level configuration sourced from `provider.alipay` in
306
+ * `moltspay.services.json`. The server resolves `private_key_path` and
307
+ * `alipay_public_key_path` to PEM strings before constructing the facilitator.
308
+ */
309
+ interface AlipayFacilitatorConfig {
310
+ /** Merchant Alipay ID (16 digits, e.g. `"2088641494699428"`). */
311
+ seller_id: string;
312
+ /** Application ID from Alipay Open Platform. */
313
+ app_id: string;
314
+ /** Merchant legal name; appears in `method.seller_name` of the 402 challenge. */
315
+ seller_name: string;
316
+ /** Fallback `service_id` when a service doesn't override it. */
317
+ service_id_default: string;
318
+ /** RSA2 merchant private key (PEM). Loaded from `private_key_path` by the server. */
319
+ private_key_pem: string;
320
+ /** Alipay platform public key (PEM). Loaded from `alipay_public_key_path` by the server. */
321
+ alipay_public_key_pem: string;
322
+ /** Open API gateway URL. Defaults to {@link ALIPAY_GATEWAY_PROD}. */
323
+ gateway_url?: string;
324
+ /** Signature algorithm. Only `RSA2` is supported. */
325
+ sign_type?: 'RSA2';
326
+ }
327
+ /**
328
+ * Inputs required to construct a 402 `Payment-Needed` challenge for a service.
329
+ */
330
+ interface CreatePaymentRequirementsOpts {
331
+ /** Per-service Alipay `service_id` (overrides `provider.alipay.service_id_default`). */
332
+ serviceId: string;
333
+ /** CNY price as decimal string in **元** (e.g. `"1.00"` = 1 CNY). */
334
+ priceCny: string;
335
+ /** Goods name shown to the user in the Alipay app. */
336
+ goodsName: string;
337
+ /** Resource identifier (typically the request URL or its hash). */
338
+ resourceId: string;
339
+ /** Client-supplied `out_trade_no`; if omitted the facilitator generates one. */
340
+ outTradeNo?: string;
341
+ }
342
+ /**
343
+ * Both headers the server emits in a 402 response:
344
+ * - `x402Accepts` → `X-Payment-Required` (x402 standard, for new MoltsPay clients)
345
+ * - `paymentNeededHeader` → `Payment-Needed` (Alipay standard, for legacy `alipay-bot`)
346
+ *
347
+ * The two headers are mirrors of each other; the single source of truth lives
348
+ * in the server config.
349
+ */
350
+ interface AlipayPaymentRequirements {
351
+ x402Accepts: X402PaymentRequirements;
352
+ paymentNeededHeader: string;
353
+ }
354
+ /**
355
+ * Decoded `Payment-Proof` header from the buyer's request.
356
+ *
357
+ * The proof is Base64URL of `{protocol: {...}, method: {...}}` where:
358
+ * - `protocol.trade_no` is the 32-digit Alipay trade number
359
+ * - `protocol.payment_proof` is the RSA2-signed payment proof
360
+ * - `method.client_session` echoes the buyer's session for replay protection
361
+ */
362
+ interface AlipayPaymentProof {
363
+ protocol: {
364
+ payment_proof: string;
365
+ trade_no: string;
366
+ [k: string]: unknown;
367
+ };
368
+ method: {
369
+ client_session: string;
370
+ [k: string]: unknown;
371
+ };
372
+ }
373
+ /**
374
+ * Alipay AI 收 facilitator.
375
+ *
376
+ * Construction is cheap; expensive setup (key parsing, gateway probe) is
377
+ * deferred to `healthCheck()`.
378
+ */
379
+ declare class AlipayFacilitator extends BaseFacilitator {
380
+ readonly name = "alipay";
381
+ readonly displayName = "Alipay AI \u6536";
382
+ readonly supportedNetworks: string[];
383
+ private readonly config;
384
+ constructor(config: AlipayFacilitatorConfig);
385
+ /**
386
+ * Build the 402 challenge for a service: signs the 8-field payload with
387
+ * RSA2, packages the nested `{protocol, method}` JSON as Base64URL for
388
+ * `Payment-Needed`, and emits the parallel x402 `accepts[]` entry.
389
+ */
390
+ createPaymentRequirements(opts: CreatePaymentRequirementsOpts): Promise<AlipayPaymentRequirements>;
391
+ /**
392
+ * Verify a `Payment-Proof` by calling
393
+ * `alipay.aipay.agent.payment.verify` against the Alipay Open API.
394
+ *
395
+ * The proof is conveyed via `paymentPayload.payload`, which may be:
396
+ * - a raw Base64URL string (the `Payment-Proof` header value), or
397
+ * - an object `{ paymentProof: string }` / `{ proofHeader: string }`.
398
+ *
399
+ * All failure modes (malformed payload, network errors, Alipay
400
+ * `code != 10000`) return `{ valid: false, error }`. No exception
401
+ * escapes, regardless of client-supplied input.
402
+ */
403
+ verify(paymentPayload: X402PaymentPayload, _requirements: X402PaymentRequirements): Promise<VerifyResult>;
404
+ /**
405
+ * Settle by calling `alipay.aipay.agent.fulfillment.confirm` after the
406
+ * service resource has been returned to the buyer.
407
+ *
408
+ * Per the design (see ALIPAY-INTEGRATION-DESIGN.md §5.1, risk row
409
+ * "履约确认失败"), this is **fire-and-forget**: the caller (registry /
410
+ * server) is expected to log fulfillment failures but NOT roll back
411
+ * the already-delivered resource.
412
+ *
413
+ * Re-decodes `paymentPayload.payload` to extract `trade_no` (verify
414
+ * does the same; the redundant Base64URL decode is negligible).
415
+ */
416
+ settle(paymentPayload: X402PaymentPayload, _requirements: X402PaymentRequirements): Promise<SettleResult>;
417
+ /**
418
+ * Validate that the configured RSA keys parse and that the Open API
419
+ * gateway is reachable. Does NOT make a real business API call (would
420
+ * burn quota and could appear as a legitimate verify attempt in logs).
421
+ */
422
+ healthCheck(): Promise<HealthCheckResult>;
423
+ /** Bundle the facilitator config into the shape openapi.ts wants. */
424
+ private getOpenApiConfig;
425
+ }
426
+
427
+ export { ALIPAY_GATEWAY_PROD, ALIPAY_GATEWAY_SANDBOX, ALIPAY_NETWORK, ALIPAY_SCHEME, AlipayFacilitator, type AlipayFacilitatorConfig, type AlipayPaymentProof, type AlipayPaymentRequirements, BNBFacilitator, type BNBPaymentIntent, BaseFacilitator, type CreatePaymentRequirementsOpts, HealthCheckResult, SettleResult, SolanaFacilitator, type SolanaPaymentPayload, TempoFacilitator, VerifyResult, X402PaymentPayload, X402PaymentRequirements, createIntentTypedData, createSolanaPaymentTransaction };
@@ -1,6 +1,6 @@
1
- import { B as BaseFacilitator, H as HealthCheckResult, X as X402PaymentPayload, f as X402PaymentRequirements, V as VerifyResult, e as SettleResult } from '../registry-OsEO2dOu.js';
2
- export { F as Facilitator, a as FacilitatorConfig, b as FacilitatorFee, c as FacilitatorRegistry, d as FacilitatorSelection, S as SelectionStrategy, g as createRegistry, h as getDefaultRegistry } from '../registry-OsEO2dOu.js';
3
- export { C as CDPFacilitator, a as CDPFacilitatorConfig } from '../cdp-DeohBe1o.js';
1
+ import { B as BaseFacilitator, H as HealthCheckResult, X as X402PaymentPayload, a as X402PaymentRequirements, V as VerifyResult, S as SettleResult } from '../registry-DIo0WNoO.js';
2
+ export { c as Facilitator, F as FacilitatorConfig, b as FacilitatorFee, d as FacilitatorRegistry, e as FacilitatorSelection, f as SelectionStrategy, g as createRegistry, h as getDefaultRegistry } from '../registry-DIo0WNoO.js';
3
+ export { C as CDPFacilitator, a as CDPFacilitatorConfig } from '../cdp-B5PhDUTC.js';
4
4
  import { Keypair, PublicKey, Connection, Transaction } from '@solana/web3.js';
5
5
 
6
6
  /**
@@ -267,4 +267,161 @@ declare class SolanaFacilitator extends BaseFacilitator {
267
267
  */
268
268
  declare function createSolanaPaymentTransaction(senderPubkey: PublicKey, recipientPubkey: PublicKey, amount: bigint, chain: SolanaChainName, feePayerPubkey?: PublicKey, connection?: Connection): Promise<Transaction>;
269
269
 
270
- export { BNBFacilitator, type BNBPaymentIntent, BaseFacilitator, HealthCheckResult, SettleResult, SolanaFacilitator, type SolanaPaymentPayload, TempoFacilitator, VerifyResult, X402PaymentPayload, X402PaymentRequirements, createIntentTypedData, createSolanaPaymentTransaction };
270
+ /**
271
+ * Alipay AI 收 Facilitator (2.0.0)
272
+ *
273
+ * Implements the `Facilitator` interface for Alipay's 智能收 (AI Pay) 402
274
+ * protocol. Adds a fiat rail (CNY) alongside the existing USDC/EVM/SVM
275
+ * rails. Server-side only; clients shell out to the `alipay-bot` CLI
276
+ * (see `AlipayClient` under `src/client/alipay/` in 1.7.0-rc.2).
277
+ *
278
+ * Key protocol differences from x402:
279
+ * - Wire challenge is Base64URL-encoded `Payment-Needed` header with
280
+ * nested `{protocol, method}` JSON (not flat `accepts[]`).
281
+ * - Amount unit is **元** (CNY decimal string, not atomic units).
282
+ * - Signature is RSA2 (SHA256WithRSA), not EIP-712 / EIP-3009.
283
+ * - Verify/settle hit Alipay Open API HTTP endpoints, not chain RPC.
284
+ *
285
+ * The server emits **both** `X-Payment-Required` and `Payment-Needed`
286
+ * headers so that legacy `alipay-bot` skills (`@alipay/agent-payment@1.0.9`)
287
+ * keep working without changes.
288
+ *
289
+ * @see ../../docs/ALIPAY-RAIL.md — end-user integration guide
290
+ * @see ../../docs/ALIPAY-INTEGRATION-DESIGN.md — architecture & decisions
291
+ * @see ../../docs/ALIPAY-INTEGRATION-PLAN.md — implementation milestones
292
+ *
293
+ * Stub for 1.7.0-rc.1; bodies tracked in ALIPAY-INTEGRATION-PLAN.md §1.
294
+ */
295
+
296
+ /** Network identifier exposed via `Facilitator.supportedNetworks`. */
297
+ declare const ALIPAY_NETWORK = "alipay";
298
+ /** x402 `scheme` string identifying the Alipay rail in `accepts[]`. */
299
+ declare const ALIPAY_SCHEME = "alipay-aipay";
300
+ /** Default production gateway URL. */
301
+ declare const ALIPAY_GATEWAY_PROD = "https://openapi.alipay.com/gateway.do";
302
+ /** Sandbox gateway URL (for testing without real CNY). */
303
+ declare const ALIPAY_GATEWAY_SANDBOX = "https://openapi.alipaydev.com/gateway.do";
304
+ /**
305
+ * Facilitator-level configuration sourced from `provider.alipay` in
306
+ * `moltspay.services.json`. The server resolves `private_key_path` and
307
+ * `alipay_public_key_path` to PEM strings before constructing the facilitator.
308
+ */
309
+ interface AlipayFacilitatorConfig {
310
+ /** Merchant Alipay ID (16 digits, e.g. `"2088641494699428"`). */
311
+ seller_id: string;
312
+ /** Application ID from Alipay Open Platform. */
313
+ app_id: string;
314
+ /** Merchant legal name; appears in `method.seller_name` of the 402 challenge. */
315
+ seller_name: string;
316
+ /** Fallback `service_id` when a service doesn't override it. */
317
+ service_id_default: string;
318
+ /** RSA2 merchant private key (PEM). Loaded from `private_key_path` by the server. */
319
+ private_key_pem: string;
320
+ /** Alipay platform public key (PEM). Loaded from `alipay_public_key_path` by the server. */
321
+ alipay_public_key_pem: string;
322
+ /** Open API gateway URL. Defaults to {@link ALIPAY_GATEWAY_PROD}. */
323
+ gateway_url?: string;
324
+ /** Signature algorithm. Only `RSA2` is supported. */
325
+ sign_type?: 'RSA2';
326
+ }
327
+ /**
328
+ * Inputs required to construct a 402 `Payment-Needed` challenge for a service.
329
+ */
330
+ interface CreatePaymentRequirementsOpts {
331
+ /** Per-service Alipay `service_id` (overrides `provider.alipay.service_id_default`). */
332
+ serviceId: string;
333
+ /** CNY price as decimal string in **元** (e.g. `"1.00"` = 1 CNY). */
334
+ priceCny: string;
335
+ /** Goods name shown to the user in the Alipay app. */
336
+ goodsName: string;
337
+ /** Resource identifier (typically the request URL or its hash). */
338
+ resourceId: string;
339
+ /** Client-supplied `out_trade_no`; if omitted the facilitator generates one. */
340
+ outTradeNo?: string;
341
+ }
342
+ /**
343
+ * Both headers the server emits in a 402 response:
344
+ * - `x402Accepts` → `X-Payment-Required` (x402 standard, for new MoltsPay clients)
345
+ * - `paymentNeededHeader` → `Payment-Needed` (Alipay standard, for legacy `alipay-bot`)
346
+ *
347
+ * The two headers are mirrors of each other; the single source of truth lives
348
+ * in the server config.
349
+ */
350
+ interface AlipayPaymentRequirements {
351
+ x402Accepts: X402PaymentRequirements;
352
+ paymentNeededHeader: string;
353
+ }
354
+ /**
355
+ * Decoded `Payment-Proof` header from the buyer's request.
356
+ *
357
+ * The proof is Base64URL of `{protocol: {...}, method: {...}}` where:
358
+ * - `protocol.trade_no` is the 32-digit Alipay trade number
359
+ * - `protocol.payment_proof` is the RSA2-signed payment proof
360
+ * - `method.client_session` echoes the buyer's session for replay protection
361
+ */
362
+ interface AlipayPaymentProof {
363
+ protocol: {
364
+ payment_proof: string;
365
+ trade_no: string;
366
+ [k: string]: unknown;
367
+ };
368
+ method: {
369
+ client_session: string;
370
+ [k: string]: unknown;
371
+ };
372
+ }
373
+ /**
374
+ * Alipay AI 收 facilitator.
375
+ *
376
+ * Construction is cheap; expensive setup (key parsing, gateway probe) is
377
+ * deferred to `healthCheck()`.
378
+ */
379
+ declare class AlipayFacilitator extends BaseFacilitator {
380
+ readonly name = "alipay";
381
+ readonly displayName = "Alipay AI \u6536";
382
+ readonly supportedNetworks: string[];
383
+ private readonly config;
384
+ constructor(config: AlipayFacilitatorConfig);
385
+ /**
386
+ * Build the 402 challenge for a service: signs the 8-field payload with
387
+ * RSA2, packages the nested `{protocol, method}` JSON as Base64URL for
388
+ * `Payment-Needed`, and emits the parallel x402 `accepts[]` entry.
389
+ */
390
+ createPaymentRequirements(opts: CreatePaymentRequirementsOpts): Promise<AlipayPaymentRequirements>;
391
+ /**
392
+ * Verify a `Payment-Proof` by calling
393
+ * `alipay.aipay.agent.payment.verify` against the Alipay Open API.
394
+ *
395
+ * The proof is conveyed via `paymentPayload.payload`, which may be:
396
+ * - a raw Base64URL string (the `Payment-Proof` header value), or
397
+ * - an object `{ paymentProof: string }` / `{ proofHeader: string }`.
398
+ *
399
+ * All failure modes (malformed payload, network errors, Alipay
400
+ * `code != 10000`) return `{ valid: false, error }`. No exception
401
+ * escapes, regardless of client-supplied input.
402
+ */
403
+ verify(paymentPayload: X402PaymentPayload, _requirements: X402PaymentRequirements): Promise<VerifyResult>;
404
+ /**
405
+ * Settle by calling `alipay.aipay.agent.fulfillment.confirm` after the
406
+ * service resource has been returned to the buyer.
407
+ *
408
+ * Per the design (see ALIPAY-INTEGRATION-DESIGN.md §5.1, risk row
409
+ * "履约确认失败"), this is **fire-and-forget**: the caller (registry /
410
+ * server) is expected to log fulfillment failures but NOT roll back
411
+ * the already-delivered resource.
412
+ *
413
+ * Re-decodes `paymentPayload.payload` to extract `trade_no` (verify
414
+ * does the same; the redundant Base64URL decode is negligible).
415
+ */
416
+ settle(paymentPayload: X402PaymentPayload, _requirements: X402PaymentRequirements): Promise<SettleResult>;
417
+ /**
418
+ * Validate that the configured RSA keys parse and that the Open API
419
+ * gateway is reachable. Does NOT make a real business API call (would
420
+ * burn quota and could appear as a legitimate verify attempt in logs).
421
+ */
422
+ healthCheck(): Promise<HealthCheckResult>;
423
+ /** Bundle the facilitator config into the shape openapi.ts wants. */
424
+ private getOpenApiConfig;
425
+ }
426
+
427
+ export { ALIPAY_GATEWAY_PROD, ALIPAY_GATEWAY_SANDBOX, ALIPAY_NETWORK, ALIPAY_SCHEME, AlipayFacilitator, type AlipayFacilitatorConfig, type AlipayPaymentProof, type AlipayPaymentRequirements, BNBFacilitator, type BNBPaymentIntent, BaseFacilitator, type CreatePaymentRequirementsOpts, HealthCheckResult, SettleResult, SolanaFacilitator, type SolanaPaymentPayload, TempoFacilitator, VerifyResult, X402PaymentPayload, X402PaymentRequirements, createIntentTypedData, createSolanaPaymentTransaction };