@curless/agentbank-merchant-sdk 0.8.0 → 0.9.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.
@@ -50,6 +50,22 @@ export type OrderSummary = {
50
50
  count: number;
51
51
  }>;
52
52
  };
53
+ export type RefundRequestStatus = 'requested' | 'rejected' | 'approved' | 'refunded' | 'failed';
54
+ export type RefundRequest = {
55
+ id: string;
56
+ paymentIntentId: string;
57
+ curlessMerchantId: string;
58
+ mode: string;
59
+ amount: number;
60
+ currency: string;
61
+ reason?: string | null;
62
+ status: RefundRequestStatus;
63
+ curlessRef?: string | null;
64
+ decisionNote?: string | null;
65
+ createdAt: string;
66
+ updatedAt: string;
67
+ decidedAt?: string | null;
68
+ };
53
69
  export declare class OrdersResource {
54
70
  private readonly client;
55
71
  constructor(client: AgentbankMerchant);
@@ -62,5 +78,30 @@ export declare class OrdersResource {
62
78
  payment: unknown;
63
79
  }>;
64
80
  summary(filters?: Omit<OrderFilters, 'limit' | 'offset'>, merchantId?: string): Promise<OrderSummary>;
81
+ /** This merchant's refund queue (filter by status, e.g. 'requested'). */
82
+ listRefundRequests(filters?: {
83
+ status?: RefundRequestStatus;
84
+ }, merchantId?: string): Promise<{
85
+ merchantId: string;
86
+ mode: string;
87
+ refundRequests: RefundRequest[];
88
+ }>;
89
+ /** Approve a buyer's refund request → forwarded to Curless. */
90
+ approveRefund(refundRequestId: string, merchantId?: string): Promise<{
91
+ refundRequest: RefundRequest;
92
+ }>;
93
+ /** Reject a buyer's refund request (optional note). */
94
+ rejectRefund(refundRequestId: string, opts?: {
95
+ note?: string;
96
+ }, merchantId?: string): Promise<{
97
+ refundRequest: RefundRequest;
98
+ }>;
99
+ /** Merchant-initiated direct refund on an order (no buyer request needed). */
100
+ refund(orderId: string, opts?: {
101
+ amount?: number;
102
+ reason?: string;
103
+ }, merchantId?: string): Promise<{
104
+ refundRequest: RefundRequest;
105
+ }>;
65
106
  }
66
107
  //# sourceMappingURL=orders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/resources/orders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,iBAAiB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5F,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAKF,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEtD,OAAO,CAAC,QAAQ;IAWhB,IAAI,CAAC,OAAO,GAAE,YAAiB,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAQxF,GAAG,CACD,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAQxF,OAAO,CACL,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,QAAQ,CAAM,EACpD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC;CAOzB"}
1
+ {"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/resources/orders.ts"],"names":[],"mappings":"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"}
@@ -24,5 +24,24 @@ export class OrdersResource {
24
24
  summary(filters = {}, merchantId) {
25
25
  return this.client.request('GET', `/v1/merchant/${encodeURIComponent(this.merchant(merchantId))}/summary`, { query: filters });
26
26
  }
27
+ // --- Refunds --------------------------------------------------------------
28
+ // A buyer opens a refund request; the merchant works the queue here. Approve
29
+ // forwards it to Curless (the order flips to refunded once Curless confirms).
30
+ /** This merchant's refund queue (filter by status, e.g. 'requested'). */
31
+ listRefundRequests(filters = {}, merchantId) {
32
+ return this.client.request('GET', `/v1/merchant/${encodeURIComponent(this.merchant(merchantId))}/refund-requests`, { query: filters });
33
+ }
34
+ /** Approve a buyer's refund request → forwarded to Curless. */
35
+ approveRefund(refundRequestId, merchantId) {
36
+ return this.client.request('POST', `/v1/merchant/${encodeURIComponent(this.merchant(merchantId))}/refund-requests/${encodeURIComponent(refundRequestId)}/approve`);
37
+ }
38
+ /** Reject a buyer's refund request (optional note). */
39
+ rejectRefund(refundRequestId, opts = {}, merchantId) {
40
+ return this.client.request('POST', `/v1/merchant/${encodeURIComponent(this.merchant(merchantId))}/refund-requests/${encodeURIComponent(refundRequestId)}/reject`, { body: opts });
41
+ }
42
+ /** Merchant-initiated direct refund on an order (no buyer request needed). */
43
+ refund(orderId, opts = {}, merchantId) {
44
+ return this.client.request('POST', `/v1/merchant/${encodeURIComponent(this.merchant(merchantId))}/orders/${encodeURIComponent(orderId)}/refund`, { body: opts });
45
+ }
27
46
  }
28
47
  //# sourceMappingURL=orders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/resources/orders.ts"],"names":[],"mappings":"AA0CA,0EAA0E;AAC1E,mEAAmE;AACnE,yEAAyE;AACzE,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAElD,QAAQ,CAAC,UAAmB;QAClC,MAAM,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC,UAAwB,EAAE,EAAE,UAAmB;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,EACtE,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAED,GAAG,CACD,OAAe,EACf,UAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,CACtG,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,OAAO,CACL,UAAkD,EAAE,EACpD,UAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,UAAU,EACvE,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/resources/orders.ts"],"names":[],"mappings":"AA4DA,0EAA0E;AAC1E,mEAAmE;AACnE,yEAAyE;AACzE,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAElD,QAAQ,CAAC,UAAmB;QAClC,MAAM,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC,UAAwB,EAAE,EAAE,UAAmB;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,EACtE,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAED,GAAG,CACD,OAAe,EACf,UAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,CACtG,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,OAAO,CACL,UAAkD,EAAE,EACpD,UAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,UAAU,EACvE,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAE9E,yEAAyE;IACzE,kBAAkB,CAChB,UAA4C,EAAE,EAC9C,UAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAC/E,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,aAAa,CACX,eAAuB,EACvB,UAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,oBAAoB,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAC/H,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,YAAY,CACV,eAAuB,EACvB,OAA0B,EAAE,EAC5B,UAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,oBAAoB,kBAAkB,CAAC,eAAe,CAAC,SAAS,EAC7H,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,MAAM,CACJ,OAAe,EACf,OAA6C,EAAE,EAC/C,UAAmB;QAEnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAC5G,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curless/agentbank-merchant-sdk",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Merchant-side SDK for agentbank — accept agent payments: open a merchant-quoted card (ACP / UCP) or USDC (x402) checkout you price, list/summarize orders, PaymentIntents, edge-safe webhook verification, and x402 helpers.",
5
5
  "license": "MIT",
6
6
  "type": "module",